"use client"; import { useEffect, useState } from "react"; import { X, Settings } from "lucide-react"; import { useUserPrefs, type DevicePref } from "@/hooks/useUserPrefs"; export function SettingsButton({ onOpen }: { onOpen: () => void }) { return ( ); } export function SettingsModal({ isOpen, onClose, }: { isOpen: boolean; onClose: () => void; }) { const { prefs, ready, update } = useUserPrefs(); const [tab, setTab] = useState<"general" | "execution">("general"); const [localPrompt, setLocalPrompt] = useState(""); const [device, setDevice] = useState("auto"); const [gpuIndex, setGpuIndex] = useState(0); const [numGpu, setNumGpu] = useState(1); useEffect(() => { if (!ready) return; setLocalPrompt(prefs.systemPrompt); setDevice(prefs.device); setGpuIndex(prefs.gpuIndex); setNumGpu(prefs.numGpu); }, [ready, prefs]); const handleSave = () => { update({ systemPrompt: localPrompt, device, gpuIndex, numGpu }); onClose(); }; if (!isOpen) return null; return (

Settings

{tab === "general" && (