mirror of
https://github.com/pezkuwichain/pwap.git
synced 2026-06-13 04:21:03 +00:00
Fix navigation: Use nested HomeStackNavigator for Home tab
- BottomTabNavigator uses HomeStackNavigator for Home tab - HomeStackNavigator has all screens from Dashboard with headers - SimpleHeader with back button for all screens except Dashboard - Kurdish titles (Cîzdan, Nasname, Meclîs, Dadwerî, etc.) - Bottom tabs stay visible when navigating from Dashboard
This commit is contained in:
@@ -7,11 +7,13 @@ import { KurdistanColors } from '../theme/colors';
|
|||||||
import { GradientHeader, SimpleHeader } from '../components/navigation/SharedHeader';
|
import { GradientHeader, SimpleHeader } from '../components/navigation/SharedHeader';
|
||||||
|
|
||||||
// Screens
|
// Screens
|
||||||
import DashboardScreen from '../screens/DashboardScreen';
|
|
||||||
import AppsScreen from '../screens/AppsScreen';
|
import AppsScreen from '../screens/AppsScreen';
|
||||||
import ReferralScreen from '../screens/ReferralScreen';
|
import ReferralScreen from '../screens/ReferralScreen';
|
||||||
import ProfileScreen from '../screens/ProfileScreen';
|
import ProfileScreen from '../screens/ProfileScreen';
|
||||||
|
|
||||||
|
// Nested Stack Navigator for Home tab
|
||||||
|
import HomeStackNavigator from './HomeStackNavigator';
|
||||||
|
|
||||||
// Removed screens from tabs (accessible via Dashboard/Apps):
|
// Removed screens from tabs (accessible via Dashboard/Apps):
|
||||||
// WalletScreen, SwapScreen, P2PScreen, EducationScreen, ForumScreen
|
// WalletScreen, SwapScreen, P2PScreen, EducationScreen, ForumScreen
|
||||||
|
|
||||||
@@ -63,7 +65,7 @@ const BottomTabNavigator: React.FC = () => {
|
|||||||
>
|
>
|
||||||
<Tab.Screen
|
<Tab.Screen
|
||||||
name="Home"
|
name="Home"
|
||||||
component={DashboardScreen}
|
component={HomeStackNavigator}
|
||||||
options={{
|
options={{
|
||||||
headerShown: false,
|
headerShown: false,
|
||||||
tabBarLabel: 'Home',
|
tabBarLabel: 'Home',
|
||||||
|
|||||||
@@ -0,0 +1,108 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { createStackNavigator } from '@react-navigation/stack';
|
||||||
|
import { SimpleHeader } from '../components/navigation/SharedHeader';
|
||||||
|
|
||||||
|
// Screens
|
||||||
|
import DashboardScreen from '../screens/DashboardScreen';
|
||||||
|
import WalletScreen from '../screens/WalletScreen';
|
||||||
|
import WalletSetupScreen from '../screens/WalletSetupScreen';
|
||||||
|
import SwapScreen from '../screens/SwapScreen';
|
||||||
|
import P2PScreen from '../screens/P2PScreen';
|
||||||
|
import B2BScreen from '../screens/B2BScreen';
|
||||||
|
import TaxZekatScreen from '../screens/TaxZekatScreen';
|
||||||
|
import LaunchpadScreen from '../screens/LaunchpadScreen';
|
||||||
|
import PresidentScreen from '../screens/PresidentScreen';
|
||||||
|
import VoteScreen from '../screens/VoteScreen';
|
||||||
|
import ValidatorsScreen from '../screens/ValidatorsScreen';
|
||||||
|
import ProposalsScreen from '../screens/ProposalsScreen';
|
||||||
|
import IdentityScreen from '../screens/IdentityScreen';
|
||||||
|
import ForumScreen from '../screens/ForumScreen';
|
||||||
|
import KurdMediaScreen from '../screens/KurdMediaScreen';
|
||||||
|
import PerwerdeScreen from '../screens/PerwerdeScreen';
|
||||||
|
import BankScreen from '../screens/BankScreen';
|
||||||
|
import AssemblyScreen from '../screens/AssemblyScreen';
|
||||||
|
import JusticeScreen from '../screens/JusticeScreen';
|
||||||
|
import PollsScreen from '../screens/PollsScreen';
|
||||||
|
import WhatsKURDScreen from '../screens/WhatsKURDScreen';
|
||||||
|
import EventsScreen from '../screens/EventsScreen';
|
||||||
|
import HelpScreen from '../screens/HelpScreen';
|
||||||
|
import MusicScreen from '../screens/MusicScreen';
|
||||||
|
import VPNScreen from '../screens/VPNScreen';
|
||||||
|
import UniversityScreen from '../screens/UniversityScreen';
|
||||||
|
import CertificatesScreen from '../screens/CertificatesScreen';
|
||||||
|
import ResearchScreen from '../screens/ResearchScreen';
|
||||||
|
|
||||||
|
export type HomeStackParamList = {
|
||||||
|
Dashboard: undefined;
|
||||||
|
Wallet: undefined;
|
||||||
|
WalletSetup: undefined;
|
||||||
|
Swap: undefined;
|
||||||
|
P2P: undefined;
|
||||||
|
B2B: undefined;
|
||||||
|
TaxZekat: undefined;
|
||||||
|
Launchpad: undefined;
|
||||||
|
President: undefined;
|
||||||
|
Vote: undefined;
|
||||||
|
Validators: undefined;
|
||||||
|
Proposals: undefined;
|
||||||
|
Identity: undefined;
|
||||||
|
Forum: undefined;
|
||||||
|
KurdMedia: undefined;
|
||||||
|
Perwerde: undefined;
|
||||||
|
Bank: undefined;
|
||||||
|
Assembly: undefined;
|
||||||
|
Justice: undefined;
|
||||||
|
Polls: undefined;
|
||||||
|
WhatsKURD: undefined;
|
||||||
|
Events: undefined;
|
||||||
|
Help: undefined;
|
||||||
|
Music: undefined;
|
||||||
|
VPN: undefined;
|
||||||
|
University: undefined;
|
||||||
|
Certificates: undefined;
|
||||||
|
Research: undefined;
|
||||||
|
};
|
||||||
|
|
||||||
|
const Stack = createStackNavigator<HomeStackParamList>();
|
||||||
|
|
||||||
|
const HomeStackNavigator: React.FC = () => {
|
||||||
|
return (
|
||||||
|
<Stack.Navigator
|
||||||
|
screenOptions={{
|
||||||
|
headerShown: true,
|
||||||
|
header: (props) => <SimpleHeader {...props} />,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Stack.Screen name="Dashboard" component={DashboardScreen} options={{ headerShown: false }} />
|
||||||
|
<Stack.Screen name="Wallet" component={WalletScreen} options={{ headerTitle: 'Cîzdan / Wallet' }} />
|
||||||
|
<Stack.Screen name="WalletSetup" component={WalletSetupScreen} options={{ headerTitle: 'Cîzdan Saz Bike' }} />
|
||||||
|
<Stack.Screen name="Swap" component={SwapScreen} options={{ headerTitle: 'Swap' }} />
|
||||||
|
<Stack.Screen name="P2P" component={P2PScreen} options={{ headerTitle: 'P2P Bazirganî' }} />
|
||||||
|
<Stack.Screen name="B2B" component={B2BScreen} options={{ headerTitle: 'B2B Bazara' }} />
|
||||||
|
<Stack.Screen name="TaxZekat" component={TaxZekatScreen} options={{ headerTitle: 'Bac & Zekat' }} />
|
||||||
|
<Stack.Screen name="Launchpad" component={LaunchpadScreen} options={{ headerTitle: 'Launchpad' }} />
|
||||||
|
<Stack.Screen name="President" component={PresidentScreen} options={{ headerTitle: 'Serok' }} />
|
||||||
|
<Stack.Screen name="Vote" component={VoteScreen} options={{ headerTitle: 'Deng' }} />
|
||||||
|
<Stack.Screen name="Validators" component={ValidatorsScreen} options={{ headerTitle: 'Validators' }} />
|
||||||
|
<Stack.Screen name="Proposals" component={ProposalsScreen} options={{ headerTitle: 'Pêşniyar' }} />
|
||||||
|
<Stack.Screen name="Identity" component={IdentityScreen} options={{ headerTitle: 'Nasname' }} />
|
||||||
|
<Stack.Screen name="Forum" component={ForumScreen} options={{ headerTitle: 'Forum' }} />
|
||||||
|
<Stack.Screen name="KurdMedia" component={KurdMediaScreen} options={{ headerTitle: 'KurdMedia' }} />
|
||||||
|
<Stack.Screen name="Perwerde" component={PerwerdeScreen} options={{ headerTitle: 'Perwerde' }} />
|
||||||
|
<Stack.Screen name="Bank" component={BankScreen} options={{ headerTitle: 'Bank' }} />
|
||||||
|
<Stack.Screen name="Assembly" component={AssemblyScreen} options={{ headerTitle: 'Meclîs' }} />
|
||||||
|
<Stack.Screen name="Justice" component={JusticeScreen} options={{ headerTitle: 'Dadwerî' }} />
|
||||||
|
<Stack.Screen name="Polls" component={PollsScreen} options={{ headerTitle: 'Rapirsî' }} />
|
||||||
|
<Stack.Screen name="WhatsKURD" component={WhatsKURDScreen} options={{ headerTitle: 'whatsKURD' }} />
|
||||||
|
<Stack.Screen name="Events" component={EventsScreen} options={{ headerTitle: 'Çalakî' }} />
|
||||||
|
<Stack.Screen name="Help" component={HelpScreen} options={{ headerTitle: 'Arîkarî' }} />
|
||||||
|
<Stack.Screen name="Music" component={MusicScreen} options={{ headerTitle: 'Muzîk' }} />
|
||||||
|
<Stack.Screen name="VPN" component={VPNScreen} options={{ headerTitle: 'VPN' }} />
|
||||||
|
<Stack.Screen name="University" component={UniversityScreen} options={{ headerTitle: 'Zanîngehî' }} />
|
||||||
|
<Stack.Screen name="Certificates" component={CertificatesScreen} options={{ headerTitle: 'Sertîfîka' }} />
|
||||||
|
<Stack.Screen name="Research" component={ResearchScreen} options={{ headerTitle: 'Lêkolîn' }} />
|
||||||
|
</Stack.Navigator>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default HomeStackNavigator;
|
||||||
Reference in New Issue
Block a user