Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>

This commit is contained in:
Matt Bruce 2026-02-07 16:47:22 -06:00
parent e03689f38c
commit 7b3a8903a8
3 changed files with 23 additions and 9 deletions

View File

@ -36,7 +36,8 @@ struct TopOverlayView: View {
let _ = print("TopOverlayView: Rendering. Alarms count: \(alarmService.alarms.count), Enabled: \(alarmService.enabledAlarms.count)")
VStack(spacing: Design.Spacing.small) {
HStack {
// Row 1: Date and Battery (Standard Status Bar positions)
HStack(alignment: .center) {
if showDate {
DateOverlayView(color: color, opacity: opacity, dateFormat: dateFormat)
}
@ -52,8 +53,10 @@ struct TopOverlayView: View {
)
}
}
.padding(.top, Design.Spacing.xxSmall) // Minimal top padding for status bar alignment
HStack(alignment: .top) {
// Row 2: Alarms and Noise Controls (Below Dynamic Island)
HStack(alignment: .center) {
if showNextAlarm, let nextAlarm = alarmService.enabledAlarms.sorted(by: { $0.time.nextOccurrence() < $1.time.nextOccurrence() }).first {
NextAlarmOverlay(
alarmTime: nextAlarm.time.nextOccurrence(),
@ -80,6 +83,7 @@ struct TopOverlayView: View {
)
}
}
.padding(.top, Design.Spacing.xSmall) // Extra spacing to clear Dynamic Island in portrait
}
.padding(.horizontal, Design.Spacing.medium)
.padding(.vertical, Design.Spacing.small)

View File

@ -34,6 +34,8 @@ struct OnboardingPermissionsPage: View {
.typography(.heroBold)
.foregroundStyle(AppTextColors.primary)
.multilineTextAlignment(.center)
.fixedSize(horizontal: false, vertical: true)
.padding(.horizontal, Design.Spacing.large)
Text("Works in silent mode, Focus mode, and even when your phone is locked.")
.typography(.body)

View File

@ -21,35 +21,43 @@ struct KeepAwakePrompt: View {
VStack(spacing: Design.Spacing.small) {
Text("Keep Awake for Alarms")
.typography(.title2)
.typography(.title2Bold)
.foregroundStyle(AppTextColors.primary)
.multilineTextAlignment(.center)
Text("Enable Keep Awake so your alarm can play loudly and show the full screen while TheNoiseClock stays open.")
.typography(.body)
.foregroundStyle(AppTextColors.secondary)
.multilineTextAlignment(.center)
.padding(.horizontal, Design.Spacing.small)
}
VStack(spacing: Design.Spacing.small) {
VStack(spacing: Design.Spacing.medium) {
Button(action: onEnable) {
Text("Enable Keep Awake")
.font(Typography.headingEmphasis.font)
.foregroundStyle(.white)
.frame(maxWidth: .infinity)
.frame(height: 50)
.background(AppAccent.primary)
.clipShape(.rect(cornerRadius: Design.CornerRadius.medium))
}
.buttonStyle(color: AppAccent.primary)
Button(action: onDismiss) {
Text("Not Now")
.font(Typography.bodyEmphasis.font)
.foregroundStyle(AppTextColors.secondary)
.frame(maxWidth: .infinity)
.frame(height: 44)
}
.buttonStyle(.plain)
.foregroundStyle(AppTextColors.secondary)
}
}
.padding(Design.Spacing.xLarge)
.frame(maxWidth: .infinity)
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(AppSurface.primary)
.presentationDetents([.medium])
.presentationDetents([.height(340)])
.presentationCornerRadius(Design.CornerRadius.xxLarge)
.presentationBackground(AppSurface.primary)
}
}