Skip to content

Group Settings panes into clearer subsections#413

Merged
FuJacob merged 2 commits into
mainfrom
settings-grouping
May 30, 2026
Merged

Group Settings panes into clearer subsections#413
FuJacob merged 2 commits into
mainfrom
settings-grouping

Conversation

@FuJacob

@FuJacob FuJacob commented May 30, 2026

Copy link
Copy Markdown
Owner

Summary

Tightens the Settings layout so every grouped card has a meaningful header and related controls live together.

  • General: the top toggles (Enable Globally, Fast Mode) now sit under a Status header, and the trailing Open Welcome Guide row gets a Help header instead of floating below Appearance.
  • Writing: the top section is renamed Length (the pane itself is already titled Writing), and the Profile mega-card is split into three cards: Profile (caption + Name), Languages, and Rules. Each editor renders its own internal label and Clear control.
  • Apps: the section header is renamed Disabled Apps so it doesn't duplicate the tab title.
  • Shortcuts: split into Mode (acceptance mode picker) and Keys (Accept Word, Accept Entire Suggestion).

Copy-only / layout-only change. No behavior, persistence, or binding changes.

Validation

Local SwiftLint pass (swiftlint lint --quiet on the four modified files): exit 0. Did not run xcodebuild this round; changes are pure SwiftUI section rearrangement.

Linked issues

Risk / rollout notes

Low risk; affects only the redesigned Settings panes under Cotabby/UI/Settings/Panes/.

Greptile Summary

This is a pure SwiftUI layout reorganisation across the four Settings panes and the two shared editor components (LanguageTagsEditor, CustomRulesEditor). No bindings, persistence, or business logic are touched.

  • General / Shortcuts / Apps: previously anonymous or redundantly-named Section headers are given explicit labels ("Status", "Help", "Mode", "Keys", "Disabled Apps"); the Shortcuts pane is split from one section into two.
  • Writing: the "Profile" mega-card is broken into three separate Sections (Profile, Languages, Rules); a new showsTitleHeader: Bool = true parameter on both editor components lets the Section header carry the label while preserving the Clear button, with the default true keeping existing callers (SettingsView, WelcomeProfileStepView) unchanged.

Confidence Score: 5/5

Safe to merge — all changes are SwiftUI Section header renames and card splits with no logic, binding, or persistence modifications.

Every file touched is a pure layout reorganisation: string literals for Section headers are renamed or added, one pane is split into two sections, and two shared editor components gain an opt-in showsTitleHeader parameter that defaults to true, leaving all existing call sites (SettingsView, WelcomeProfileStepView) behaviorally identical. There are no data model, persistence, or control-flow changes anywhere in the diff.

No files require special attention.

Important Files Changed

Filename Overview
Cotabby/UI/Settings/Panes/WritingPaneView.swift Splits the old 'Profile' mega-card into Profile (name only), Languages, and Rules sections; renames 'Writing' → 'Length'; passes showsTitleHeader: false to the two editors so Section headers carry the title.
Cotabby/UI/CustomRulesEditor.swift Adds showsTitleHeader: Bool = true param; wraps the header HStack in `if showsTitleHeader
Cotabby/UI/LanguageTagsEditor.swift Mirrors the showsTitleHeader addition from CustomRulesEditor. Existing callers in SettingsView and WelcomeProfileStepView omit the param and keep the default true, so they are unaffected.
Cotabby/UI/Settings/Panes/GeneralPaneView.swift Adds explicit 'Status' and 'Help' headers to the two previously anonymous Sections; no control or binding changes.
Cotabby/UI/Settings/Panes/ShortcutsPaneView.swift Splits the single 'Shortcuts' Section into 'Mode' (AcceptanceModePickerView) and 'Keys' (keybind rows); no logic changes.
Cotabby/UI/Settings/Panes/AppsPaneView.swift One-line rename: 'Apps' → 'Disabled Apps' to avoid duplicating the tab title. No other changes.

Reviews (2): Last reviewed commit: "Address review: broaden Writing caption,..." | Re-trigger Greptile

- General: add Status and Help section titles so the top and bottom groups have headers
- Writing: rename the top section to Length and split the Profile card into Profile (Name), Languages, and Rules so each editor sits in its own card
- Apps: rename the section to Disabled Apps so it does not duplicate the tab title
- Shortcuts: split Acceptance Mode and keybinds into Mode and Keys sections
Comment thread Cotabby/UI/Settings/Panes/WritingPaneView.swift
Comment thread Cotabby/UI/Settings/Panes/WritingPaneView.swift Outdated
@FuJacob FuJacob merged commit 95d2375 into main May 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant