Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion Cotabby/UI/Settings/SettingsSidebarView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@ struct SettingsSidebarView: View {

var body: some View {
List(selection: $selection) {
// First row would otherwise sit flush against the window title bar. A clear-color
// sentinel that is excluded from selection gives the sidebar the same top breathing
// room as the detail pane without fighting `.listStyle(.sidebar)`.
Color.clear
.frame(height: 8)
.listRowBackground(Color.clear)
.selectionDisabled()
Comment on lines +22 to +25
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Adding .accessibilityHidden(true) prevents VoiceOver from landing on this invisible placeholder row when the user navigates the sidebar.

Suggested change
Color.clear
.frame(height: 8)
.listRowBackground(Color.clear)
.selectionDisabled()
Color.clear
.frame(height: 8)
.listRowBackground(Color.clear)
.selectionDisabled()
.accessibilityHidden(true)

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

Fix in Codex Fix in Claude Code


ForEach(SettingsSidebarSection.allCases, id: \.self) { section in
let rows = SettingsCategory.allCases.filter { $0.section == section }
if !rows.isEmpty {
Expand All @@ -30,7 +38,8 @@ struct SettingsSidebarView: View {
}
}
.listStyle(.sidebar)
.navigationSplitViewColumnWidth(min: 200, ideal: 220, max: 260)
// Wider min/ideal so labels like "Apple Intelligence" do not truncate to "Apple I...".
.navigationSplitViewColumnWidth(min: 240, ideal: 260, max: 320)
}

@ViewBuilder
Expand Down