diff --git a/.pi/orksorksorks/alanvardy-var-1132-change-reminder-icon/done.md b/.pi/orksorksorks/alanvardy-var-1132-change-reminder-icon/done.md new file mode 100644 index 00000000..789a1640 --- /dev/null +++ b/.pi/orksorksorks/alanvardy-var-1132-change-reminder-icon/done.md @@ -0,0 +1,7 @@ +# Done + +- **What was built**: The Settings > Reminders row now uses the `checklist` SF Symbol instead of `bell.badge`, so it is visually distinct from the Notifications row (which remains `bell.badge`). The matching `SettingsCaptionTests` fixture was updated. +- **Commit SHA(s)**: `f762d298` +- **Verification**: `make format` and `make lint` clean (0 violations); `make build` → `** TEST BUILD SUCCEEDED **`; focused `SingleThreadTests/SettingsCaptionTests` suite → 3/3 cases passed. +- **Reviewer findings**: No blockers. One nit: the working-tree `DELETEME` deletion is unrelated and was left out of this commit. +- **Remaining manual items**: Confirm the `DELETEME` removal is committed before merge (branch hygiene); visual check of the new icon on device/simulator if desired. diff --git a/.pi/orksorksorks/alanvardy-var-1132-change-reminder-icon/small.md b/.pi/orksorksorks/alanvardy-var-1132-change-reminder-icon/small.md new file mode 100644 index 00000000..ea4c357c --- /dev/null +++ b/.pi/orksorksorks/alanvardy-var-1132-change-reminder-icon/small.md @@ -0,0 +1,38 @@ +# Task + +In the app's Settings screen, the "Reminders" row and the "Notifications" row +use the same SF Symbol (`bell.badge`), so they look identical. Give the +Reminders entry its own distinct, semantically appropriate SF Symbol +(e.g. a checklist/reminder-style symbol such as `checklist` or +`list.bullet.clipboard`), leaving the Notifications row on `bell.badge`. + +Scope: +- `SingleThread/SettingsView.swift` — the `SettingsLinkLabel` for the + Reminders section (line ~96) currently uses `systemImage: "bell.badge"`; + change only that one. The Notifications label (line ~104) and the + `NotificationsSettingsView.swift` bell icon stay as they are. +- Update the fixture/expectation in `SingleThreadTests/SettingsCaptionTests.swift` + (line ~42) if it pins the Reminders row's icon. +- Keep the accessibility label unchanged; only the icon changes. + +Verify the chosen symbol exists in the deployment target's SF Symbols set +(compile/build is the check), run `make format`/`make lint`, and build. + +# Why SMALL + +A. Single module, one source file (plus possibly one test fixture), follows + the existing `SettingsLinkLabel(systemImage:)` pattern. +B. No unknowns beyond choosing a valid SF Symbol. +C. No schema/migration. +D. No new subsystem, shared code, or convention change. +E. No product/design trade-off needing sign-off — just a different icon. +F. Test surface is local (at most one existing fixture assertion). + +# Key files + +- `SingleThread/SettingsView.swift` — lines ~94–105, the two `bell.badge` rows. +- `SingleThread/SettingsCaption.swift` — `SettingsCaption`/`SettingsLinkLabel` + (`systemImage` property). +- `SingleThreadTests/SettingsCaptionTests.swift` — line ~42 fixture. +- `SingleThread/NotificationsSettingsView.swift` — has its own `bell.badge`; + do not change (only referenced so it is not confused with the Reminders row). diff --git a/SingleThread/SettingsView.swift b/SingleThread/SettingsView.swift index adddf16b..c79a2422 100644 --- a/SingleThread/SettingsView.swift +++ b/SingleThread/SettingsView.swift @@ -101,7 +101,7 @@ struct SettingsView: View { NavigationLink(value: SettingsRoute.reminder) { SettingsLinkLabel( title: SharedStrings.reminder, - systemImage: "bell.badge", + systemImage: "checklist", caption: "Choose what information is shown with each reminder.") } .accessibilityIdentifier("settingsReminderRow") diff --git a/SingleThreadTests/SettingsCaptionTests.swift b/SingleThreadTests/SettingsCaptionTests.swift index 7b14c3b9..c947b5ec 100644 --- a/SingleThreadTests/SettingsCaptionTests.swift +++ b/SingleThreadTests/SettingsCaptionTests.swift @@ -39,7 +39,7 @@ struct SettingsCaptionTests { func linkLabelContainsTitleAndCaption() { let view = SettingsLinkLabel( title: "Reminder", - systemImage: "bell.badge", + systemImage: "checklist", caption: "Choose what information is shown with each reminder.") let bodyDescription = String(describing: view.body) #expect(bodyDescription.contains("Reminder"))