about summary refs log tree commit diff
path: root/src/App.native.tsx
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-02-08 20:37:08 +0000
committerGitHub <noreply@github.com>2024-02-08 12:37:08 -0800
commit06f81d69486f2e6e8ffd65da5a4bfdcd7d8a2655 (patch)
tree041b9ddf0c44c871c6de14e96a65371c9c6c416d /src/App.native.tsx
parent80c482b026ad956e3a2bbfba864821a736e413f6 (diff)
downloadvoidsky-06f81d69486f2e6e8ffd65da5a4bfdcd7d8a2655.tar.zst
Keep pager feeds in sync with the right pane (#2775)
* Hoist selected feed state

* Seed state from params

* Refine and fix logic

* Fix scroll restoration

* Soft reset on second click
Diffstat (limited to 'src/App.native.tsx')
-rw-r--r--src/App.native.tsx25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/App.native.tsx b/src/App.native.tsx
index 50a80d9fe..1284154f3 100644
--- a/src/App.native.tsx
+++ b/src/App.native.tsx
@@ -32,6 +32,7 @@ import {Provider as MutedThreadsProvider} from 'state/muted-threads'
 import {Provider as InvitesStateProvider} from 'state/invites'
 import {Provider as PrefsStateProvider} from 'state/preferences'
 import {Provider as LoggedOutViewProvider} from 'state/shell/logged-out'
+import {Provider as SelectedFeedProvider} from 'state/shell/selected-feed'
 import I18nProvider from './locale/i18nProvider'
 import {
   Provider as SessionProvider,
@@ -72,17 +73,19 @@ function InnerApp() {
             // Resets the entire tree below when it changes:
             key={currentAccount?.did}>
             <LoggedOutViewProvider>
-              <UnreadNotifsProvider>
-                <ThemeProvider theme={theme}>
-                  {/* All components should be within this provider */}
-                  <RootSiblingParent>
-                    <GestureHandlerRootView style={s.h100pct}>
-                      <TestCtrls />
-                      <Shell />
-                    </GestureHandlerRootView>
-                  </RootSiblingParent>
-                </ThemeProvider>
-              </UnreadNotifsProvider>
+              <SelectedFeedProvider>
+                <UnreadNotifsProvider>
+                  <ThemeProvider theme={theme}>
+                    {/* All components should be within this provider */}
+                    <RootSiblingParent>
+                      <GestureHandlerRootView style={s.h100pct}>
+                        <TestCtrls />
+                        <Shell />
+                      </GestureHandlerRootView>
+                    </RootSiblingParent>
+                  </ThemeProvider>
+                </UnreadNotifsProvider>
+              </SelectedFeedProvider>
             </LoggedOutViewProvider>
           </React.Fragment>
         </Splash>