TheNoiseClock/TheNoiseClock/Features/Clock/Views/Components/Settings/OverlaySection.swift
Matt Bruce a3398f0dd0 refactored with bedrock and organized folders
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2026-01-31 10:46:41 -06:00

67 lines
2.1 KiB
Swift

//
// OverlaySection.swift
// TheNoiseClock
//
// Created by Matt Bruce on 9/7/25.
//
import SwiftUI
import Bedrock
struct OverlaySection: View {
@Binding var style: ClockStyle
private let dateFormats = Date.availableDateFormats()
var body: some View {
VStack(alignment: .leading, spacing: Design.Spacing.small) {
SettingsSectionHeader(
title: "Overlays",
systemImage: "rectangle.on.rectangle.angled",
accentColor: AppAccent.primary
)
SettingsCard(backgroundColor: AppSurface.card, borderColor: AppBorder.subtle) {
SettingsSlider(
title: "Overlay Opacity",
subtitle: "Adjust battery and date visibility",
value: $style.overlayOpacity,
in: 0.0...1.0,
step: 0.01,
format: SliderFormat.percentage,
accentColor: AppAccent.primary
)
SettingsToggle(
title: "Battery Level",
subtitle: "Show battery percentage",
isOn: $style.showBattery,
accentColor: AppAccent.primary
)
SettingsToggle(
title: "Date",
subtitle: "Display the current date",
isOn: $style.showDate,
accentColor: AppAccent.primary
)
if style.showDate {
VStack(alignment: .leading, spacing: Design.Spacing.xxSmall) {
Text("Date Format")
.font(.subheadline.weight(.medium))
.foregroundStyle(AppTextColors.primary)
Picker("Date Format", selection: $style.dateFormat) {
ForEach(dateFormats, id: \.1) { format in
Text(format.0).tag(format.1)
}
}
.pickerStyle(.menu)
}
}
}
}
}
}