diff --git a/src/App.native.tsx b/src/App.native.tsx
index 696ced9611..97362647ba 100644
--- a/src/App.native.tsx
+++ b/src/App.native.tsx
@@ -3,31 +3,32 @@ import {View} from 'react-native'
import Animated, {useAnimatedScrollHandler} from 'react-native-reanimated'
export default function App() {
+ function someWorkletFn() {
+ 'worklet'
+ console.log('lol')
+ }
+
const [x, setX] = React.useState(0)
+
+ const handler = useAnimatedScrollHandler({
+ onScroll() {
+ console.log(x)
+ someWorkletFn()
+ },
+ })
+
React.useEffect(() => {
let id = setInterval(() => setX(x => x + 1), 1000)
return () => clearInterval(id)
}, [])
- const handler = useAnimatedScrollHandler({
- onScroll() {
- console.log(x)
- },
- })
-
- return
-}
-
-const Child = React.memo(function ({onScroll}) {
return (
-
-
-
+
)
-})
+}
diff --git a/src/App.web.tsx b/src/App.web.tsx
index 81e03d0798..97362647ba 100644
--- a/src/App.web.tsx
+++ b/src/App.web.tsx
@@ -1,110 +1,34 @@
-import 'lib/sentry' // must be near top
+import * as React from 'react'
+import {View} from 'react-native'
+import Animated, {useAnimatedScrollHandler} from 'react-native-reanimated'
-import React, {useState, useEffect} from 'react'
-import {observer} from 'mobx-react-lite'
-import {QueryClientProvider} from '@tanstack/react-query'
-import {SafeAreaProvider} from 'react-native-safe-area-context'
-import {RootSiblingParent} from 'react-native-root-siblings'
-
-import 'view/icons'
-
-import {init as initPersistedState} from '#/state/persisted'
-import {useColorMode} from 'state/shell'
-import * as analytics from 'lib/analytics/analytics'
-import {RootStoreModel, setupState, RootStoreProvider} from './state'
-import {Shell} from 'view/shell/index'
-import {ToastContainer} from 'view/com/util/Toast.web'
-import {ThemeProvider} from 'lib/ThemeContext'
-import {queryClient} from 'lib/react-query'
-import {i18n} from '@lingui/core'
-import {I18nProvider} from '@lingui/react'
-import {defaultLocale, dynamicActivate} from './locale/i18n'
-import {Provider as ShellStateProvider} from 'state/shell'
-import {Provider as ModalStateProvider} from 'state/modals'
-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 SessionProvider,
- useSession,
- useSessionApi,
-} from 'state/session'
-import * as persisted from '#/state/persisted'
-
-const InnerApp = observer(function AppImpl() {
- const {isInitialLoad} = useSession()
- const {resumeSession} = useSessionApi()
- const colorMode = useColorMode()
- const [rootStore, setRootStore] = useState(
- undefined,
- )
-
- // init
- useEffect(() => {
- setupState().then(store => {
- setRootStore(store)
- analytics.init(store)
- })
- dynamicActivate(defaultLocale) // async import of locale data
- }, [])
-
- useEffect(() => {
- const account = persisted.get('session').currentAccount
- resumeSession(account)
- }, [resumeSession])
-
- // show nothing prior to init
- if (!rootStore || isInitialLoad) {
- // TODO add a loading state
- return null
+export default function App() {
+ function someWorkletFn() {
+ 'worklet'
+ console.log('lol')
}
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- )
-})
+ const [x, setX] = React.useState(0)
-function App() {
- const [isReady, setReady] = useState(false)
+ const handler = useAnimatedScrollHandler({
+ onScroll() {
+ console.log(x)
+ someWorkletFn()
+ },
+ })
React.useEffect(() => {
- initPersistedState().then(() => setReady(true))
+ let id = setInterval(() => setX(x => x + 1), 1000)
+ return () => clearInterval(id)
}, [])
- if (!isReady) {
- return null
- }
-
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
+
)
}
-
-export default App