Files
lnreader/App.tsx
T
nyagami 420603f911 Replace Redux thunk by react native MMKV (#893)
* refactor: useBoolean hook

* refactor: useGithubUpdateChecker hook

* refactor: move showToast to utils

* refactor: useBackHandler hook

* refactor: useTextToSpeech hook

* refactor: useDeviceOrientation hook

* refactor: usePreviousRouteName hook

* refactor: useFullscreenMode hook

* refactor: useSearch hook

* refactor: useTheme hook

* fix: remove updates reducer

* refactor: useCategories hook

* refactor: useHistory hook

* refactor: useLibrarySettings hook
remove unused useCategories hook

* fix: reanimated version for expo

* refactor: library, chatper hooks

* refactor: app, browse settings hooks

* refactor: usePlugins hook

* fix: max depth in useEffect, plugins state logic

* feat: add Anilist tracker

* refactor: useTracker hook

* useTrackedNovel hook

* minor fixs

* refactor: useNovel hook

* minor fix: book mark button

* refactor: useDownload hook

* fix: migrate function

* remove redux + cleanup

* update node version for build

* fix: download Queue, migrate action

* fix: increaes hit slop for thumb, add reader playground

* fix: plugins not updated when installing while searching

* fix: safe plugin management

* Squashed commit of the following:

commit 51968f66bdd69f28f1863b5668f9511ba53c3fff
Author: Nyagami <hoangquan05112002@gmail.com>
Date:   Sat Jan 13 13:20:33 2024 +0700

    better logic for download progress bar

commit 5069de11644e7aece39efc73dfd80d093982b032
Author: Nyagami <hoangquan05112002@gmail.com>
Date:   Sat Jan 13 13:14:33 2024 +0700

    fix: delete BACKGROUND_ACTION in finally clause

commit 181103e994831da6744d122faaa60c48da529a63
Author: Nyagami <hoangquan05112002@gmail.com>
Date:   Sat Jan 13 13:10:56 2024 +0700

    update react-native-background-actions
2024-01-13 14:28:24 +05:30

57 lines
1.7 KiB
TypeScript

import 'react-native-gesture-handler';
import { enableFreeze } from 'react-native-screens';
enableFreeze(true);
import React, { useEffect } from 'react';
import { StatusBar } from 'react-native';
import { GestureHandlerRootView } from 'react-native-gesture-handler';
import LottieSplashScreen from 'react-native-lottie-splash-screen';
import { SafeAreaProvider } from 'react-native-safe-area-context';
import { Provider as PaperProvider } from 'react-native-paper';
import * as Notifications from 'expo-notifications';
import { createTables } from '@database/db';
import AppErrorBoundary from '@components/AppErrorBoundary/AppErrorBoundary';
import { collectPlugins } from '@plugins/pluginManager';
import Main from './src/navigators/Main';
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet';
import { usePlugins } from '@hooks/persisted';
Notifications.setNotificationHandler({
handleNotification: async () => {
return {
shouldShowAlert: true,
shouldPlaySound: true,
shouldSetBadge: true,
};
},
});
const App = () => {
const { refreshPlugins } = usePlugins();
useEffect(() => {
createTables();
collectPlugins().then(() => LottieSplashScreen.hide());
refreshPlugins();
}, []);
return (
<GestureHandlerRootView style={{ flex: 1 }}>
<AppErrorBoundary>
<SafeAreaProvider>
<PaperProvider>
<BottomSheetModalProvider>
<StatusBar translucent={true} backgroundColor="transparent" />
<Main />
</BottomSheetModalProvider>
</PaperProvider>
</SafeAreaProvider>
</AppErrorBoundary>
</GestureHandlerRootView>
);
};
export default App;