0e5c4b8243
* remove AsyncStorage, disable hermes * init * update logic * update libs for plugins * move interface to types * refactor, add language type * small refactor of languages * getPlugin * update alias * collect plugin on launch * update interface Plugin * move lang to PluginItem * implement install plugins * fix plugins reference * fix fetching logic * fix empty list * refactor Browscreen * implement searchNovels * refactor plugin reducer * try to remove old sources * try to refactor * tabview with theme, remove rn-fetch-blob * update lib for plugin, temp fix for browse * try to replace source by plugin in db * many updates * update db * fix queries error * update db * update db * update History table * update db types * format table name * rename service * rename field * refactor interfaces * update constrait * update novel queries * update constrait * update novel and category queries * more flexible category * update library queris * create category trigger, add constraints * sync variables name with js rule :( * setup database 90% * updates queries * queries to add novel to lib * remove delete updates => delete download * minor * app work 20% * query default one time * createdb first * remove 90% sources * fix library queries * temporary fix * remove all source * remove old languages constant * update trigger * update types * refactor types, update trigger, refactor queries * at least can go to novel screen * update novel redux * can go to novel screen * remove generator * change sourceId to pluginId * can read chapter :( * minor fix * can use history screen * unique key in historyscreen * remove never use hook * at least can use reader * minor * fix download queries * fix history and chapterDrawer doenst need setNovel * fix last read * update click heart to follow novel * insertNovel * long press novels in library, * change default category by move up * update edit category, fix foreign constrait * loading before get novel done * fix categories were added. Dont know why trigger didnt work. So I decide to use normal queries * fix errors when edit infos * shorter init plugin * fix stats screen * minor fix for seekbar * set re-request, fix download chapter * hard fix:), maybe refactor it later * must use sum to count :D * update query * fix migrate screen * minor fix * fix migrate screen and global search display * minor * quick fix for update screen * update plugin props * lol :D * Backup work now. But need to install plugins * restore error backup * If get novel without chapters. Fetch it again * if all error novels are restored, remove error file * minor fix * remove never used packages. * Complete plugin feature. Bump to RN 0.69. I will write a changelog soon * fetchFile for app side * Fix: transparent bottem sheet, undefined index. hideNavigationBar causes transparent bottem sheet (still opening but invisible. Hope to find an actual fix later * newUpdateDialog without markdown * fix: Browse plugins behaviors * fix: reader screen crashs when plugin is not installed * Minor fix: undefined variables when updating * minor fix: fetchFile return base64 * only update newversion * fix: buildReleas succesfully but app crashes when opening. from: https://github.com/facebook/react-native/issues/34114 * fix: webview send correct body height * Refactor: remove HistoryTable. remove PluginStatus * Refactor: Migrate Update and History into Chapter. - remove nerver used hook: useChapter * fix: edit categories modal in novel screen * minor: LL date format * minor: remove html2text lib * minor: migrate inlibrary novel * Migrate novel and clean up * small fix for migrate function * Database Diagram * optimise: O(1) to determine if lastread is read * fix: position could be undefined * refactor: change prop name. postion.position -> postion.offsetY * fix filter * fix: missing param in parseChapterNumber * not a good fix, but it works xD * fix: Text trunct almost title, should find a better fix later. * enable feature: migrate from browse screen * add data-plugin-id tag * no `ghost` novel (which has no category) * minor fix: detele all novel categories when removing novel form lib * minor: deleteDownloadsSnackbar * edit warning * add chapter tag on preview * add id for plugin, novel, chapter. smaller padding * Use BottomSheetModal * implement cookies bypass * default language filter * change default user agent * shorter langue native name * missing NOVEL_ERROR * add filterInputs * correct spelling :) * add dayjs * minor: remove console.log * update site for pluginItem * update icon, * minor: remove unnecessary things
61 lines
1.9 KiB
JavaScript
61 lines
1.9 KiB
JavaScript
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 { Provider } from 'react-redux';
|
|
import { PersistGate } from 'redux-persist/lib/integration/react';
|
|
import * as Notifications from 'expo-notifications';
|
|
|
|
import { createTables } from '@database/db';
|
|
import { persistor, store } from '@redux/store';
|
|
import AppErrorBoundary from '@components/AppErrorBoundary/AppErrorBoundary';
|
|
import { collectPlugins } from '@plugins/pluginManager';
|
|
|
|
import Main from './src/navigators/Main';
|
|
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet';
|
|
|
|
Notifications.setNotificationHandler({
|
|
handleNotification: async () => {
|
|
return {
|
|
shouldShowAlert: true,
|
|
shouldPlaySound: true,
|
|
shouldSetBadge: true,
|
|
};
|
|
},
|
|
});
|
|
|
|
const App = () => {
|
|
useEffect(() => {
|
|
createTables();
|
|
collectPlugins().then(LottieSplashScreen.hide());
|
|
}, []);
|
|
|
|
return (
|
|
<GestureHandlerRootView style={{ flex: 1 }}>
|
|
<AppErrorBoundary>
|
|
<Provider store={store}>
|
|
<PersistGate loading={null} persistor={persistor}>
|
|
<SafeAreaProvider>
|
|
<PaperProvider>
|
|
<BottomSheetModalProvider>
|
|
<StatusBar translucent={true} backgroundColor="transparent" />
|
|
<Main />
|
|
</BottomSheetModalProvider>
|
|
</PaperProvider>
|
|
</SafeAreaProvider>
|
|
</PersistGate>
|
|
</Provider>
|
|
</AppErrorBoundary>
|
|
</GestureHandlerRootView>
|
|
);
|
|
};
|
|
|
|
export default App;
|