The designed Settings screen, with §36's sections #33
Labels
No Label
P0
P1
P2
release-blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: null/Privacy-Period-Tracker#33
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Settings is currently one screen of notification toggles that labels itself a stand-in, and it is the surface every other Batch 06 deliverable hangs off. It goes first.
What is true now
The Settings tab routes to
NotificationSettingsScreen—app/src/main/kotlin/dev/privacyllc/period/navigation/PeriodApp.ktwiresSETTINGS.routeto it directly. Its first line reads "Batch 05 · working surface — the designed Settings screen is Batch 06", which is honest and is also the whole of the current design.PRODUCT_PLAN.md§36 specifies six sections: Cycle, Notifications, Privacy & Security, Appearance, Premium, About.What it costs
App lock, export, delete and the privacy promise are all §36 Privacy & Security rows. Each of them needs somewhere to live, and building four screens that each invent their own entry point is how a settings tree ends up with two ways to reach the same thing.
What to do
Build the screen as §36 structures it, with the rows for unbuilt features absent rather than disabled. A greyed-out "Export My Data" is a promise with no delivery date; a row that is not there yet is simply not there yet.
The notification rows already exist and work — move them under the Notifications section rather than rewriting them.
Traps
Why filed and not fixed
It is the first deliverable of the batch rather than a defect. Filed so the ordering is explicit: three of the issues below assume this exists.
Verify: The Settings tab shows §36's Cycle, Notifications, Privacy & Security and About sections, the existing notification toggles still work from their new home, and no row is present for a feature that is not built.
Shipped in
f43e1c2. SettingsScreen.kt is the §36 root with Notifications and About; NotificationSettingsScreen is now a child at route settings/notifications and its 'working surface' banner is gone. Driven on PeriodMinSdk26: rows expand in place, the child opens, and back returns to the root rather than exiting. Rows for unbuilt features are absent rather than disabled — the reasoning is recorded in docs/design/README.md. Also extracted the fertility disclaimer to one string resource read by Today, Calendar and About. ./gradlew check passes.