From a280fc95e13e9fc235fd11f6680b0f3d4aaaa90f Mon Sep 17 00:00:00 2001 From: Rajarshee Chatterjee Date: Sun, 16 May 2021 16:36:42 +0530 Subject: [PATCH] Reset progress if marked read --- src/Screens/Chapter/Chapter.js | 4 ++-- src/Screens/Chapter/components/ReaderSheet.js | 2 -- src/Screens/Novel/components/ChapterItem.js | 4 +++- src/redux/chapter/chapter.actions.js | 7 ++++++- src/redux/novel/novel.actions.js | 14 ++++++++++++++ 5 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/Screens/Chapter/Chapter.js b/src/Screens/Chapter/Chapter.js index 735487c1..a41f8ce4 100644 --- a/src/Screens/Chapter/Chapter.js +++ b/src/Screens/Chapter/Chapter.js @@ -112,11 +112,11 @@ const Chapter = ({ route, navigation }) => { const scrollToInitialPosition = () => { if (position && firstLayout) { - position.percentage < 95 && + position.percentage < 100 && scrollViewRef.getNode().scrollTo({ x: 0, y: position.position, - animated: true, + animated: false, }); setFirstLayout(false); } diff --git a/src/Screens/Chapter/components/ReaderSheet.js b/src/Screens/Chapter/components/ReaderSheet.js index ca037560..19cbf2a8 100644 --- a/src/Screens/Chapter/components/ReaderSheet.js +++ b/src/Screens/Chapter/components/ReaderSheet.js @@ -251,8 +251,6 @@ const ReaderSheet = ({ theme, reader, dispatch, bottomSheetRef }) => { ); }; -const mapStateToProps = (state) => ({}); - export default ReaderSheet; const styles = StyleSheet.create({ diff --git a/src/Screens/Novel/components/ChapterItem.js b/src/Screens/Novel/components/ChapterItem.js index d7bc6a2d..21791242 100644 --- a/src/Screens/Novel/components/ChapterItem.js +++ b/src/Screens/Novel/components/ChapterItem.js @@ -173,7 +173,9 @@ const ChapterItem = ({ !chapter.read && position[chapter.chapterId] && position[chapter.chapterId].percentage < - 95 && ( + 100 && + position[chapter.chapterId].percentage > + 0 && ( async (dispatch) => { dispatch({ type: SAVE_SCROLL_POSITION, - payload: { position, percentage, chapterId, novelId }, + payload: { + position, + percentage, + chapterId, + novelId, + }, }); }; diff --git a/src/redux/novel/novel.actions.js b/src/redux/novel/novel.actions.js index 3ba7b3e3..796250e0 100644 --- a/src/redux/novel/novel.actions.js +++ b/src/redux/novel/novel.actions.js @@ -39,6 +39,7 @@ import { } from "../../Database/queries/ChapterQueries"; import { deleteNovelUpdates } from "../../Database/queries/UpdateQueries"; import { + SAVE_SCROLL_POSITION, SET_CHAPTER_LIST_PREF, SET_LAST_READ, } from "../preferences/preference.types"; @@ -168,6 +169,19 @@ export const markChapterReadAction = type: SET_LAST_READ, payload: { novelId, chapterId: chapterId + 1 }, }); + + /** + * Reset progress on marked read + */ + dispatch({ + type: SAVE_SCROLL_POSITION, + payload: { + position: 0, + percentage: 0, + chapterId, + novelId, + }, + }); }; export const markPreviousChaptersReadAction =