Refactor API base URL handling for dynamic environment detection; update navigation stack options for improved layout consistency

This commit is contained in:
bobbert committed 2026-04-06 02:13:35 +01:00
1 parent ef514b9c44
commit 5942f8954c
2 files changed
+26 -6

No files matched your search

+17 -4
View File
@@ -22,7 +22,11 @@ const AdminStackNav = createNativeStackNavigator();
const AuthStack = () => ( const AuthStack = () => (
<AuthStackNav.Navigator <AuthStackNav.Navigator
screenOptions={{headerShown: false}} screenOptions={{
headerShown: false,
contentStyle: { backgroundColor: '#ffffff' },
keyboardHandlingEnabled: false,
}}
> >
<AuthStackNav.Screen name="LoginScreen" component={LoginScreen}/> <AuthStackNav.Screen name="LoginScreen" component={LoginScreen}/>
<AuthStackNav.Screen name="RegisterScreen" component={RegisterScreen}/> <AuthStackNav.Screen name="RegisterScreen" component={RegisterScreen}/>
@@ -31,7 +35,10 @@ const AuthStack = () => (
const GameStack = () => ( const GameStack = () => (
<GameStackNav.Navigator <GameStackNav.Navigator
screenOptions={{headerShown: false}} screenOptions={{
headerShown: false,
contentStyle: { backgroundColor: '#ffffff' },
}}
> >
<GameStackNav.Screen name="GameTypeScreen" component={GameTypeScreen}/> <GameStackNav.Screen name="GameTypeScreen" component={GameTypeScreen}/>
<GameStackNav.Screen name="JoinPrivateGameScreen" component={JoinPrivateGameScreen}/> <GameStackNav.Screen name="JoinPrivateGameScreen" component={JoinPrivateGameScreen}/>
@@ -47,7 +54,10 @@ const GameStack = () => (
const AdminStack = () => ( const AdminStack = () => (
<AdminStackNav.Navigator <AdminStackNav.Navigator
screenOptions={{headerShown: false}} screenOptions={{
headerShown: false,
contentStyle: { backgroundColor: '#ffffff' },
}}
> >
<AdminStackNav.Screen name="AdminHubScreen" component={AdminHubScreen}/> <AdminStackNav.Screen name="AdminHubScreen" component={AdminHubScreen}/>
<AdminStackNav.Screen name="ManageSubgroupsScreen" component={ManageSubgroupsScreen}/> <AdminStackNav.Screen name="ManageSubgroupsScreen" component={ManageSubgroupsScreen}/>
@@ -64,7 +74,10 @@ export const App = () => {
<SafeAreaProvider> <SafeAreaProvider>
<NavigationContainer> <NavigationContainer>
<RootStack.Navigator <RootStack.Navigator
screenOptions={{headerShown: false}} screenOptions={{
headerShown: false,
contentStyle: { backgroundColor: '#ffffff' },
}}
> >
<RootStack.Screen name="Auth" component={AuthStack}/> <RootStack.Screen name="Auth" component={AuthStack}/>
<RootStack.Screen name="Game" component={GameStack}/> <RootStack.Screen name="Game" component={GameStack}/>
+9 -2
View File
@@ -1,5 +1,12 @@
//export const API_BASE_URL = 'http://192.168.8.100:3000'; import Constants from 'expo-constants';
export const API_BASE_URL = 'http://api.bobby.ip-ddns.com';
const getBaseUrl = () => {
const host = Constants.expoGoConfig?.debuggerHost;
if (host) return `http://${host.split(':')[0]}:3000`;
return 'http://api.bobby.ip-ddns.com';
};
export const API_BASE_URL = getBaseUrl();
const API = {}; const API = {};
API.get = (endpoint) => callFetch(endpoint, 'GET'); API.get = (endpoint) => callFetch(endpoint, 'GET');