diff --git a/webUI/react/src/components/navbar/ReaderNavBar.tsx b/webUI/react/src/components/navbar/ReaderNavBar.tsx index 7b87c95b..c3f674fd 100644 --- a/webUI/react/src/components/navbar/ReaderNavBar.tsx +++ b/webUI/react/src/components/navbar/ReaderNavBar.tsx @@ -143,6 +143,7 @@ export const defaultReaderSettings = () => ({ staticNav: false, showPageNumber: true, continuesPageGap: false, + loadNextonEnding: false, readerType: 'ContinuesVertical', } as IReaderSettings); @@ -277,6 +278,16 @@ export default function ReaderNavBar(props: IProps) { /> + + + + setSettingValue('loadNextonEnding', e.target.checked)} + /> + + { + if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { + setCurPage(0); + history.push(`/manga/${manga.id}/chapter/${chapter.index + 1}`); + } + }; + useEffect(() => { + if (settings.loadNextonEnding) { window.addEventListener('scroll', handleLoadNextonEnding); } + + return () => { + window.removeEventListener('scroll', handleLoadNextonEnding); + }; + }, []); return ( diff --git a/webUI/react/src/screens/Reader.tsx b/webUI/react/src/screens/Reader.tsx index f1e62f22..f27a9e81 100644 --- a/webUI/react/src/screens/Reader.tsx +++ b/webUI/react/src/screens/Reader.tsx @@ -70,7 +70,6 @@ export default function Reader() { const [manga, setManga] = useState({ id: +mangaId, title: '', thumbnailUrl: '' }); const [chapter, setChapter] = useState(initialChapter()); const [curPage, setCurPage] = useState(0); - const { setOverride, setTitle } = useContext(NavbarContext); useEffect(() => { // make sure settings has all the keys @@ -153,6 +152,8 @@ export default function Reader() { setCurPage={setCurPage} curPage={curPage} settings={settings} + manga={manga} + chapter={chapter} /> ); diff --git a/webUI/react/src/typings.d.ts b/webUI/react/src/typings.d.ts index 1ab445f9..4d11494a 100644 --- a/webUI/react/src/typings.d.ts +++ b/webUI/react/src/typings.d.ts @@ -99,6 +99,7 @@ type ReaderType = interface IReaderSettings{ staticNav: boolean showPageNumber: boolean + loadNextonEnding: boolean readerType: ReaderType } @@ -113,4 +114,6 @@ interface IReaderProps { setCurPage: React.Dispatch> curPage: number settings: IReaderSettings + manga: IMangaCard | IManga + chapter: IChapter | IPartialChpter }