import React from "react"; import { Dialog, DialogClose, DialogContent, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; import { FaCog } from "react-icons/fa"; import { EditorTheme, Settings } from "../../types"; import { Switch } from "../ui/switch"; import { Label } from "../ui/label"; import { Input } from "../ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger } from "../ui/select"; import { capitalize } from "../../lib/utils"; import { IS_RUNNING_ON_CLOUD } from "../../config"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "../ui/accordion"; interface Props { settings: Settings; setSettings: React.Dispatch>; } function SettingsDialog({ settings, setSettings }: Props) { const handleThemeChange = (theme: EditorTheme) => { setSettings((s) => ({ ...s, editorTheme: theme, })); }; return ( Settings
setSettings((s) => ({ ...s, isImageGenerationEnabled: !s.isImageGenerationEnabled, })) } />
setSettings((s) => ({ ...s, openAiApiKey: e.target.value, })) } />
{!IS_RUNNING_ON_CLOUD && (
setSettings((s) => ({ ...s, openAiBaseURL: e.target.value, })) } />
)}
setSettings((s) => ({ ...s, anthropicApiKey: e.target.value, })) } />
Screenshot by URL Config setSettings((s) => ({ ...s, screenshotOneApiKey: e.target.value, })) } /> Theme Settings
Save
); } export default SettingsDialog;