Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b72cd83
rename and reposition
CD-Z Aug 4, 2025
7296328
added useNovelPages and useNovelState
CD-Z Aug 4, 2025
0a3e89e
added useNovelChapters
CD-Z Aug 5, 2025
e3eb4f3
added useNovelSettings
CD-Z Aug 5, 2025
0c8e030
delete useNovel
CD-Z Aug 5, 2025
2e90dc9
added NovelLastReadContext
CD-Z Aug 5, 2025
f97de5d
Added HeightsContext and ChapterCacheContext
CD-Z Aug 5, 2025
338c78c
replaced useNovel integration
CD-Z Aug 5, 2025
4e910e0
functional
CD-Z Aug 5, 2025
4b40454
chapter rendering performance
CD-Z Aug 10, 2025
2bfe2bb
useTheme Context
CD-Z Aug 10, 2025
f917752
improve ChapterItem
CD-Z Aug 11, 2025
85003d3
added Queue Context
CD-Z Aug 11, 2025
acc818f
better download handling for chapterItems
CD-Z Aug 15, 2025
7fd6016
reworked library context
CD-Z Aug 15, 2025
c302a12
Library restructure
CD-Z Aug 15, 2025
1f6df1a
fixed library replacing wrong novel on chapter download
CD-Z Aug 16, 2025
6672aff
fix lint issues
CD-Z Aug 16, 2025
46578c8
fixed search function
CD-Z Aug 17, 2025
5d9089e
fixed novelscreen bottom sheet options
CD-Z Aug 17, 2025
f8d1d6c
fix undefined chapters state
CD-Z Aug 17, 2025
4c71bc6
fixed error if network request fails when preloading next chapter
CD-Z Aug 23, 2025
be5e6a2
fix download behaviour
CD-Z Aug 23, 2025
9312c99
handle deletion of chapter on downloads page correctly
CD-Z Aug 24, 2025
4a81abf
fixed crash on category deletion
CD-Z Aug 24, 2025
48bfd46
speed up history deletion
CD-Z Aug 29, 2025
5b57025
fix category update updates whole library
CD-Z Aug 29, 2025
17e8bc9
fix snackbar not showing
CD-Z Aug 29, 2025
f5f9e93
fix category position not updating if changed from novelscreen
CD-Z Aug 30, 2025
99b5a95
added onscrollend polyfill
CD-Z Aug 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import AppErrorBoundary from '@components/AppErrorBoundary/AppErrorBoundary';

import Main from './src/navigators/Main';
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet';
import { Providers } from './src/providers/Providers';

Notifications.setNotificationHandler({
handleNotification: async () => {
Expand All @@ -33,16 +34,18 @@ LottieSplashScreen.hide();
const App = () => {
return (
<GestureHandlerRootView style={styles.flex}>
<AppErrorBoundary>
<SafeAreaProvider>
<PaperProvider>
<BottomSheetModalProvider>
<StatusBar translucent={true} backgroundColor="transparent" />
<Main />
</BottomSheetModalProvider>
</PaperProvider>
</SafeAreaProvider>
</AppErrorBoundary>
<Providers>
<AppErrorBoundary>
<SafeAreaProvider>
<PaperProvider>
<BottomSheetModalProvider>
<StatusBar translucent={true} backgroundColor="transparent" />
<Main />
</BottomSheetModalProvider>
</PaperProvider>
</SafeAreaProvider>
</AppErrorBoundary>
</Providers>
</GestureHandlerRootView>
);
};
Expand Down
91 changes: 91 additions & 0 deletions android/app/src/main/assets/js/polyfill-onscrollend.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
/* eslint-disable eslint-comments/no-unlimited-disable */
/* eslint-disable */
'use strict';
(() => {
function f(i, o, r, s = !1) {
if (!(o in i) || typeof r != 'function') return !1;
let t = i[o];
return (
(i[o] = function (...e) {
return (
s || t.apply(this, e), (t = t.bind(this)), r.apply(this, [t, ...e])
);
}),
!0
);
}
if (typeof window == 'undefined') throw 'Not in a browser.';
var p = 'onscrollend' in window;
if (!p) {
let s = function (e, u, l) {
if (u !== 'scrollend') {
e.apply(this, [u, l]);
return;
}
let c = this,
n = i.get(c);
if (!n) {
let d;
(n = {
scrollFn: () => {
clearTimeout(d),
(d = setTimeout(() => {
l();
}, 100));
},
handlers: [l],
}),
e.apply(c, ['scroll', n.scrollFn, !1]),
i.set(c, n);
}
},
t = function (e, u, l) {
if (u !== 'scrollend') {
e.apply(this, [u, l]);
return;
}
let c = this,
n = i.get(c);
if (n) {
if (
(typeof n.scrollFn == 'function' &&
e.apply(this, ['scroll', n.scrollFn]),
typeof l == 'undefined')
)
n.handlers = [];
else {
let d = n.handlers.indexOf(l);
d > -1 && n.handlers.splice(d, 1);
}
n.handlers.length === 0 && i.delete(c);
}
};
(a = s), (w = t);
let i = new WeakMap(),
o = null,
r = null;
f(window, 'addEventListener', s, !0),
f(window, 'removeEventListener', t, !0),
Object.defineProperty(window, 'onscrollend', {
set: e => {
(typeof e != 'function' || o) &&
t.call(window, window.removeEventListener, 'scrollend', o),
(o = e),
e && s.call(window, window.addEventListener, 'scrollend', e);
},
get: () => o,
}),
f(document, 'addEventListener', s, !0),
f(document, 'removeEventListener', t, !0),
Object.defineProperty(document, 'onscrollend', {
set: e => {
(typeof e != 'function' || r) &&
t.call(document, document.removeEventListener, 'scrollend', r),
(r = e),
e && s.call(document, document.addEventListener, 'scrollend', e);
},
get: () => r,
});
}
var a, w;
})();
1 change: 1 addition & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ module.exports = function (api) {
'@strings': './strings',
'@services': './src/services',
'@plugins': './src/plugins',
'@providers': './src/providers',
'@utils': './src/utils',
'@theme': './src/theme',
'@navigators': './src/navigators',
Expand Down
100 changes: 40 additions & 60 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"android": {
"javaPackageName": "com.lnreader.spec"
},
"ios": {
"ios": {
"modulesProvider": {
"NativeEpubUtil": "RCTNativeEpubUtil",
"NativeFile": "RCTNativeFile",
Expand Down Expand Up @@ -96,8 +96,8 @@
},
"devDependencies": {
"@babel/core": "^7.26.0",
"@babel/preset-env": "7.25.3",
"@babel/runtime": "7.25.0",
"@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0",
"@react-native-community/cli": "^18.0.0",
"@react-native-community/cli-platform-android": "^18.0.0",
"@react-native-community/cli-platform-ios": "^18.0.0",
Expand All @@ -111,7 +111,7 @@
"@types/react": "19.1.3",
"@types/sanitize-html": "^2.11.0",
"babel-plugin-module-resolver": "^5.0.2",
"babel-plugin-react-compiler": "19.1.0-rc.1",
"babel-plugin-react-compiler": "19.1.0-rc.2",
"eslint": "^8.19.0",
"husky": "^7.0.4",
"lint-staged": "^12.3.7",
Expand Down
Loading