From f7004110585c8bd4f7cfa21cacaec97aa1fe3695 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Sun, 8 Feb 2026 12:19:51 -0600 Subject: [PATCH] Signed-off-by: Matt Bruce --- PRD.md | 3 +++ README.md | 1 + .../Onboarding/Views/Components/OnboardingGetStartedPage.swift | 2 ++ .../Views/Components/OnboardingPermissionsPage.swift | 2 +- .../Onboarding/Views/Components/OnboardingWelcomePage.swift | 2 +- 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/PRD.md b/PRD.md index e4d7109..95479c8 100644 --- a/PRD.md +++ b/PRD.md @@ -120,6 +120,9 @@ TheNoiseClock is a SwiftUI-based iOS application that combines a customizable di - **In-app alarm screen**: Full-screen alarm UI with Snooze/Stop when the app is active - **App Intents**: StopAlarmIntent and SnoozeAlarmIntent for Live Activity button actions +### 7. Onboarding & Activation +- **Feature discoverability copy**: Onboarding explicitly calls out repeat schedules and per-alarm vibration/flash/volume controls. + ## Advanced Clock Display Features ### Fixed-Width Digit Rendering diff --git a/README.md b/README.md index 43ddc5c..cc6b315 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ Swift access is provided via: - Add/Edit alarm sheets now stay open if scheduling fails, preserving user inputs and showing an in-sheet error alert. - Alarm list ordering now prioritizes enabled alarms and sorts by the next trigger time for faster at-a-glance relevance. - Repeat-day controls now follow locale weekday order and include accessibility identifiers for repeat/alert options controls. +- Onboarding now explicitly highlights repeat schedules plus per-alarm vibration/flash/volume customization for better feature discovery. --- diff --git a/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingGetStartedPage.swift b/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingGetStartedPage.swift index dd0ec9f..65a30f3 100644 --- a/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingGetStartedPage.swift +++ b/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingGetStartedPage.swift @@ -37,6 +37,8 @@ struct OnboardingGetStartedPage: View { VStack(alignment: .leading, spacing: Design.Spacing.small) { OnboardingFeatureRow(icon: "alarm.fill", text: "Create your first alarm") + OnboardingFeatureRow(icon: "repeat", text: "Set repeat days (weekdays/weekends)") + OnboardingFeatureRow(icon: "slider.horizontal.3", text: "Customize vibration, flash, and volume") OnboardingFeatureRow(icon: "clock.fill", text: "Wait 5s for full screen") OnboardingFeatureRow(icon: "speaker.wave.2", text: "Tap Noise to play sounds") } diff --git a/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingPermissionsPage.swift b/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingPermissionsPage.swift index 9f64c0a..cd72ad3 100644 --- a/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingPermissionsPage.swift +++ b/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingPermissionsPage.swift @@ -40,7 +40,7 @@ struct OnboardingPermissionsPage: View { .fixedSize(horizontal: false, vertical: true) .padding(.horizontal, Design.Spacing.large) - Text("Works in silent mode, Focus mode, and even when your phone is locked.") + Text("Works in silent mode, Focus mode, and even when your phone is locked. You can then set repeat days and customize alert behavior.") .typography(.body) .foregroundStyle(AppTextColors.secondary) .multilineTextAlignment(.center) diff --git a/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingWelcomePage.swift b/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingWelcomePage.swift index 64d4f20..786fc7f 100644 --- a/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingWelcomePage.swift +++ b/TheNoiseClock/Features/Onboarding/Views/Components/OnboardingWelcomePage.swift @@ -35,7 +35,7 @@ struct OnboardingWelcomePage: View { ) OnboardingFeatureRow( icon: "alarm.fill", - text: "Wake up gently, on your terms" + text: "Wake up your way with custom alarms" ) OnboardingFeatureRow( icon: "clock.fill",