"use client"; import { usePathname } from "next/navigation"; import { useGetConversationsQuery, type ChatConversation, } from "@/app/api/queries/useGetConversationsQuery"; import { KnowledgeFilterDropdown } from "@/components/knowledge-filter-dropdown"; import { ModeToggle } from "@/components/mode-toggle"; import { Navigation } from "@/components/navigation"; import { useAuth } from "@/contexts/auth-context"; import { useChat } from "@/contexts/chat-context"; import { useKnowledgeFilter } from "@/contexts/knowledge-filter-context"; interface NavigationLayoutProps { children: React.ReactNode; } export function NavigationLayout({ children }: NavigationLayoutProps) { const { selectedFilter, setSelectedFilter } = useKnowledgeFilter(); const pathname = usePathname(); const { isAuthenticated, isNoAuthMode } = useAuth(); const { endpoint, refreshTrigger, refreshConversations, startNewConversation, } = useChat(); // Only fetch conversations on chat page const isOnChatPage = pathname === "/" || pathname === "/chat"; const { data: conversations = [], isLoading: isConversationsLoading } = useGetConversationsQuery(endpoint, refreshTrigger, { enabled: isOnChatPage && (isAuthenticated || isNoAuthMode), }) as { data: ChatConversation[]; isLoading: boolean }; const handleNewConversation = () => { refreshConversations(); startNewConversation(); }; return (