load first page on read manga (#76)
This commit is contained in:
@@ -87,8 +87,9 @@ export default function HorizontalPager(props: IReaderProps) {
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
// scroll last read page into view after first mount
|
||||
pagesRef.current[curPage]?.scrollIntoView({ inline: 'center' });
|
||||
}, [settings.readerType]);
|
||||
}, [pagesRef.current.length]);
|
||||
|
||||
useEffect(() => {
|
||||
selfRef.current?.addEventListener('mousedown', dragControl);
|
||||
|
||||
@@ -11,7 +11,7 @@ import Page from '../Page';
|
||||
|
||||
export default function VerticalReader(props: IReaderProps) {
|
||||
const {
|
||||
pages, settings, setCurPage, curPage, chapter, nextChapter, prevChapter,
|
||||
pages, settings, setCurPage, curPage, nextChapter, prevChapter,
|
||||
} = props;
|
||||
|
||||
const selfRef = useRef<HTMLDivElement>(null);
|
||||
@@ -88,14 +88,8 @@ export default function VerticalReader(props: IReaderProps) {
|
||||
}, [selfRef, curPage]);
|
||||
|
||||
useEffect(() => {
|
||||
// scroll last read page into view
|
||||
let initialPage = (chapter as IChapter).lastPageRead;
|
||||
if (initialPage > pages.length - 1) {
|
||||
initialPage = pages.length - 1;
|
||||
}
|
||||
if (initialPage > -1) {
|
||||
pagesRef.current[initialPage].scrollIntoView();
|
||||
}
|
||||
// scroll last read page into view after first mount
|
||||
pagesRef.current[curPage].scrollIntoView();
|
||||
}, [pagesRef.current.length]);
|
||||
|
||||
return (
|
||||
|
||||
@@ -111,7 +111,11 @@ export default function Reader() {
|
||||
.then((response) => response.data)
|
||||
.then((data:IChapter) => {
|
||||
setChapter(data);
|
||||
setCurPage(data.lastPageRead);
|
||||
|
||||
if (data.lastPageRead === data.pageCount - 1) {
|
||||
// last page, also probably read = true, we will load the first page.
|
||||
setCurPage(0);
|
||||
} else setCurPage(data.lastPageRead);
|
||||
});
|
||||
}, [chapterIndex]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user