From e550fcd88190f782702fc4d3dc1dd823ae355959 Mon Sep 17 00:00:00 2001 From: Nikolaos Karaolidis Date: Thu, 3 Aug 2023 21:01:25 +0300 Subject: [PATCH] Fix a couple of bugs Signed-off-by: Nikolaos Karaolidis --- .../memeTagSelector/memeTagSearchModal.tsx | 2 +- src/screens/memeView/memeView.tsx | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/screens/editors/meme/memeTagSelector/memeTagSearchModal.tsx b/src/screens/editors/meme/memeTagSelector/memeTagSearchModal.tsx index ae20f34..72d2606 100644 --- a/src/screens/editors/meme/memeTagSelector/memeTagSearchModal.tsx +++ b/src/screens/editors/meme/memeTagSelector/memeTagSearchModal.tsx @@ -148,7 +148,7 @@ const MemeTagSearchModal = ({ active={memeTags.has(tag.id.toHexString())} /> )} - ListEmptyComponent={() => ( + ListFooterComponent={() => ( >(null); - const index = useRef(route.params.index); + const [index, setIndex] = useState(route.params.index); const memes = useQuery(Meme.schema.name, collectionIn => { return collectionIn .filtered(multipleIdQuery(route.params.ids)) @@ -83,8 +83,8 @@ const MemeView = ({ useEffect(() => { if (memes.length === 0) navigation.goBack(); - if (index.current >= memes.length) { - index.current = memes.length - 1; + if (index >= memes.length) { + setIndex(memes.length - 1); flashListRef.current?.scrollToIndex({ index: memes.length - 1 }); } }, [index, memes.length, navigation]); @@ -94,19 +94,19 @@ const MemeView = ({ navigation.goBack()} /> {/* eslint-disable-next-line @typescript-eslint/no-unnecessary-condition */} - + { const newIndex = Math.round( event.nativeEvent.contentOffset.x / event.nativeEvent.layoutMeasurement.width, ); - if (newIndex !== index.current) index.current = newIndex; + if (newIndex !== index) setIndex(newIndex); }} estimatedItemSize={width} estimatedListSize={{ height, width }} @@ -126,14 +126,14 @@ const MemeView = ({ favoriteMeme(realm, memes[index.current])} + icon={memes[index]?.isFavorite ? 'heart' : 'heart-outline'} + onPress={() => favoriteMeme(realm, memes[index])} disabled={isBlocked} /> { - shareMeme(realm, storageUri, memes[index.current]).catch(() => + shareMeme(realm, storageUri, memes[index]).catch(() => setSnackbarMessage('Failed to share meme!'), ); }} @@ -142,7 +142,7 @@ const MemeView = ({ { - await copyMeme(realm, storageUri, memes[index.current]) + await copyMeme(realm, storageUri, memes[index]) .then(() => setSnackbarMessage('Meme copied!')) .catch(() => setSnackbarMessage('Failed to copy meme!')); }} @@ -151,7 +151,7 @@ const MemeView = ({ { - editMeme(navigation, memes[index.current]); + editMeme(navigation, memes[index]); }} disabled={isBlocked} /> @@ -159,7 +159,7 @@ const MemeView = ({ icon="delete" onPress={async () => { setIsBlocked(true); - await deleteMeme(realm, storageUri, memes[index.current]); + await deleteMeme(realm, storageUri, memes[index]); setIsBlocked(false); }} disabled={isBlocked}