mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-06-13 07:51:02 +00:00
Add SimpleHeader to all screens and fix Connect Wallet
- Enable SimpleHeader with back button for all 27+ screens - Fix Connect Wallet: check if accounts exist, navigate to WalletSetup if not - Use Kurdish (Kurmanci) for alert messages instead of Turkish - DashboardScreen: use handleConnectWallet with proper logic - AppsScreen: same connect wallet logic as ReferralScreen
This commit is contained in:
@@ -72,7 +72,7 @@ const CATEGORIES: { name: CategoryType; icon: string }[] = [
|
||||
|
||||
const AppsScreen: React.FC = () => {
|
||||
const navigation = useNavigation<any>();
|
||||
const { selectedAccount, connectWallet } = usePezkuwi();
|
||||
const { selectedAccount, accounts, connectWallet } = usePezkuwi();
|
||||
const isConnected = !!selectedAccount;
|
||||
|
||||
const [searchQuery, setSearchQuery] = useState('');
|
||||
@@ -94,12 +94,18 @@ const AppsScreen: React.FC = () => {
|
||||
});
|
||||
|
||||
const handleConnectWallet = async () => {
|
||||
// If no wallets exist, navigate to wallet setup first
|
||||
if (accounts.length === 0) {
|
||||
navigation.navigate('WalletSetup');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
await connectWallet();
|
||||
Alert.alert('Connected', 'Your wallet has been connected successfully!');
|
||||
Alert.alert('Girêdayî / Connected', 'Cîzdanê te bi serkeftî girêdayî bû!\nYour wallet has been connected successfully!');
|
||||
} catch (error) {
|
||||
if (__DEV__) console.error('Wallet connection error:', error);
|
||||
Alert.alert('Error', 'Failed to connect wallet. Please try again.');
|
||||
Alert.alert('Çewtî / Error', 'Cîzdan nehat girêdan. Dîsa biceribîne.\nFailed to connect wallet. Please try again.');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ interface DashboardScreenProps {}
|
||||
const DashboardScreen: React.FC<DashboardScreenProps> = () => {
|
||||
const navigation = useNavigation<NavigationProp<BottomTabParamList & RootStackParamList>>();
|
||||
const { user } = useAuth();
|
||||
const { api, isApiReady, selectedAccount } = usePezkuwi();
|
||||
const { api, isApiReady, selectedAccount, accounts, connectWallet } = usePezkuwi();
|
||||
const [profileData, setProfileData] = useState<any>(null);
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [avatarModalVisible, setAvatarModalVisible] = useState(false);
|
||||
@@ -167,6 +167,21 @@ const DashboardScreen: React.FC<DashboardScreenProps> = () => {
|
||||
|
||||
// Check if user is a visitor (default when no blockchain wallet or no tikis)
|
||||
const isVisitor = !selectedAccount || tikis.length === 0;
|
||||
|
||||
// Handle wallet connection
|
||||
const handleConnectWallet = async () => {
|
||||
if (accounts.length === 0) {
|
||||
navigation.navigate('WalletSetup');
|
||||
return;
|
||||
}
|
||||
try {
|
||||
await connectWallet();
|
||||
Alert.alert('Girêdayî / Connected', 'Cîzdanê te bi serkeftî girêdayî bû!\nYour wallet has been connected successfully!');
|
||||
} catch (error) {
|
||||
if (__DEV__) console.error('Wallet connection error:', error);
|
||||
Alert.alert('Çewtî / Error', 'Cîzdan nehat girêdan.\nFailed to connect wallet.');
|
||||
}
|
||||
};
|
||||
const primaryRole = tikis.length > 0 ? getPrimaryRole(tikis) : 'Visitor';
|
||||
|
||||
const showComingSoon = (featureName: string) => {
|
||||
@@ -463,10 +478,10 @@ const DashboardScreen: React.FC<DashboardScreenProps> = () => {
|
||||
{!selectedAccount && (
|
||||
<TouchableOpacity
|
||||
style={styles.connectWalletBadge}
|
||||
onPress={() => navigation.navigate('Wallet')}
|
||||
onPress={handleConnectWallet}
|
||||
>
|
||||
<Text style={styles.connectWalletIcon}>👛</Text>
|
||||
<Text style={styles.connectWalletText}>Connect</Text>
|
||||
<Text style={styles.connectWalletText}>Girêde</Text>
|
||||
</TouchableOpacity>
|
||||
)}
|
||||
</View>
|
||||
|
||||
Reference in New Issue
Block a user