diff --git a/src/screens/novel/Novel.js b/src/screens/novel/Novel.js
index 2fa6fea2..04286540 100644
--- a/src/screens/novel/Novel.js
+++ b/src/screens/novel/Novel.js
@@ -17,6 +17,7 @@ import {
IconButton,
Menu,
FAB,
+ Snackbar,
} from 'react-native-paper';
import {useDispatch, useSelector} from 'react-redux';
import * as Haptics from 'expo-haptics';
@@ -54,6 +55,7 @@ import {Actionbar} from '../../components/Actionbar/Actionbar';
import EditInfoModal from './components/EditInfoModal';
import {pickCustomNovelCover} from '../../database/queries/NovelQueries';
import FadeView from '../../components/Common/CrossFadeView';
+import {useModal} from '../../hooks/useModal';
const Novel = ({route, navigation}) => {
const item = route.params;
@@ -72,6 +74,8 @@ const Novel = ({route, navigation}) => {
let novelBottomSheetRef = useRef(null);
let trackerSheetRef = useRef(null);
+ const deleteDownloadsSnackbar = useModal();
+
const {
sort = 'ORDER BY chapterId ASC',
filter = '',
@@ -451,6 +455,7 @@ const Novel = ({route, navigation}) => {
navigation={navigation}
trackerSheetRef={trackerSheetRef}
novelBottomSheetRef={novelBottomSheetRef}
+ deleteDownloadsSnackbar={deleteDownloadsSnackbar}
/>
}
refreshControl={refreshControl()}
@@ -543,6 +548,22 @@ const Novel = ({route, navigation}) => {
},
]}
/>
+ {
+ dispatch(deleteAllChaptersAction(chapters));
+ },
+ }}
+ theme={{colors: {accent: theme.colorAccent}}}
+ style={{backgroundColor: theme.colorPrimary, marginBottom: 32}}
+ >
+
+ Delete downloaded chapters?
+
+
{!loading && (
diff --git a/src/screens/novel/components/Info/NovelInfoHeader.js b/src/screens/novel/components/Info/NovelInfoHeader.js
index bb08f47e..a6fc7189 100644
--- a/src/screens/novel/components/Info/NovelInfoHeader.js
+++ b/src/screens/novel/components/Info/NovelInfoHeader.js
@@ -47,6 +47,7 @@ const NovelInfoHeader = ({
trackerSheetRef,
setCustomNovelCover,
novelBottomSheetRef,
+ deleteDownloadsSnackbar,
}) => {
const {tracker, trackedNovels} = useTrackingStatus();
@@ -139,7 +140,15 @@ const NovelInfoHeader = ({
dispatch(followNovelAction(novel))}
+ onPress={() => {
+ dispatch(followNovelAction(novel));
+ if (
+ novel.followed &&
+ chapters.some(chapter => chapter.downloaded === 1)
+ ) {
+ deleteDownloadsSnackbar.showModal();
+ }
+ }}
/>
{tracker && (