diff --git a/mobile/src/navigation/AppNavigator.tsx b/mobile/src/navigation/AppNavigator.tsx
index 177d9507..1247c71b 100644
--- a/mobile/src/navigation/AppNavigator.tsx
+++ b/mobile/src/navigation/AppNavigator.tsx
@@ -5,6 +5,7 @@ import { NavigationContainer } from '@react-navigation/native';
import AsyncStorage from '@react-native-async-storage/async-storage';
import { useAuth } from '../contexts/AuthContext'; // Import useAuth
import { KurdistanColors } from '../theme/colors';
+import { SimpleHeader } from '../components/navigation/SharedHeader';
// Screens
import WelcomeScreen from '../screens/WelcomeScreen';
@@ -147,14 +148,18 @@ const AppNavigator: React.FC = () => {
component={SettingsScreen}
options={{
presentation: 'modal',
- headerShown: false,
+ headerShown: true,
+ headerTitle: 'Settings',
+ header: (props) => ,
}}
/>
,
}}
/>
{
name="EditProfile"
component={EditProfileScreen}
options={{
- headerShown: false,
+ headerShown: true,
+ headerTitle: 'Edit Profile',
+ header: (props) => ,
}}
/>
,
}}
/>
,
}}
/>
,
}}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
,
+ }}
/>
>
)}
diff --git a/mobile/src/screens/AppsScreen.tsx b/mobile/src/screens/AppsScreen.tsx
index 7f2e67cf..61991f32 100644
--- a/mobile/src/screens/AppsScreen.tsx
+++ b/mobile/src/screens/AppsScreen.tsx
@@ -72,7 +72,7 @@ const CATEGORIES: { name: CategoryType; icon: string }[] = [
const AppsScreen: React.FC = () => {
const navigation = useNavigation();
- 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.');
}
};
diff --git a/mobile/src/screens/DashboardScreen.tsx b/mobile/src/screens/DashboardScreen.tsx
index 6279325c..c31fc069 100644
--- a/mobile/src/screens/DashboardScreen.tsx
+++ b/mobile/src/screens/DashboardScreen.tsx
@@ -84,7 +84,7 @@ interface DashboardScreenProps {}
const DashboardScreen: React.FC = () => {
const navigation = useNavigation>();
const { user } = useAuth();
- const { api, isApiReady, selectedAccount } = usePezkuwi();
+ const { api, isApiReady, selectedAccount, accounts, connectWallet } = usePezkuwi();
const [profileData, setProfileData] = useState(null);
const [loading, setLoading] = useState(true);
const [avatarModalVisible, setAvatarModalVisible] = useState(false);
@@ -167,6 +167,21 @@ const DashboardScreen: React.FC = () => {
// 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 = () => {
{!selectedAccount && (
navigation.navigate('Wallet')}
+ onPress={handleConnectWallet}
>
👛
- Connect
+ Girêde
)}