diff options
Diffstat (limited to 'packages/app/src/components/dialog-settings.tsx')
| -rw-r--r-- | packages/app/src/components/dialog-settings.tsx | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/packages/app/src/components/dialog-settings.tsx b/packages/app/src/components/dialog-settings.tsx new file mode 100644 index 000000000..872cc4c80 --- /dev/null +++ b/packages/app/src/components/dialog-settings.tsx @@ -0,0 +1,87 @@ +import { Component, createSignal } from "solid-js" +import { Dialog } from "@opencode-ai/ui/dialog" +import { Tabs } from "@opencode-ai/ui/tabs" +import { Icon } from "@opencode-ai/ui/icon" +import { TextField } from "@opencode-ai/ui/text-field" +import { SettingsGeneral } from "./settings-general" +import { SettingsKeybinds } from "./settings-keybinds" +import { SettingsPermissions } from "./settings-permissions" +import { SettingsProviders } from "./settings-providers" +import { SettingsModels } from "./settings-models" +import { SettingsAgents } from "./settings-agents" +import { SettingsCommands } from "./settings-commands" +import { SettingsMcp } from "./settings-mcp" + +export const DialogSettings: Component = () => { + const [search, setSearch] = createSignal("") + + return ( + <Dialog size="large"> + <Tabs orientation="vertical" variant="settings" defaultValue="general" class="h-full settings-dialog"> + <Tabs.List> + <div class="settings-dialog__search px-3 pb-3"> + <TextField placeholder="Search" value={search()} onChange={setSearch} variant="normal" /> + </div> + <Tabs.SectionTitle>Desktop</Tabs.SectionTitle> + <Tabs.Trigger value="general"> + <Icon name="settings-gear" /> + General + </Tabs.Trigger> + <Tabs.Trigger value="shortcuts"> + <Icon name="console" /> + Shortcuts + </Tabs.Trigger> + <Tabs.SectionTitle>Server</Tabs.SectionTitle> + <Tabs.Trigger value="permissions"> + <Icon name="checklist" /> + Permissions + </Tabs.Trigger> + <Tabs.Trigger value="providers"> + <Icon name="server" /> + Providers + </Tabs.Trigger> + <Tabs.Trigger value="models"> + <Icon name="brain" /> + Models + </Tabs.Trigger> + <Tabs.Trigger value="agents"> + <Icon name="task" /> + Agents + </Tabs.Trigger> + <Tabs.Trigger value="commands"> + <Icon name="console" /> + Commands + </Tabs.Trigger> + <Tabs.Trigger value="mcp"> + <Icon name="mcp" /> + MCP + </Tabs.Trigger> + </Tabs.List> + <Tabs.Content value="general" class="no-scrollbar"> + <SettingsGeneral /> + </Tabs.Content> + <Tabs.Content value="shortcuts" class="no-scrollbar"> + <SettingsKeybinds /> + </Tabs.Content> + <Tabs.Content value="permissions" class="no-scrollbar"> + <SettingsPermissions /> + </Tabs.Content> + <Tabs.Content value="providers" class="no-scrollbar"> + <SettingsProviders /> + </Tabs.Content> + <Tabs.Content value="models" class="no-scrollbar"> + <SettingsModels /> + </Tabs.Content> + <Tabs.Content value="agents" class="no-scrollbar"> + <SettingsAgents /> + </Tabs.Content> + <Tabs.Content value="commands" class="no-scrollbar"> + <SettingsCommands /> + </Tabs.Content> + <Tabs.Content value="mcp" class="no-scrollbar"> + <SettingsMcp /> + </Tabs.Content> + </Tabs> + </Dialog> + ) +} |
