File tree Expand file tree Collapse file tree
frontend/features/layouts Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -86,7 +86,7 @@ import { DeleteFilesOption } from "@/shared/components/delete-files-option"
8686import { useDialogSnapshot } from "@/shared/hooks/use-dialog-snapshot"
8787import { useSettingsChatPreferences } from "@/features/settings/hooks/use-settings-chat-preferences"
8888import { useLayoutActiveConversation } from "@/features/layouts/hooks/use-layout-active-conversation"
89- import { useMobileSidebarNavigation } from "@/features/layouts/hooks/use-mobile- sidebar-navigation"
89+ import { useSidebarConversationNavigation } from "@/features/layouts/hooks/use-sidebar-conversation -navigation"
9090import { SidebarConversationItem } from "@/features/layouts/components/navigation/sidebar-conversation-item"
9191import type {
9292 SidebarConversationDeleteTarget ,
@@ -593,7 +593,7 @@ export function NavProjects() {
593593 const resolveErrorMessage = useLocalizedErrorMessage ( )
594594 const { isMobile, setOpenMobile } = useSidebar ( )
595595 const router = useRouter ( )
596- const onNavigate = useMobileSidebarNavigation ( )
596+ const onNavigate = useSidebarConversationNavigation ( )
597597 const pathname = usePathname ( )
598598 const searchParams = useSearchParams ( )
599599 const activeRecentProjectID = searchParams . get ( "project" ) ?? ""
Original file line number Diff line number Diff line change @@ -39,7 +39,7 @@ import { useDialogSnapshot } from "@/shared/hooks/use-dialog-snapshot"
3939import { useSettingsChatPreferences } from "@/features/settings/hooks/use-settings-chat-preferences"
4040import { useLayoutActiveConversation } from "@/features/layouts/hooks/use-layout-active-conversation"
4141import { useLayoutSidebarListFlip } from "@/features/layouts/hooks/use-layout-sidebar-list-flip"
42- import { useMobileSidebarNavigation } from "@/features/layouts/hooks/use-mobile- sidebar-navigation"
42+ import { useSidebarConversationNavigation } from "@/features/layouts/hooks/use-sidebar-conversation -navigation"
4343import type {
4444 SidebarConversationDeleteTarget ,
4545 SidebarConversationRenameTarget ,
@@ -55,7 +55,7 @@ const RECENTS_OPEN_STORAGE_KEY = "deeix.sidebar.recents.open"
5555
5656export function NavRecents ( ) {
5757 const t = useTranslations ( "recent" )
58- const onNavigate = useMobileSidebarNavigation ( )
58+ const onNavigate = useSidebarConversationNavigation ( )
5959 const router = useRouter ( )
6060 const activeConversationID = useLayoutActiveConversation ( )
6161 const { deleteFilesByDefault } = useSettingsChatPreferences ( )
Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ import { useDialogSnapshot } from "@/shared/hooks/use-dialog-snapshot"
4242import { useSettingsChatPreferences } from "@/features/settings/hooks/use-settings-chat-preferences"
4343import { useLayoutActiveConversation } from "@/features/layouts/hooks/use-layout-active-conversation"
4444import { useLayoutSidebarListFlip } from "@/features/layouts/hooks/use-layout-sidebar-list-flip"
45- import { useMobileSidebarNavigation } from "@/features/layouts/hooks/use-mobile- sidebar-navigation"
45+ import { useSidebarConversationNavigation } from "@/features/layouts/hooks/use-sidebar-conversation -navigation"
4646import { SIDEBAR_OVERFLOW_ROW_TRANSITION } from "@/features/layouts/model/sidebar-motion"
4747import type {
4848 SidebarConversationDeleteTarget ,
@@ -72,7 +72,7 @@ export function NavStarred() {
7272 const t = useTranslations ( "recent" )
7373 const { isMobile, setOpenMobile } = useSidebar ( )
7474 const router = useRouter ( )
75- const onNavigate = useMobileSidebarNavigation ( )
75+ const onNavigate = useSidebarConversationNavigation ( )
7676 const activeConversationID = useLayoutActiveConversation ( )
7777 const { deleteFilesByDefault } = useSettingsChatPreferences ( )
7878
Load diff This file was deleted.
Original file line number Diff line number Diff line change 1+ "use client"
2+
3+ import * as React from "react"
4+ import { useRouter } from "next/navigation"
5+
6+ import { useSidebar } from "@/components/ui/sidebar"
7+
8+ function shouldUseNativeNavigation ( event : React . MouseEvent < HTMLAnchorElement > ) {
9+ const target = event . currentTarget . getAttribute ( "target" )
10+ return event . defaultPrevented ||
11+ event . button !== 0 ||
12+ event . metaKey ||
13+ event . ctrlKey ||
14+ event . shiftKey ||
15+ event . altKey ||
16+ Boolean ( target && target !== "_self" )
17+ }
18+
19+ export function useSidebarConversationNavigation ( ) {
20+ const router = useRouter ( )
21+ const { isMobile, setOpenMobile } = useSidebar ( )
22+
23+ return React . useCallback ( ( href : string , event : React . MouseEvent < HTMLAnchorElement > ) => {
24+ if ( shouldUseNativeNavigation ( event ) ) {
25+ return
26+ }
27+
28+ event . preventDefault ( )
29+ router . push ( href )
30+ if ( isMobile ) {
31+ setOpenMobile ( false )
32+ }
33+ } , [ isMobile , router , setOpenMobile ] )
34+ }
You can’t perform that action at this time.
0 commit comments