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