"use client"; import { useAtom } from "jotai"; import { Bot, Brain, FileText, Globe, ImageIcon, MessageSquare, Shield } from "lucide-react"; import { useTranslations } from "next-intl"; import type React from "react"; import { searchSpaceSettingsDialogAtom } from "@/atoms/settings/settings-dialog.atoms"; import { PublicChatSnapshotsManager } from "@/components/public-chat-snapshots/public-chat-snapshots-manager"; import { GeneralSettingsManager } from "@/components/settings/general-settings-manager"; import { ImageModelManager } from "@/components/settings/image-model-manager"; import { LLMRoleManager } from "@/components/settings/llm-role-manager"; import { ModelConfigManager } from "@/components/settings/model-config-manager"; import { PromptConfigManager } from "@/components/settings/prompt-config-manager"; import { RolesManager } from "@/components/settings/roles-manager"; import { SettingsDialog } from "@/components/settings/settings-dialog"; interface SearchSpaceSettingsDialogProps { searchSpaceId: number; } export function SearchSpaceSettingsDialog({ searchSpaceId }: SearchSpaceSettingsDialogProps) { const t = useTranslations("searchSpaceSettings"); const [state, setState] = useAtom(searchSpaceSettingsDialogAtom); const navItems = [ { value: "general", label: t("nav_general"), icon: }, { value: "models", label: t("nav_agent_configs"), icon: }, { value: "roles", label: t("nav_role_assignments"), icon: }, { value: "image-models", label: t("nav_image_models"), icon: , }, { value: "team-roles", label: t("nav_team_roles"), icon: }, { value: "prompts", label: t("nav_system_instructions"), icon: , }, { value: "public-links", label: t("nav_public_links"), icon: }, ]; const content: Record = { general: , models: , roles: , "image-models": , "team-roles": , prompts: , "public-links": , }; return ( setState((prev) => ({ ...prev, open }))} title={t("title")} navItems={navItems} activeItem={state.initialTab} onItemChange={(tab) => setState((prev) => ({ ...prev, initialTab: tab }))} > {content[state.initialTab]} ); }