From 442d453600a5dce98a2c197c94c9fb3d3a7fba78 Mon Sep 17 00:00:00 2001 From: MohammadReza Mahmoudi Date: Wed, 31 May 2023 03:12:22 +0330 Subject: [PATCH] Fix profile load issue + enhancement of profile isCurrent style (#764) * fix profile isActive issue * fix myProfile load issue when visiting other profiles first * fix lint issues * change currentRouteName to currentRouteInfo --- src/view/screens/Profile.tsx | 4 ++++ src/view/shell/desktop/LeftNav.tsx | 13 ++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx index 77e3743e..a34ceb32 100644 --- a/src/view/screens/Profile.tsx +++ b/src/view/screens/Profile.tsx @@ -47,6 +47,10 @@ export const ProfileScreen = withAuthRequired( ) useSetTitle(combinedDisplayName(uiState.profile)) + useEffect(() => { + setHasSetup(false) + }, [route.params.name]) + useFocusEffect( React.useCallback(() => { let aborted = false diff --git a/src/view/shell/desktop/LeftNav.tsx b/src/view/shell/desktop/LeftNav.tsx index ce232a73..914dfb53 100644 --- a/src/view/shell/desktop/LeftNav.tsx +++ b/src/view/shell/desktop/LeftNav.tsx @@ -91,14 +91,17 @@ const NavItem = observer( const pal = usePalette('default') const store = useStores() const [pathName] = React.useMemo(() => router.matchPath(href), [href]) - const currentRouteName = useNavigationState(state => { + const currentRouteInfo = useNavigationState(state => { if (!state) { - return 'Home' + return {name: 'Home'} } - return getCurrentRoute(state).name + return getCurrentRoute(state) }) - - const isCurrent = isTab(currentRouteName, pathName) + let isCurrent = + currentRouteInfo.name === 'Profile' + ? isTab(currentRouteInfo.name, pathName) && + currentRouteInfo.params.name === store.me.handle + : isTab(currentRouteInfo.name, pathName) const {onPress} = useLinkProps({to: href}) const onPressWrapped = React.useCallback( (e: React.MouseEvent) => {