| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import { StatusBar } from 'expo-status-bar';
- import React from 'react';
- import * as SplashScreen from 'expo-splash-screen';
- import { Text, Div, Button } from 'react-native-magnus';
- import { SafeAreaProvider } from 'react-native-safe-area-context';
- import { ThemeProvider } from 'react-native-magnus';
- import { UseRequestProvider, useRequest } from 'ahooks';
- import './i18n';
- import useCachedResources from './hooks/useCachedResources';
- import useColorScheme from './hooks/useColorScheme';
- import Navigation from './navigation';
- import useModel from 'flooks';
- import theme from './constants/Theme';
- import request from './utils/RequestUtils';
- import User from './stores/User';
- export default function App() {
- const isLoadingComplete = useCachedResources();
- const colorScheme = useColorScheme();
- const { id, getInit, initialRouteName } = useModel(User, [
- 'id',
- 'initialRouteName',
- ]);
- const { loading, run } = useRequest(getInit, {
- refreshDeps: [id],
- debounceInterval: 2000,
- });
- if (!isLoadingComplete || !initialRouteName) {
- return null;
- } else {
- SplashScreen.hideAsync();
- return (
- <UseRequestProvider
- value={{
- refreshOnWindowFocus: true,
- requestMethod: request,
- }}
- >
- <ThemeProvider theme={theme}>
- <SafeAreaProvider>
- <Div flex={1}>
- <Button
- fontSize="xl"
- position="absolute"
- zIndex={999}
- bg="transparent"
- color="black"
- bottom={50}
- left={20}
- >
- 骑手端测试版 (0820) 版本三
- </Button>
- <Navigation colorScheme={colorScheme} />
- </Div>
- <StatusBar />
- </SafeAreaProvider>
- </ThemeProvider>
- </UseRequestProvider>
- );
- }
- }
|