提交修改
This commit is contained in:
+15
-6
@@ -4,6 +4,7 @@ import { NavigationContainer } from '@react-navigation/native'
|
||||
import { createNativeStackNavigator } from '@react-navigation/native-stack'
|
||||
import { SafeAreaProvider } from 'react-native-safe-area-context'
|
||||
import { AuthProvider, useAuth } from './src/components/AuthProvider'
|
||||
import ThemeProvider, { useTheme } from './src/components/ThemeProvider'
|
||||
import { getStoredToken } from './src/services/api'
|
||||
import LoginScreen from './src/screens/LoginScreen'
|
||||
import MainTabs from './src/navigation/MainTabs'
|
||||
@@ -11,9 +12,15 @@ import type { RootStackParamList } from './src/navigation/types'
|
||||
|
||||
const RootStack = createNativeStackNavigator<RootStackParamList>()
|
||||
|
||||
function AppStatusBar() {
|
||||
const { isDark } = useTheme()
|
||||
return <StatusBar barStyle={isDark ? 'light-content' : 'dark-content'} background={isDark ? '#1C1C1E' : '#F5F5F7'} />
|
||||
}
|
||||
|
||||
function AuthGate() {
|
||||
const { user, loading } = useAuth()
|
||||
const [initialRoute, setInitialRoute] = useState<'Login' | 'MainTabs' | null>(null)
|
||||
const { colors } = useTheme()
|
||||
|
||||
useEffect(() => {
|
||||
if (!loading) {
|
||||
@@ -25,8 +32,8 @@ function AuthGate() {
|
||||
|
||||
if (!initialRoute) {
|
||||
return (
|
||||
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5F5F7' }}>
|
||||
<Text style={{ color: '#86868B' }}>加载中...</Text>
|
||||
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: colors.bg }}>
|
||||
<Text style={{ color: colors.textSecondary }}>加载中...</Text>
|
||||
</View>
|
||||
)
|
||||
}
|
||||
@@ -43,10 +50,12 @@ export default function App() {
|
||||
return (
|
||||
<SafeAreaProvider>
|
||||
<AuthProvider>
|
||||
<NavigationContainer>
|
||||
<StatusBar barStyle="dark-content" background="#F5F5F7" />
|
||||
<AuthGate />
|
||||
</NavigationContainer>
|
||||
<ThemeProvider>
|
||||
<NavigationContainer>
|
||||
<AppStatusBar />
|
||||
<AuthGate />
|
||||
</NavigationContainer>
|
||||
</ThemeProvider>
|
||||
</AuthProvider>
|
||||
</SafeAreaProvider>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user