List cleanup on remove (#1069)

* 💄 Hide Add to List option on own profile

*  Remove Lists tab when last list is removed

*  Add listener to list delete on profile screen

*  Only show save changes in list modal when changes are made
This commit is contained in:
Foysal Ahamed 2023-07-28 18:04:27 +02:00 committed by GitHub
parent 38d78e16bf
commit eec300d772
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 60 additions and 12 deletions

View file

@ -56,6 +56,13 @@ export const ProfileScreen = withAuthRequired(
setHasSetup(false)
}, [route.params.name])
// We don't need this to be reactive, so we can just register the listeners once
useEffect(() => {
const listCleanup = uiState.lists.registerListeners()
return () => listCleanup()
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [])
useFocusEffect(
React.useCallback(() => {
const softResetSub = store.onScreenSoftReset(onSoftReset)
@ -126,6 +133,7 @@ export const ProfileScreen = withAuthRequired(
/>
)
}, [uiState, onRefresh, route.params.hideBackButton])
const Footer = React.useMemo(() => {
return uiState.showLoadingMoreFooter ? LoadingMoreFooter : undefined
}, [uiState.showLoadingMoreFooter])