import { Dialog } from "@kobalte/core/dialog" import { Settings, Bell, MonitorUp, Paintbrush, Terminal, X } from "lucide-solid" import { createMemo, For, type Component } from "solid-js" import { useI18n } from "../lib/i18n" import { activeSettingsSection, closeSettings, settingsOpen, setActiveSettingsSection, type SettingsSectionId, } from "../stores/settings-screen" import { AppearanceSettingsSection } from "./settings/appearance-settings-section" import { NotificationsSettingsSection } from "./settings/notifications-settings-section" import { OpenCodeSettingsSection } from "./settings/opencode-settings-section" import { RemoteAccessSettingsSection } from "./settings/remote-access-settings-section" export const SettingsScreen: Component = () => { const { t } = useI18n() const sections = createMemo(() => [ { id: "appearance" as SettingsSectionId, icon: Paintbrush, label: t("settings.nav.appearance") }, { id: "notifications" as SettingsSectionId, icon: Bell, label: t("settings.nav.notifications") }, { id: "remote" as SettingsSectionId, icon: MonitorUp, label: t("settings.nav.remote") }, { id: "opencode" as SettingsSectionId, icon: Terminal, label: t("settings.nav.opencode") }, ]) const renderSection = () => { switch (activeSettingsSection()) { case "notifications": return case "remote": return case "opencode": return case "appearance": default: return } } return ( !open && closeSettings()}>
{t("settings.title")}

{t("settings.content.eyebrow")}

{sections().find((section) => section.id === activeSettingsSection())?.label}

{renderSection()}
) }