From eb3a576a6dbe2abd48517118286703a726bb64de Mon Sep 17 00:00:00 2001 From: Kaede Akino Date: Sat, 29 Aug 2026 00:49:16 +0800 Subject: [PATCH] Refine settings sidebar selection --- Termind.xcodeproj/project.pbxproj | 2 +- .../Features/Settings/SettingsPageView.swift | 24 ++++++------------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/Termind.xcodeproj/project.pbxproj b/Termind.xcodeproj/project.pbxproj index 806bab58..770bde75 100644 --- a/Termind.xcodeproj/project.pbxproj +++ b/Termind.xcodeproj/project.pbxproj @@ -17,8 +17,8 @@ TRMD00000000000000100007 /* GhosttyKit in Frameworks */ = {isa = PBXBuildFile; productRef = TRMD00000000000000100016 /* GhosttyKit */; }; TRMD00000000000000100008 /* MarkdownView in Frameworks */ = {isa = PBXBuildFile; productRef = TRMD00000000000000100017 /* MarkdownView */; }; TRMD00000000000000100009 /* ListViewKit in Frameworks */ = {isa = PBXBuildFile; productRef = TRMD00000000000000100018 /* ListViewKit */; }; - TRMD00000000000000100010 /* ScrubberKit in Frameworks */ = {isa = PBXBuildFile; productRef = TRMD00000000000000100019 /* ScrubberKit */; }; TRMD0000000000000010000B /* GlyphixTextFx in Frameworks */ = {isa = PBXBuildFile; productRef = TRMD0000000000000010001A /* GlyphixTextFx */; }; + TRMD00000000000000100010 /* ScrubberKit in Frameworks */ = {isa = PBXBuildFile; productRef = TRMD00000000000000100019 /* ScrubberKit */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ diff --git a/Termind/Features/Settings/SettingsPageView.swift b/Termind/Features/Settings/SettingsPageView.swift index 4da745c2..6d5803ff 100644 --- a/Termind/Features/Settings/SettingsPageView.swift +++ b/Termind/Features/Settings/SettingsPageView.swift @@ -234,6 +234,7 @@ private struct SettingsSidebar: View { .font(.caption2.weight(.semibold)) .foregroundStyle(.tertiary) .tracking(0.7) + .frame(maxWidth: .infinity, alignment: .leading) .padding(.horizontal, Metrics.Space.m) case .section(let section, _): sectionRow(section) @@ -253,24 +254,13 @@ private struct SettingsSidebar: View { } private func sectionRow(_ section: SettingsSection) -> some View { - Button { select(section) } label: { - HStack(spacing: Metrics.Space.s) { - Image(systemName: section.symbol) - .frame(width: Metrics.Sidebar.rowIcon) - .accessibilityHidden(true) - Text(section.title) - } - .frame(maxWidth: .infinity, alignment: .leading) - .padding(.horizontal, Metrics.Space.m) - .padding(.vertical, Metrics.Space.s) - .background( - Highlight.fill(isSelected: selection == section), - in: .rect(cornerRadius: Metrics.Radius.medium) - ) - .contentShape(.rect) + SidebarNavigatorRow( + title: section.title, + symbol: section.symbol, + isSelected: selection == section + ) { + select(section) } - .buttonStyle(.plain) - .accessibilityAddTraits(selection == section ? .isSelected : []) } }