+8
-12
jest/test-utils.tsx
+8
-12
jest/test-utils.tsx
···
1
-
import React from 'react'
2
-
import {render} from '@testing-library/react-native'
3
1
import {GestureHandlerRootView} from 'react-native-gesture-handler'
4
-
import {RootSiblingParent} from 'react-native-root-siblings'
5
2
import {SafeAreaProvider} from 'react-native-safe-area-context'
6
-
import {RootStoreProvider, RootStoreModel} from '../src/state'
3
+
import {render} from '@testing-library/react-native'
4
+
7
5
import {ThemeProvider} from '../src/lib/ThemeContext'
6
+
import {type RootStoreModel, RootStoreProvider} from '../src/state'
8
7
9
8
const customRender = (ui: any, rootStore: RootStoreModel) =>
10
9
render(
11
-
// eslint-disable-next-line react-native/no-inline-styles
12
10
<GestureHandlerRootView style={{flex: 1}}>
13
-
<RootSiblingParent>
14
-
<RootStoreProvider value={rootStore}>
15
-
<ThemeProvider theme="light">
16
-
<SafeAreaProvider>{ui}</SafeAreaProvider>
17
-
</ThemeProvider>
18
-
</RootStoreProvider>
19
-
</RootSiblingParent>
11
+
<RootStoreProvider value={rootStore}>
12
+
<ThemeProvider theme="light">
13
+
<SafeAreaProvider>{ui}</SafeAreaProvider>
14
+
</ThemeProvider>
15
+
</RootStoreProvider>
20
16
</GestureHandlerRootView>,
21
17
)
22
18
-1
package.json
-1
package.json
···
197
197
"react-native-progress": "bluesky-social/react-native-progress",
198
198
"react-native-qrcode-styled": "^0.3.3",
199
199
"react-native-reanimated": "^3.19.1",
200
-
"react-native-root-siblings": "^5.0.1",
201
200
"react-native-safe-area-context": "~5.6.0",
202
201
"react-native-screens": "~4.16.0",
203
202
"react-native-svg": "15.12.1",
+56
-59
src/App.native.tsx
+56
-59
src/App.native.tsx
···
4
4
5
5
import React, {useEffect, useState} from 'react'
6
6
import {GestureHandlerRootView} from 'react-native-gesture-handler'
7
-
import {RootSiblingParent} from 'react-native-root-siblings'
8
7
import {
9
8
initialWindowMetrics,
10
9
SafeAreaProvider,
···
137
136
<ThemeProvider theme={theme}>
138
137
<ContextMenuProvider>
139
138
<Splash isReady={isReady && hasCheckedReferrer}>
140
-
<RootSiblingParent>
141
-
<VideoVolumeProvider>
142
-
<React.Fragment
143
-
// Resets the entire tree below when it changes:
144
-
key={currentAccount?.did}>
145
-
<QueryProvider currentDid={currentAccount?.did}>
146
-
<PolicyUpdateOverlayProvider>
147
-
<StatsigProvider>
148
-
<AgeAssuranceProvider>
149
-
<ComposerProvider>
150
-
<MessagesProvider>
151
-
{/* LabelDefsProvider MUST come before ModerationOptsProvider */}
152
-
<LabelDefsProvider>
153
-
<ModerationOptsProvider>
154
-
<LoggedOutViewProvider>
155
-
<SelectedFeedProvider>
156
-
<HiddenRepliesProvider>
157
-
<HomeBadgeProvider>
158
-
<UnreadNotifsProvider>
159
-
<BackgroundNotificationPreferencesProvider>
160
-
<MutedThreadsProvider>
161
-
<ProgressGuideProvider>
162
-
<ServiceAccountManager>
163
-
<EmailVerificationProvider>
164
-
<HideBottomBarBorderProvider>
165
-
<GestureHandlerRootView
166
-
style={s.h100pct}>
167
-
<GlobalGestureEventsProvider>
168
-
<IntentDialogProvider>
169
-
<TestCtrls />
170
-
<Shell />
171
-
<NuxDialogs />
172
-
<ToastOutlet />
173
-
</IntentDialogProvider>
174
-
</GlobalGestureEventsProvider>
175
-
</GestureHandlerRootView>
176
-
</HideBottomBarBorderProvider>
177
-
</EmailVerificationProvider>
178
-
</ServiceAccountManager>
179
-
</ProgressGuideProvider>
180
-
</MutedThreadsProvider>
181
-
</BackgroundNotificationPreferencesProvider>
182
-
</UnreadNotifsProvider>
183
-
</HomeBadgeProvider>
184
-
</HiddenRepliesProvider>
185
-
</SelectedFeedProvider>
186
-
</LoggedOutViewProvider>
187
-
</ModerationOptsProvider>
188
-
</LabelDefsProvider>
189
-
</MessagesProvider>
190
-
</ComposerProvider>
191
-
</AgeAssuranceProvider>
192
-
</StatsigProvider>
193
-
</PolicyUpdateOverlayProvider>
194
-
</QueryProvider>
195
-
</React.Fragment>
196
-
</VideoVolumeProvider>
197
-
</RootSiblingParent>
139
+
<VideoVolumeProvider>
140
+
<React.Fragment
141
+
// Resets the entire tree below when it changes:
142
+
key={currentAccount?.did}>
143
+
<QueryProvider currentDid={currentAccount?.did}>
144
+
<PolicyUpdateOverlayProvider>
145
+
<StatsigProvider>
146
+
<AgeAssuranceProvider>
147
+
<ComposerProvider>
148
+
<MessagesProvider>
149
+
{/* LabelDefsProvider MUST come before ModerationOptsProvider */}
150
+
<LabelDefsProvider>
151
+
<ModerationOptsProvider>
152
+
<LoggedOutViewProvider>
153
+
<SelectedFeedProvider>
154
+
<HiddenRepliesProvider>
155
+
<HomeBadgeProvider>
156
+
<UnreadNotifsProvider>
157
+
<BackgroundNotificationPreferencesProvider>
158
+
<MutedThreadsProvider>
159
+
<ProgressGuideProvider>
160
+
<ServiceAccountManager>
161
+
<EmailVerificationProvider>
162
+
<HideBottomBarBorderProvider>
163
+
<GestureHandlerRootView
164
+
style={s.h100pct}>
165
+
<GlobalGestureEventsProvider>
166
+
<IntentDialogProvider>
167
+
<TestCtrls />
168
+
<Shell />
169
+
<NuxDialogs />
170
+
<ToastOutlet />
171
+
</IntentDialogProvider>
172
+
</GlobalGestureEventsProvider>
173
+
</GestureHandlerRootView>
174
+
</HideBottomBarBorderProvider>
175
+
</EmailVerificationProvider>
176
+
</ServiceAccountManager>
177
+
</ProgressGuideProvider>
178
+
</MutedThreadsProvider>
179
+
</BackgroundNotificationPreferencesProvider>
180
+
</UnreadNotifsProvider>
181
+
</HomeBadgeProvider>
182
+
</HiddenRepliesProvider>
183
+
</SelectedFeedProvider>
184
+
</LoggedOutViewProvider>
185
+
</ModerationOptsProvider>
186
+
</LabelDefsProvider>
187
+
</MessagesProvider>
188
+
</ComposerProvider>
189
+
</AgeAssuranceProvider>
190
+
</StatsigProvider>
191
+
</PolicyUpdateOverlayProvider>
192
+
</QueryProvider>
193
+
</React.Fragment>
194
+
</VideoVolumeProvider>
198
195
</Splash>
199
196
</ContextMenuProvider>
200
197
</ThemeProvider>
+54
-57
src/App.web.tsx
+54
-57
src/App.web.tsx
···
3
3
import './style.css'
4
4
5
5
import React, {useEffect, useState} from 'react'
6
-
import {RootSiblingParent} from 'react-native-root-siblings'
7
6
import {SafeAreaProvider} from 'react-native-safe-area-context'
8
7
import {msg} from '@lingui/macro'
9
8
import {useLingui} from '@lingui/react'
···
111
110
<Alf theme={theme}>
112
111
<ThemeProvider theme={theme}>
113
112
<ContextMenuProvider>
114
-
<RootSiblingParent>
115
-
<VideoVolumeProvider>
116
-
<ActiveVideoProvider>
117
-
<React.Fragment
118
-
// Resets the entire tree below when it changes:
119
-
key={currentAccount?.did}>
120
-
<QueryProvider currentDid={currentAccount?.did}>
121
-
<PolicyUpdateOverlayProvider>
122
-
<StatsigProvider>
123
-
<AgeAssuranceProvider>
124
-
<ComposerProvider>
125
-
<MessagesProvider>
126
-
{/* LabelDefsProvider MUST come before ModerationOptsProvider */}
127
-
<LabelDefsProvider>
128
-
<ModerationOptsProvider>
129
-
<LoggedOutViewProvider>
130
-
<SelectedFeedProvider>
131
-
<HiddenRepliesProvider>
132
-
<HomeBadgeProvider>
133
-
<UnreadNotifsProvider>
134
-
<BackgroundNotificationPreferencesProvider>
135
-
<MutedThreadsProvider>
136
-
<SafeAreaProvider>
137
-
<ProgressGuideProvider>
138
-
<ServiceConfigProvider>
139
-
<EmailVerificationProvider>
140
-
<HideBottomBarBorderProvider>
141
-
<IntentDialogProvider>
142
-
<Shell />
143
-
<NuxDialogs />
144
-
<ToastOutlet />
145
-
</IntentDialogProvider>
146
-
</HideBottomBarBorderProvider>
147
-
</EmailVerificationProvider>
148
-
</ServiceConfigProvider>
149
-
</ProgressGuideProvider>
150
-
</SafeAreaProvider>
151
-
</MutedThreadsProvider>
152
-
</BackgroundNotificationPreferencesProvider>
153
-
</UnreadNotifsProvider>
154
-
</HomeBadgeProvider>
155
-
</HiddenRepliesProvider>
156
-
</SelectedFeedProvider>
157
-
</LoggedOutViewProvider>
158
-
</ModerationOptsProvider>
159
-
</LabelDefsProvider>
160
-
</MessagesProvider>
161
-
</ComposerProvider>
162
-
</AgeAssuranceProvider>
163
-
</StatsigProvider>
164
-
</PolicyUpdateOverlayProvider>
165
-
</QueryProvider>
166
-
</React.Fragment>
167
-
</ActiveVideoProvider>
168
-
</VideoVolumeProvider>
169
-
</RootSiblingParent>
113
+
<VideoVolumeProvider>
114
+
<ActiveVideoProvider>
115
+
<React.Fragment
116
+
// Resets the entire tree below when it changes:
117
+
key={currentAccount?.did}>
118
+
<QueryProvider currentDid={currentAccount?.did}>
119
+
<PolicyUpdateOverlayProvider>
120
+
<StatsigProvider>
121
+
<AgeAssuranceProvider>
122
+
<ComposerProvider>
123
+
<MessagesProvider>
124
+
{/* LabelDefsProvider MUST come before ModerationOptsProvider */}
125
+
<LabelDefsProvider>
126
+
<ModerationOptsProvider>
127
+
<LoggedOutViewProvider>
128
+
<SelectedFeedProvider>
129
+
<HiddenRepliesProvider>
130
+
<HomeBadgeProvider>
131
+
<UnreadNotifsProvider>
132
+
<BackgroundNotificationPreferencesProvider>
133
+
<MutedThreadsProvider>
134
+
<SafeAreaProvider>
135
+
<ProgressGuideProvider>
136
+
<ServiceConfigProvider>
137
+
<EmailVerificationProvider>
138
+
<HideBottomBarBorderProvider>
139
+
<IntentDialogProvider>
140
+
<Shell />
141
+
<NuxDialogs />
142
+
<ToastOutlet />
143
+
</IntentDialogProvider>
144
+
</HideBottomBarBorderProvider>
145
+
</EmailVerificationProvider>
146
+
</ServiceConfigProvider>
147
+
</ProgressGuideProvider>
148
+
</SafeAreaProvider>
149
+
</MutedThreadsProvider>
150
+
</BackgroundNotificationPreferencesProvider>
151
+
</UnreadNotifsProvider>
152
+
</HomeBadgeProvider>
153
+
</HiddenRepliesProvider>
154
+
</SelectedFeedProvider>
155
+
</LoggedOutViewProvider>
156
+
</ModerationOptsProvider>
157
+
</LabelDefsProvider>
158
+
</MessagesProvider>
159
+
</ComposerProvider>
160
+
</AgeAssuranceProvider>
161
+
</StatsigProvider>
162
+
</PolicyUpdateOverlayProvider>
163
+
</QueryProvider>
164
+
</React.Fragment>
165
+
</ActiveVideoProvider>
166
+
</VideoVolumeProvider>
170
167
</ContextMenuProvider>
171
168
</ThemeProvider>
172
169
</Alf>
-5
yarn.lock
-5
yarn.lock
···
17071
17071
invariant "^2.2.4"
17072
17072
react-native-is-edge-to-edge "1.1.7"
17073
17073
17074
-
react-native-root-siblings@^5.0.1:
17075
-
version "5.0.1"
17076
-
resolved "https://registry.yarnpkg.com/react-native-root-siblings/-/react-native-root-siblings-5.0.1.tgz#97e050e5155228f65810fb1c466ff8e769c5272c"
17077
-
integrity sha512-Ay3k/fBj6ReUkWX5WNS+oEAcgPLEGOK8n7K/L7D85mf3xvd8rm/b4spsv26E4HlFzluVx5HKbxEt9cl0wQ1u3g==
17078
-
17079
17074
react-native-safe-area-context@~5.6.0:
17080
17075
version "5.6.1"
17081
17076
resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-5.6.1.tgz#cb4d249ef1a6f7e8fd0cfdfa9764838dffda26b6"