mirror of
https://github.com/mudabbir-ahmad/MAD-Treasure-Hunt.git
synced 2026-10-08 03:00:20 +00:00
Refactor API base URL handling for dynamic environment detection; update navigation stacks and integrate SafeAreaProvider for improved layout management across screens.
This commit is contained in:
1 parent
8acf4c923a
commit
d7bc5d38d1
18 files changed
+806
-166
No files matched your search
@@ -1,5 +1,6 @@
|
||||
import {NavigationContainer} from "@react-navigation/native";
|
||||
import {createNativeStackNavigator} from "@react-navigation/native-stack";
|
||||
import {SafeAreaProvider} from "react-native-safe-area-context";
|
||||
import LoginScreen from "./src/components/screens/LoginScreen";
|
||||
import RegisterScreen from "./src/components/screens/RegisterScreen";
|
||||
import GameTypeScreen from "./src/components/screens/GameTypeScreen";
|
||||
@@ -14,58 +15,63 @@ import LeaderboardScreen from "./src/components/screens/LeaderboardScreen";
|
||||
import AdminHubScreen from "./src/components/screens/AdminHubScreen";
|
||||
import ManageSubgroupsScreen from "./src/components/screens/ManageSubgroupsScreen";
|
||||
|
||||
const Stack = createNativeStackNavigator();
|
||||
const RootStack = createNativeStackNavigator();
|
||||
const AuthStackNav = createNativeStackNavigator();
|
||||
const GameStackNav = createNativeStackNavigator();
|
||||
const AdminStackNav = createNativeStackNavigator();
|
||||
|
||||
const AuthStack = () => (
|
||||
<Stack.Navigator
|
||||
<AuthStackNav.Navigator
|
||||
screenOptions={{headerShown: false}}
|
||||
>
|
||||
<Stack.Screen name="LoginScreen" component={LoginScreen}/>
|
||||
<Stack.Screen name="RegisterScreen" component={RegisterScreen}/>
|
||||
</Stack.Navigator>
|
||||
<AuthStackNav.Screen name="LoginScreen" component={LoginScreen}/>
|
||||
<AuthStackNav.Screen name="RegisterScreen" component={RegisterScreen}/>
|
||||
</AuthStackNav.Navigator>
|
||||
);
|
||||
|
||||
const GameStack = () => (
|
||||
<Stack.Navigator
|
||||
<GameStackNav.Navigator
|
||||
screenOptions={{headerShown: false}}
|
||||
>
|
||||
<Stack.Screen name="GameTypeScreen" component={GameTypeScreen}/>
|
||||
<Stack.Screen name="JoinPrivateGameScreen" component={JoinPrivateGameScreen}/>
|
||||
<Stack.Screen name="ManagePrivateGameScreen" component={ManagePrivateGameScreen}/>
|
||||
<Stack.Screen name="CreateGameScreen" component={CreateGameScreen}/>
|
||||
<Stack.Screen name="ManageGameScreen" component={ManageGameScreen}/>
|
||||
<Stack.Screen name="GameLobbyScreen" component={GameLobbyScreen}/>
|
||||
<Stack.Screen name="LeaderboardScreen" component={LeaderboardScreen}/>
|
||||
<Stack.Screen name="TeamScreen" component={TeamScreen}/>
|
||||
<Stack.Screen name="MapScreen" component={MapScreen}/>
|
||||
</Stack.Navigator>
|
||||
<GameStackNav.Screen name="GameTypeScreen" component={GameTypeScreen}/>
|
||||
<GameStackNav.Screen name="JoinPrivateGameScreen" component={JoinPrivateGameScreen}/>
|
||||
<GameStackNav.Screen name="ManagePrivateGameScreen" component={ManagePrivateGameScreen}/>
|
||||
<GameStackNav.Screen name="CreateGameScreen" component={CreateGameScreen}/>
|
||||
<GameStackNav.Screen name="ManageGameScreen" component={ManageGameScreen}/>
|
||||
<GameStackNav.Screen name="GameLobbyScreen" component={GameLobbyScreen}/>
|
||||
<GameStackNav.Screen name="LeaderboardScreen" component={LeaderboardScreen}/>
|
||||
<GameStackNav.Screen name="TeamScreen" component={TeamScreen}/>
|
||||
<GameStackNav.Screen name="MapScreen" component={MapScreen}/>
|
||||
</GameStackNav.Navigator>
|
||||
);
|
||||
|
||||
const AdminStack = () => (
|
||||
<Stack.Navigator
|
||||
<AdminStackNav.Navigator
|
||||
screenOptions={{headerShown: false}}
|
||||
>
|
||||
<Stack.Screen name="AdminHubScreen" component={AdminHubScreen}/>
|
||||
<Stack.Screen name="ManageSubgroupsScreen" component={ManageSubgroupsScreen}/>
|
||||
<Stack.Screen name="LeaderboardScreen" component={LeaderboardScreen}/>
|
||||
<Stack.Screen name="MapScreen" component={MapScreen}/>
|
||||
<Stack.Screen name="TeamScreen" component={TeamScreen}/>
|
||||
<Stack.Screen name="CreateGameScreen" component={CreateGameScreen}/>
|
||||
<Stack.Screen name="ManageGameScreen" component={ManageGameScreen}/>
|
||||
</Stack.Navigator>
|
||||
<AdminStackNav.Screen name="AdminHubScreen" component={AdminHubScreen}/>
|
||||
<AdminStackNav.Screen name="ManageSubgroupsScreen" component={ManageSubgroupsScreen}/>
|
||||
<AdminStackNav.Screen name="LeaderboardScreen" component={LeaderboardScreen}/>
|
||||
<AdminStackNav.Screen name="MapScreen" component={MapScreen}/>
|
||||
<AdminStackNav.Screen name="TeamScreen" component={TeamScreen}/>
|
||||
<AdminStackNav.Screen name="CreateGameScreen" component={CreateGameScreen}/>
|
||||
<AdminStackNav.Screen name="ManageGameScreen" component={ManageGameScreen}/>
|
||||
</AdminStackNav.Navigator>
|
||||
);
|
||||
|
||||
export const App = () => {
|
||||
return (
|
||||
<NavigationContainer>
|
||||
<Stack.Navigator
|
||||
screenOptions={{headerShown: false}}
|
||||
>
|
||||
<Stack.Screen name="Auth" component={AuthStack}/>
|
||||
<Stack.Screen name="Game" component={GameStack}/>
|
||||
<Stack.Screen name="Admin" component={AdminStack}/>
|
||||
</Stack.Navigator>
|
||||
</NavigationContainer>
|
||||
<SafeAreaProvider>
|
||||
<NavigationContainer>
|
||||
<RootStack.Navigator
|
||||
screenOptions={{headerShown: false}}
|
||||
>
|
||||
<RootStack.Screen name="Auth" component={AuthStack}/>
|
||||
<RootStack.Screen name="Game" component={GameStack}/>
|
||||
<RootStack.Screen name="Admin" component={AdminStack}/>
|
||||
</RootStack.Navigator>
|
||||
</NavigationContainer>
|
||||
</SafeAreaProvider>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user