import React, { useEffect, useRef } from 'react'; import { EyeOff } from 'lucide-react'; export const DEFAULT_CHAT_SETTINGS = { advancedHelpEnabled: false, askBeforeActing: true, executionProfile: 'fast', incognito: false, }; function Toggle({ value, onChange, }) { return (); } export function ChatSettingsPopover({ open, onClose, settings, onChange, }) { const panelRef = useRef(null); useEffect(() => { if (!open) return; const onKeyDown = (e) => { if (e.key === 'Escape') onClose(); }; const onMouseDown = (e) => { const t = e.target; if (panelRef.current && !panelRef.current.contains(t)) onClose(); }; window.addEventListener('keydown', onKeyDown); window.addEventListener('mousedown', onMouseDown); return () => { window.removeEventListener('keydown', onKeyDown); window.removeEventListener('mousedown', onMouseDown); }; }, [open, onClose]); if (!open) return null; return (
Chat settings
These apply only to this chat.
Advanced help
Enables optional smart actions when available.
onChange({ ...settings, advancedHelpEnabled: v })}/>
Ask before acting
Confirm before running advanced actions.
onChange({ ...settings, askBeforeActing: v })}/>
{/* Divider */}
Incognito mode
No memories stored, no profile shared. Perfect for work tasks.
onChange({ ...settings, incognito: v })}/>
Execution style
Speed vs quality preference.
{['fast', 'balanced', 'quality'].map((p) => { const active = settings.executionProfile === p; return (); })}
); }