From 0b5a012bfaee5bf4a8b32d80f698ba1fa2d19173 Mon Sep 17 00:00:00 2001 From: Rajarshee Chatterjee Date: Fri, 30 Jun 2023 08:48:20 +0530 Subject: [PATCH] fix: Persists Bookmark State (Closes #676) --- src/screens/reader/ReaderScreen.js | 8 ++++++-- src/screens/reader/components/ReaderAppbar.js | 8 ++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/screens/reader/ReaderScreen.js b/src/screens/reader/ReaderScreen.js index 792b11e0..ebf23e73 100644 --- a/src/screens/reader/ReaderScreen.js +++ b/src/screens/reader/ReaderScreen.js @@ -158,7 +158,7 @@ const ChapterContent = ({ route, navigation }) => { if (!(id && (result = await getChapterFromDb(id)))) { result = await fetchChapter(sourceId, novelUrl, chapterUrl); } - setChapter(result); + setChapter({ ...result, bookmark }); } catch (e) { setError(e.message); showToast(e.message); @@ -331,6 +331,9 @@ const ChapterContent = ({ route, navigation }) => { return ; } + const bookmarkChapter = () => + setChapter(prevVal => ({ ...prevVal, bookmark: !prevVal?.bookmark })); + return ( <> { {!hidden && ( <> { const dispatch = useAppDispatch(); const { goBack } = useNavigation(); - const [bookmarked, setBookmarked] = useState(bookmark); return ( { dispatch(bookmarkChapterAction([{ bookmark, chapterId }])); - setBookmarked(!bookmarked); + bookmarkChapter(); }} iconColor={theme.onSurface} theme={theme}