diff --git a/src/admin/AdminAppMenu.tsx b/src/admin/AdminAppMenu.tsx index a87fe58a..bec06c61 100644 --- a/src/admin/AdminAppMenu.tsx +++ b/src/admin/AdminAppMenu.tsx @@ -15,7 +15,7 @@ import { IoArrowDown, IoArrowUp, IoCloseSharp } from 'react-icons/io5'; import { clsx } from 'clsx/lite'; import AdminAppInfoIcon from './AdminAppInfoIcon'; import { signOutAction } from '@/auth/actions'; -import { ComponentProps, useMemo } from 'react'; +import { ComponentProps, useEffect, useMemo } from 'react'; import useIsKeyBeingPressed from '@/utility/useIsKeyBeingPressed'; import IconPhoto from '@/components/icons/IconPhoto'; import IconUpload from '@/components/icons/IconUpload'; @@ -56,6 +56,15 @@ export default function AdminAppMenu({ clearAuthStateAndRedirectIfNecessary, } = useAppState(); + useEffect(() => { + if ( + pathname !== PATH_GRID_INFERRED && + selectedPhotoIds !== undefined + ) { + setSelectedPhotoIds?.(undefined); + } + }, [pathname, selectedPhotoIds, setSelectedPhotoIds]); + const appText = useAppText(); const isSelecting = selectedPhotoIds !== undefined; @@ -162,13 +171,11 @@ export default function AdminAppMenu({ href: PATH_GRID_INFERRED, }, action: () => { - setTimeout(() => { - if (isSelecting) { - setSelectedPhotoIds?.(undefined); - } else { - setSelectedPhotoIds?.([]); - } - }, 200); + if (isSelecting) { + setSelectedPhotoIds?.(undefined); + } else { + setSelectedPhotoIds?.([]); + } }, }); } diff --git a/src/photo/PhotoGridPageClient.tsx b/src/photo/PhotoGridPageClient.tsx index 8b87aa24..e3f0c9ac 100644 --- a/src/photo/PhotoGridPageClient.tsx +++ b/src/photo/PhotoGridPageClient.tsx @@ -4,8 +4,7 @@ import { Photo } from '.'; import { PATH_GRID_INFERRED } from '@/app/path'; import PhotoGridSidebar from './PhotoGridSidebar'; import PhotoGridContainer from './PhotoGridContainer'; -import { ComponentProps, useEffect, useMemo, useRef } from 'react'; -import { useAppState } from '@/app/AppState'; +import { ComponentProps, useMemo, useRef } from 'react'; import clsx from 'clsx/lite'; import MaskedScroll from '@/components/MaskedScroll'; import { IS_RECENTS_FIRST } from '@/app/config'; @@ -28,13 +27,6 @@ export default function PhotoGridPageClient({ }) { const ref = useRef(null); - const { setSelectedPhotoIds } = useAppState(); - - useEffect( - () => () => setSelectedPhotoIds?.(undefined), - [setSelectedPhotoIds], - ); - const viewPortHeight = useViewportHeight(); const containerHeight = useMemo(() => viewPortHeight - (ref.current?.getBoundingClientRect().y ?? 0),