53 lines
2.1 KiB
TypeScript
53 lines
2.1 KiB
TypeScript
import React from "react";
|
|
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
import { SafeAreaProvider } from "react-native-safe-area-context";
|
|
import { SheetProvider } from "react-native-actions-sheet";
|
|
import { AppContainer } from "../Apps";
|
|
import { AllTrainDiagramProvider } from "../stateBox/useAllTrainDiagram";
|
|
import { NotificationProvider } from "../stateBox/useNotifications";
|
|
import { UserPositionProvider } from "../stateBox/useUserPosition";
|
|
import { StationListProvider } from "../stateBox/useStationList";
|
|
import { FavoriteStationProvider } from "../stateBox/useFavoriteStation";
|
|
import { TrainDelayDataProvider } from "../stateBox/useTrainDelayData";
|
|
import { TrainMenuProvider } from "../stateBox/useTrainMenu";
|
|
import { CurrentTrainProvider } from "../stateBox/useCurrentTrain";
|
|
import { AreaInfoProvider } from "../stateBox/useAreaInfo";
|
|
import { BusAndTrainDataProvider } from "../stateBox/useBusAndTrainData";
|
|
import { DeviceOrientationChangeProvider } from "../stateBox/useDeviceOrientationChange";
|
|
import { buildProvidersTree } from "../lib/providerTreeProvider";
|
|
import { AppThemeProvider } from "../lib/theme";
|
|
import StatusbarDetect from "../StatusbarDetect";
|
|
import "./ActionSheetComponents/sheets";
|
|
|
|
const ProviderTree = buildProvidersTree([
|
|
AllTrainDiagramProvider,
|
|
NotificationProvider,
|
|
UserPositionProvider,
|
|
StationListProvider,
|
|
FavoriteStationProvider,
|
|
TrainDelayDataProvider,
|
|
TrainMenuProvider, // CurrentTrainProvider より先に置くことで useTrainMenu が使える
|
|
CurrentTrainProvider,
|
|
AreaInfoProvider,
|
|
BusAndTrainDataProvider,
|
|
SheetProvider,
|
|
]);
|
|
|
|
export function AppRootLayout(): React.ReactElement {
|
|
return (
|
|
<AppThemeProvider>
|
|
<DeviceOrientationChangeProvider>
|
|
<SafeAreaProvider>
|
|
<StatusbarDetect />
|
|
<GestureHandlerRootView style={{ flex: 1 }}>
|
|
<ProviderTree>
|
|
<AppContainer />
|
|
</ProviderTree>
|
|
</GestureHandlerRootView>
|
|
{/* <StartupOverlay /> */}
|
|
</SafeAreaProvider>
|
|
</DeviceOrientationChangeProvider>
|
|
</AppThemeProvider>
|
|
);
|
|
}
|