diff options
author | Foysal Ahamed <foysal@blueskyweb.xyz> | 2023-07-28 18:04:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-28 11:04:27 -0500 |
commit | eec300d77241925e6b42e5e7e51894f2cba50e18 (patch) | |
tree | 0fb74f898687a6331cba3a3f0cffe3354596f4ab /src/view/screens/Profile.tsx | |
parent | 38d78e16bffc9a25a45a4ad41caeef2c075daa26 (diff) | |
download | voidsky-eec300d77241925e6b42e5e7e51894f2cba50e18.tar.zst |
List cleanup on remove (#1069)
* :lipstick: Hide Add to List option on own profile * :sparkles: Remove Lists tab when last list is removed * :sparkles: Add listener to list delete on profile screen * :sparkles: Only show save changes in list modal when changes are made
Diffstat (limited to 'src/view/screens/Profile.tsx')
-rw-r--r-- | src/view/screens/Profile.tsx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx index 390266440..f00585336 100644 --- a/src/view/screens/Profile.tsx +++ b/src/view/screens/Profile.tsx @@ -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]) |