diff --git a/surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx b/surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx index 105c21e26..fd449dcb7 100644 --- a/surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx +++ b/surfsense_web/app/dashboard/[search_space_id]/client-layout.tsx @@ -6,9 +6,10 @@ import { AnimatePresence, motion } from "motion/react"; import { useParams, usePathname, useRouter } from "next/navigation"; import { useTranslations } from "next-intl"; import type React from "react"; -import { useEffect, useMemo, useState } from "react"; +import { useCallback, useEffect, useMemo, useState } from "react"; import { activeChathatUIAtom, activeChatIdAtom } from "@/atoms/chats/ui.atoms"; import { activeSearchSpaceIdAtom } from "@/atoms/seach-spaces/seach-space-queries.atom"; +import { llmPreferencesAtom } from "@/atoms/llm-config/llm-config-query.atoms"; import { ChatPanelContainer } from "@/components/chat/ChatPanel/ChatPanelContainer"; import { DashboardBreadcrumb } from "@/components/dashboard-breadcrumb"; import { LanguageSwitcher } from "@/components/LanguageSwitcher"; @@ -17,7 +18,6 @@ import { ThemeTogglerComponent } from "@/components/theme/theme-toggle"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; import { SidebarInset, SidebarProvider, SidebarTrigger } from "@/components/ui/sidebar"; -import { useLLMPreferences } from "@/hooks/use-llm-configs"; import { useUserAccess } from "@/hooks/use-rbac"; import { cn } from "@/lib/utils"; @@ -60,7 +60,18 @@ export function DashboardClientLayout({ } }, [activeChatId, isChatPannelOpen]); - const { loading, error, isOnboardingComplete } = useLLMPreferences(searchSpaceIdNum); + // Replace useLLMPreferences with jotai atom + const { data: preferences = {}, isFetching: loading, error } = useAtomValue(llmPreferencesAtom); + + // Create isOnboardingComplete function for backward compatibility + const isOnboardingComplete = useCallback(() => { + return !!( + preferences.long_context_llm_id && + preferences.fast_llm_id && + preferences.strategic_llm_id + ); + }, [preferences]); + const { access, loading: accessLoading } = useUserAccess(searchSpaceIdNum); const [hasCheckedOnboarding, setHasCheckedOnboarding] = useState(false);