summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/settings-general.tsx
diff options
context:
space:
mode:
authorJay <[email protected]>2026-04-16 23:31:00 -0400
committerGitHub <[email protected]>2026-04-17 03:31:00 +0000
commitfbbab9d6c8a03c4cd5bed0d13a85f52e3aca47ce (patch)
tree883ade9bc40164adaf14e69069068971cda17cee /packages/app/src/components/settings-general.tsx
parentcccb907a9b3df7eb6fae71ee9e2392dccc73e9d3 (diff)
downloadopencode-fbbab9d6c8a03c4cd5bed0d13a85f52e3aca47ce.tar.gz
opencode-fbbab9d6c8a03c4cd5bed0d13a85f52e3aca47ce.zip
feat(app): hide desktop titlebar tools behind settings (#19029)
Co-authored-by: Brendan Allan <[email protected]> Co-authored-by: Brendan Allan <[email protected]>
Diffstat (limited to 'packages/app/src/components/settings-general.tsx')
-rw-r--r--packages/app/src/components/settings-general.tsx74
1 files changed, 74 insertions, 0 deletions
diff --git a/packages/app/src/components/settings-general.tsx b/packages/app/src/components/settings-general.tsx
index b4ac061df..c380fb69b 100644
--- a/packages/app/src/components/settings-general.tsx
+++ b/packages/app/src/components/settings-general.tsx
@@ -106,6 +106,7 @@ export const SettingsGeneral: Component = () => {
permission.disableAutoAccept(params.id, value)
}
+ const desktop = createMemo(() => platform.platform === "desktop")
const check = () => {
if (!platform.checkUpdate) return
@@ -279,6 +280,74 @@ export const SettingsGeneral: Component = () => {
</div>
)
+ const AdvancedSection = () => (
+ <div class="flex flex-col gap-1">
+ <h3 class="text-14-medium text-text-strong pb-2">{language.t("settings.general.section.advanced")}</h3>
+
+ <SettingsList>
+ <SettingsRow
+ title={language.t("settings.general.row.showFileTree.title")}
+ description={language.t("settings.general.row.showFileTree.description")}
+ >
+ <div data-action="settings-show-file-tree">
+ <Switch
+ checked={settings.general.showFileTree()}
+ onChange={(checked) => settings.general.setShowFileTree(checked)}
+ />
+ </div>
+ </SettingsRow>
+
+ <SettingsRow
+ title={language.t("settings.general.row.showNavigation.title")}
+ description={language.t("settings.general.row.showNavigation.description")}
+ >
+ <div data-action="settings-show-navigation">
+ <Switch
+ checked={settings.general.showNavigation()}
+ onChange={(checked) => settings.general.setShowNavigation(checked)}
+ />
+ </div>
+ </SettingsRow>
+
+ <SettingsRow
+ title={language.t("settings.general.row.showSearch.title")}
+ description={language.t("settings.general.row.showSearch.description")}
+ >
+ <div data-action="settings-show-search">
+ <Switch
+ checked={settings.general.showSearch()}
+ onChange={(checked) => settings.general.setShowSearch(checked)}
+ />
+ </div>
+ </SettingsRow>
+
+ <SettingsRow
+ title={language.t("settings.general.row.showTerminal.title")}
+ description={language.t("settings.general.row.showTerminal.description")}
+ >
+ <div data-action="settings-show-terminal">
+ <Switch
+ checked={settings.general.showTerminal()}
+ onChange={(checked) => settings.general.setShowTerminal(checked)}
+ />
+ </div>
+ </SettingsRow>
+
+ <SettingsRow
+ title={language.t("settings.general.row.showStatus.title")}
+ description={language.t("settings.general.row.showStatus.description")}
+ >
+ <div data-action="settings-show-status">
+ <Switch
+ checked={settings.general.showStatus()}
+ onChange={(checked) => settings.general.setShowStatus(checked)}
+ />
+ </div>
+ </SettingsRow>
+ </SettingsList>
+ </div>
+ )
+
const AppearanceSection = () => (
<div class="flex flex-col gap-1">
<h3 class="text-14-medium text-text-strong pb-2">{language.t("settings.general.section.appearance")}</h3>
@@ -527,6 +596,7 @@ export const SettingsGeneral: Component = () => {
</div>
)
+ console.log(import.meta.env)
return (
<div class="flex flex-col h-full overflow-y-auto no-scrollbar px-4 pb-10 sm:px-10 sm:pb-10">
<div class="sticky top-0 z-10 bg-[linear-gradient(to_bottom,var(--surface-stronger-non-alpha)_calc(100%_-_24px),transparent)]">
@@ -609,6 +679,10 @@ export const SettingsGeneral: Component = () => {
)
}}
</Show>
+
+ <Show when={desktop() && import.meta.env.VITE_OPENCODE_CHANNEL === "beta"}>
+ <AdvancedSection />
+ </Show>
</div>
</div>
)