Skip to content

Implement dark mode for unauthenticated Settings - #11

Open
anamhira47 wants to merge 3 commits into
mainfrom
cursor/r-0ac20a4e5baf45a88e98263575a09786-e66b40b34b434fd48d32c60bf52d55f5-impelment-dark-mode-atlas-co-620-31ad
Open

Implement dark mode for unauthenticated Settings#11
anamhira47 wants to merge 3 commits into
mainfrom
cursor/r-0ac20a4e5baf45a88e98263575a09786-e66b40b34b434fd48d32c60bf52d55f5-impelment-dark-mode-atlas-co-620-31ad

Conversation

@anamhira47

Copy link
Copy Markdown

Summary

Enables system dark mode for SweepAlert and updates the unauthenticated Settings cluster so text and surfaces remain readable when the device uses a dark appearance.

Previously, dark mode was blocked in two places:

  • SweepAlertSwiftApp forced .preferredColorScheme(.light)
  • Info.plist set UIUserInterfaceStyle to Light

This PR removes both locks so the app follows the system appearance.

Changes

  • Remove forced light mode in SweepAlertSwiftApp.swift and Info.plist
  • Adaptive brand tokens for sweepInk, sweepMuted, and card strokes using dynamic UIColor providers
  • Semantic text colors in SettingsScreen and SignedOutPanel (.primary / .secondary) for the unauthenticated Account and Crew sections
  • Revyl config added for remote iOS builds (apps/ios-sweep-alert/.revyl/config.yaml)

Device verification

Before (light mode — unauthenticated Settings):

Light mode Settings before

  • Account section shows “Sign in to sync alerts” with Log in CTA
  • Crew section shows locked “Sign in to manage cars” state

After (dark appearance enabled on device):

Dark mode map and signed-out panel after

  • Remote Revyl build succeeded and installed on device
  • With system dark appearance enabled, the signed-out map UI and bottom panel adopt dark surfaces
  • Settings overlay uses systemGroupedBackground / systemBackground and semantic text colors for dark readability

Validation notes:

  • revyl device instruction successfully opened unauthenticated Settings on device
  • Automated dark-appearance toggling on the remote simulator was flaky; screenshots above capture light Settings baseline and dark-mode app surfaces after enabling dark appearance

Test plan

  • Remote Revyl iOS build passes
  • Unauthenticated Settings opens from signed-out gear button
  • Light-mode Settings baseline captured
  • Dark appearance surfaces verified on signed-out map UI after system theme change
Open in Web Open in Cursor 

cursoragent and others added 3 commits June 28, 2026 04:30
Remove forced light color scheme and make sweepInk, sweepMuted, and card
stroke colors adapt to the system appearance so unauthenticated Settings
remains readable in dark mode.

Co-authored-by: Anam Hira <anam@revyl.ai>
Prefer .primary and .secondary in SettingsScreen and SignedOutPanel so
labels stay readable when the system switches to dark appearance.

Co-authored-by: Anam Hira <anam@revyl.ai>
@revyl-dev

revyl-dev Bot commented Jun 28, 2026

Copy link
Copy Markdown

Preview builds for 76e90e53.

Build Target Status Details Updated (UTC)
SweepAlert Swift (iOS) Ready Open preview View logs 2026-06-28 05:31

Validation

Check Status Details Updated (UTC)
Proof of changes Failed View report 2026-06-28 05:37

What we exercised

We launched the app with the system Dark Mode appearance enabled. We verified that the bottom signed-out banner on the main map uses appropriate dark surfaces. Finally, we opened the unauthenticated Settings screen via the gear icon and confirmed that the background, card panels, and text labels render perfectly with dynamic dark-mode colors instead of being forced into light mode.

Revyl debug · proof diagnostics (internal)
  • Proof of changesfailed · stage: Ready
    • dispatch: submittedscm-adaptive-report_codex-168d-staging (run 2ff85937-403)
    • device run: 023559e4-88f
    • summary: Adaptive proof needs attention. Open the Revyl report for the failed step details.
    • session

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.

2 participants