diff --git a/packages/apps/human-app/frontend/src/components/layout/protected/drawer-navigation.tsx b/packages/apps/human-app/frontend/src/components/layout/protected/drawer-navigation.tsx index 7b05a49025..0c213caf1d 100644 --- a/packages/apps/human-app/frontend/src/components/layout/protected/drawer-navigation.tsx +++ b/packages/apps/human-app/frontend/src/components/layout/protected/drawer-navigation.tsx @@ -16,6 +16,7 @@ import { NAVBAR_PADDING } from '@/components/layout/protected/navbar'; import { colorPalette } from '@/styles/color-palette'; import { useColorMode } from '@/hooks/use-color-mode'; import { onlyDarkModeColor } from '@/styles/dark-color-palette'; +import { useHandleMainNavIconClick } from '@/hooks/use-handle-main-nav-icon-click'; const drawerWidth = 240; @@ -49,6 +50,7 @@ export function DrawerNavigation({ const navigate = useNavigate(); const isMobile = useIsMobile(); const location = useLocation(); + const handleMainNavIconClick = useHandleMainNavIconClick(); return ( {!isMobile && ( - + { + handleMainNavIconClick(); + }} + > )} diff --git a/packages/apps/human-app/frontend/src/components/layout/protected/navbar.tsx b/packages/apps/human-app/frontend/src/components/layout/protected/navbar.tsx index 56c488292f..324f7f45de 100644 --- a/packages/apps/human-app/frontend/src/components/layout/protected/navbar.tsx +++ b/packages/apps/human-app/frontend/src/components/layout/protected/navbar.tsx @@ -7,6 +7,7 @@ import { useIsMobile } from '@/hooks/use-is-mobile'; import { Button } from '@/components/ui/button'; import { useIsHCaptchaLabelingPage } from '@/hooks/use-is-hcaptcha-labeling-page'; import { useColorMode } from '@/hooks/use-color-mode'; +import { useHandleMainNavIconClick } from '@/hooks/use-handle-main-nav-icon-click'; export const NAVBAR_PADDING = '16px'; @@ -23,6 +24,7 @@ export function Navbar({ userStatsDrawerOpen, toggleUserStatsDrawer, }: NavbarProps) { + const handleMainNavIconClick = useHandleMainNavIconClick(); const { colorPalette } = useColorMode(); const isMobile = useIsMobile(); const isHCaptchaLabelingPage = useIsHCaptchaLabelingPage(); @@ -79,9 +81,20 @@ export function Navbar({ top: open ? '0' : 'unset', }} > - + { + if (isMobile) { + setOpen(false); + } + handleMainNavIconClick(); + }} + role="button" + tabIndex={0} + aria-hidden="true" + > - + - {isMobile ? : } + { + handleMainNavIconClick(); + }} + role="button" + tabIndex={0} + aria-hidden="true" + > + {isMobile ? : } + {withNavigation ? ( { + const navigate = useNavigate(); + const { user: web3User } = useWeb3Auth(); + const { user: web2Auth } = useAuth(); + const { setPageView } = useHomePageState(); + + const handleIconClick = () => { + if (web3User) { + navigate(routerPaths.operator.profile); + return; + } + + if (web2Auth) { + navigate(routerPaths.worker.profile); + return; + } + setPageView('welcome'); + navigate(routerPaths.homePage); + }; + + return handleIconClick; +}; diff --git a/packages/apps/human-app/frontend/src/pages/worker/jobs/components/available-jobs/mobile/available-jobs-drawer-mobile.tsx b/packages/apps/human-app/frontend/src/pages/worker/jobs/components/available-jobs/mobile/available-jobs-drawer-mobile.tsx index 929db94719..d1473a9784 100644 --- a/packages/apps/human-app/frontend/src/pages/worker/jobs/components/available-jobs/mobile/available-jobs-drawer-mobile.tsx +++ b/packages/apps/human-app/frontend/src/pages/worker/jobs/components/available-jobs/mobile/available-jobs-drawer-mobile.tsx @@ -13,6 +13,7 @@ import { AvailableJobsNetworkFilterMobile } from '@/pages/worker/jobs/components import { AvailableJobsStatusFilterMobile } from '@/pages/worker/jobs/components/available-jobs/mobile/available-jobs-status-filter-mobile'; import { AvailableJobsJobTypeFilterMobile } from '@/pages/worker/jobs/components/available-jobs/mobile/available-jobs-job-type-filter-mobile'; import { useColorMode } from '@/hooks/use-color-mode'; +import { useHandleMainNavIconClick } from '@/hooks/use-handle-main-nav-icon-click'; interface DrawerMobileProps { setIsMobileFilterDrawerOpen: Dispatch>; @@ -20,6 +21,7 @@ interface DrawerMobileProps { export function AvailableJobsDrawerMobile({ setIsMobileFilterDrawerOpen, }: DrawerMobileProps) { + const handleMainNavIconClick = useHandleMainNavIconClick(); const { colorPalette } = useColorMode(); const { t } = useTranslation(); const { setFilterParams, filterParams } = useJobsFilterStore(); @@ -58,7 +60,14 @@ export function AvailableJobsDrawerMobile({ zIndex: '999999', }} > - + { + handleMainNavIconClick(); + }} + > + + { diff --git a/packages/apps/human-app/frontend/src/pages/worker/jobs/components/my-jobs/mobile/my-jobs-drawer-mobile.tsx b/packages/apps/human-app/frontend/src/pages/worker/jobs/components/my-jobs/mobile/my-jobs-drawer-mobile.tsx index a6de46a0d1..735b7fe4aa 100644 --- a/packages/apps/human-app/frontend/src/pages/worker/jobs/components/my-jobs/mobile/my-jobs-drawer-mobile.tsx +++ b/packages/apps/human-app/frontend/src/pages/worker/jobs/components/my-jobs/mobile/my-jobs-drawer-mobile.tsx @@ -10,6 +10,7 @@ import { Button } from '@/components/ui/button'; import { HumanLogoIcon, SortArrow } from '@/components/ui/icons'; import { useMyJobsFilterStore } from '@/hooks/use-my-jobs-filter-store'; import { useColorMode } from '@/hooks/use-color-mode'; +import { useHandleMainNavIconClick } from '@/hooks/use-handle-main-nav-icon-click'; import { MyJobsNetworkFilterMobile } from './my-jobs-network-filter-mobile'; import { MyJobsJobTypeFilterMobile } from './my-jobs-job-type-filter-mobile'; import { MyJobsStatusFilterMobile } from './my-jobs-status-filter-mobile'; @@ -20,6 +21,7 @@ interface DrawerMobileProps { export function MyJobsDrawerMobile({ setIsMobileFilterDrawerOpen, }: DrawerMobileProps) { + const handleMainNavIconClick = useHandleMainNavIconClick(); const { colorPalette } = useColorMode(); const { t } = useTranslation(); const { setFilterParams, filterParams } = useMyJobsFilterStore(); @@ -58,7 +60,15 @@ export function MyJobsDrawerMobile({ zIndex: '999999', }} > - + { + handleMainNavIconClick(); + // setIsMobileFilterDrawerOpen(false); + }} + > + + {