Add Setting to Jump to Last Read Chapter

This commit is contained in:
Rajarshee Chatterjee
2024-01-07 18:38:57 +05:30
parent 2c1cce7fbe
commit 8a85f4eaf1
4 changed files with 29 additions and 1 deletions
+13
View File
@@ -98,6 +98,7 @@ const Novel = ({ route, navigation }) => {
useFabForContinueReading = false,
defaultChapterSort = 'ORDER BY chapterId ASC',
disableHapticFeedback = false,
jumpToLastReadChapter = false,
} = useSettings();
const {
@@ -651,6 +652,18 @@ const Novel = ({ route, navigation }) => {
</Portal>
<View style={styles.flashlistContainer}>
<FlashList
onLayout={() => {
if (jumpToLastReadChapter) {
const lastReadChapterIdx = chapters.findIndex(
chapter => chapter.chapterId === lastReadChapter.chapterId,
);
flatlistRef.current.scrollToIndex({
animated: true,
index: lastReadChapterIdx,
});
}
}}
ref={flatlistRef}
estimatedItemSize={64}
data={chapters}
@@ -62,6 +62,7 @@ const GenralSettings: React.FC<GenralSettingsProps> = ({ navigation }) => {
refreshNovelMetadata = false,
disableHapticFeedback = false,
useLibraryFAB = false,
jumpToLastReadChapter = false,
} = useSettings();
const { showLastUpdateTime = true } = useSelector(
@@ -215,6 +216,18 @@ const GenralSettings: React.FC<GenralSettingsProps> = ({ navigation }) => {
onPress={defaultChapterSortModal.setTrue}
theme={theme}
/>
<SwitchSetting
label={getString(
'moreScreen.settingsScreen.generalSettingsScreen.jumpToLastReadChapter',
)}
value={jumpToLastReadChapter}
onPress={() =>
dispatch(
setAppSettings('jumpToLastReadChapter', !jumpToLastReadChapter),
)
}
theme={theme}
/>
<List.Divider theme={theme} />
<List.SubHeader theme={theme}>
{getString(
+2 -1
View File
@@ -169,7 +169,8 @@
"epubLocation": "EPUB Location",
"epubLocationDescription": "The place where you open and export your EPUB files.",
"downloadNewChapters": "Download new chapters",
"disableHapticFeedback": "Disable haptic feedback"
"disableHapticFeedback": "Disable haptic feedback",
"jumpToLastReadChapter": "Jump to last read chapter in list"
},
"readerSettings": {
"title": "Reader",
+1
View File
@@ -137,6 +137,7 @@ export interface StringMap {
'moreScreen.settingsScreen.generalSettingsScreen.epubLocationDescription': 'string';
'moreScreen.settingsScreen.generalSettingsScreen.downloadNewChapters': 'string';
'moreScreen.settingsScreen.generalSettingsScreen.disableHapticFeedback': 'string';
'moreScreen.settingsScreen.generalSettingsScreen.jumpToLastReadChapter': 'string';
'moreScreen.settingsScreen.readerSettings.title': 'string';
'moreScreen.settingsScreen.readerSettings.readerTheme': 'string';
'moreScreen.settingsScreen.readerSettings.preset': 'string';