feat(settings): Privacy & Data — sectioned page + Unpair Ring / Reset App Data#73
Open
rgvxsthi wants to merge 2 commits into
Open
feat(settings): Privacy & Data — sectioned page + Unpair Ring / Reset App Data#73rgvxsthi wants to merge 2 commits into
rgvxsthi wants to merge 2 commits into
Conversation
…actions Restructure Privacy & Data into three iOS-grouped SettingsGroup sections (Diagnostics · App data · Demo data) and add reset/restore actions: - Unpair Ring — ble.forget() (ring forgets this phone; health data kept). - Reset App Data — factory reset: SeedData.clearAll (all SwiftData) + delete coach API keys from Keychain (OpenAI/Gemini/OpenRouter/MiniMax) + wipe the app's UserDefaults domain + reset the in-memory setting singletons to defaults. Emptying UserProfile returns the app to onboarding (RootViews gates on it). - Unpair Ring & Reset App Data — forget() first (flush the unbind), then reset. All three are confirmation-gated (destructive role, strong warning on reset). Export diagnostics + Clear/Reseed demo data preserved, re-sectioned.
…sted pills The reset/export/demo actions were capsule buttons wrapped in FormField inside SettingsGroup, which nested a pill inside each group card (redundant surfaces + wasted space). Replace them with flat full-width action rows placed directly in SettingsGroup, so each section is one inset card of rows with hairline dividers and a one-line footer description — matching the app's other grouped settings. Destructive App-data actions are tinted danger; behavior (confirmations, wipe, export, demo) is unchanged. Drops the local DangerButton in favor of the row's tint.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Restructures Settings → Privacy & Data into three iOS-grouped sections and adds reset/restore actions.
Sections (SettingsGroup, grouped like the other sub-pages)
App-data actions (each behind a confirmation, destructive styling)
ble.forget(): the ring forgets this phone; your health data stays.SeedData.clearAll(all SwiftData) + delete the coach API keys from Keychain (OpenAI/Gemini/OpenRouter/MiniMax) + wipe the app's UserDefaults domain + reset the in-memory setting singletons to.default. EmptyingUserProfilereturns the app to onboarding (RootViews gates ononboardingCompleted).forget()first (so the unbind write flushes), then the full reset.Notes
PrivacyDataSettingsView.swiftchanged; no other Settings pages/structure touched.DangerButton(there's no shared destructive button role) mirroringSecondaryButton's look, tintedPulseColors.danger,role: .destructive.Image Preview