iOS App - Phase 2#2
Merged
Merged
Conversation
Signed-off-by: Will <willscottuk@users.noreply.github.com>
Five new primary surfaces, all reachable from MainTabView and the universal-link router wired in W1·D5. Every screen reuses the safe Inspector + glass-card language established in Week 1. - Map: SwiftUI Map with Spark-tinted pins, time-of-day scrubber overlay, persistent bottom sheet of in-region points; debounced /map/data refetch on pan and date change. - Place detail: hero + visit-streak chip, embedded mini-map, ledger, events here, nearby chip row. Replaces the Week 1 placeholder. - Integrations: list grouped by domain bucket; detail with status pill, Sync now, Reauthorise via ASWebAuthenticationSession (strong-ref pattern from commit 9572314); reachable from Settings and DetailRoute. - Notifications inbox: cursor pagination, mark-as-read on appear, swipe-to-delete, "Mark all read" toolbar, optimistic updates, unread badge driven by @query against CachedNotification (added to SparkSchemaV1 in place — migration plan deferred until pre-TestFlight). - Search: .searchable + horizontal mode pills (default / > / # / $ / @ / ~), 300ms debounce, prefix-typed shortcut switches mode, polymorphic SearchResult enum, sectioned results. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Real SettingsRootView replaces SettingsPlaceholderView. Adds Profile, Devices, API Tokens, About and Debug sub-views wired to new SparkKit endpoints (MeEndpoint, DevicesEndpoint, ApiTokensEndpoint) and models (UserProfile, RegisteredDevice, ApiToken, CreatedApiToken). AppModel.bootstrap() now registers the current device on every login. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Real NotificationsPreferencesView with per-category toggles, delivery mode segmented picker, and conditional digest-time DatePicker. Saves on every edit with 500ms debounce. NotificationPreferences model and NotificationsPreferencesEndpoint (GET/PATCH /settings/notifications) land in SparkKit. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Full SparkHealth package: HealthKitPermissionManager (3-wave progressive auth), HealthKitTypeMap, HealthKitAnchorStore, HealthKitObserver (HKObserverQuery + HKAnchoredObjectQuery), HealthSampleUploader (background URLSession). HealthSample + HealthEndpoint in SparkKit. HealthKitScopesView in Settings. AppDelegate wired for background URL session events. Background-delivery entitlement added. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Full 7-step onboarding NavigationStack (Hero→SignIn→HealthKit×3→ Notifications→Location→Done) with progress persistence in App Group UserDefaults. RootView shows flow on first launch and resumes from last step. CheckInModalView replaces placeholder: mood chips (5 states with coloured fill), multi-select tag chips, 500-char note, POST to /check-ins with local UserDefaults persistence. TodaySnapshot reads persisted entries so CheckInCard flips to logged state after entry. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
No description provided.