diff options
Diffstat (limited to 'src/App.web.tsx')
-rw-r--r-- | src/App.web.tsx | 52 |
1 files changed, 30 insertions, 22 deletions
diff --git a/src/App.web.tsx b/src/App.web.tsx index 7bb6cb256..b734aea08 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -60,22 +60,28 @@ const InnerApp = observer(function AppImpl() { return null } + /* + * Session and initial state should be loaded prior to rendering below. + */ + return ( - <ThemeProvider theme={colorMode}> - <analytics.Provider> - <RootStoreProvider value={rootStore}> - <I18nProvider i18n={i18n}> - {/* All components should be within this provider */} - <RootSiblingParent> - <SafeAreaProvider> - <Shell /> - </SafeAreaProvider> - </RootSiblingParent> - </I18nProvider> - <ToastContainer /> - </RootStoreProvider> - </analytics.Provider> - </ThemeProvider> + <UnreadNotifsProvider> + <ThemeProvider theme={colorMode}> + <analytics.Provider> + <RootStoreProvider value={rootStore}> + <I18nProvider i18n={i18n}> + {/* All components should be within this provider */} + <RootSiblingParent> + <SafeAreaProvider> + <Shell /> + </SafeAreaProvider> + </RootSiblingParent> + </I18nProvider> + <ToastContainer /> + </RootStoreProvider> + </analytics.Provider> + </ThemeProvider> + </UnreadNotifsProvider> ) }) @@ -90,19 +96,21 @@ function App() { return null } + /* + * NOTE: only nothing here can depend on other data or session state, since + * that is set up in the InnerApp component above. + */ return ( <QueryClientProvider client={queryClient}> <SessionProvider> <ShellStateProvider> <PrefsStateProvider> <MutedThreadsProvider> - <UnreadNotifsProvider> - <InvitesStateProvider> - <ModalStateProvider> - <InnerApp /> - </ModalStateProvider> - </InvitesStateProvider> - </UnreadNotifsProvider> + <InvitesStateProvider> + <ModalStateProvider> + <InnerApp /> + </ModalStateProvider> + </InvitesStateProvider> </MutedThreadsProvider> </PrefsStateProvider> </ShellStateProvider> |