Add SelfieCamTheme with branded colors and settings card containers

- Create SelfieCamTheme.swift with rose/magenta-tinted surface colors
- Add AppSurface, AppAccent, AppStatus, AppBorder typealiases to avoid conflicts
- Wrap settings sections in SettingsCard containers for visual grouping
- Add accentColor parameter to all SegmentedPicker and SettingsToggle usages
- Update all color references to use App-prefixed typealiases
- Background uses AppSurface.primary, cards use AppSurface.card
This commit is contained in:
Matt Bruce 2026-01-04 16:55:12 -06:00
parent 255f3c2d68
commit 003d933521

View File

@ -284,7 +284,8 @@ struct SettingsView: View {
SegmentedPicker(
title: "",
options: CameraFlashMode.allCases.map { ($0.displayName, $0) },
selection: $viewModel.flashMode
selection: $viewModel.flashMode,
accentColor: AppAccent.primary
)
.accessibilityLabel(String(localized: "Select flash mode"))
}
@ -311,7 +312,8 @@ struct SettingsView: View {
SegmentedPicker(
title: "",
options: CameraHDRMode.allCases.map { ($0.displayName, $0) },
selection: $viewModel.hdrMode
selection: $viewModel.hdrMode,
accentColor: AppAccent.primary
)
.disabled(!isPremiumUnlocked)
.accessibilityLabel(String(localized: "Select HDR mode"))
@ -398,7 +400,8 @@ struct SettingsView: View {
(String(localized: "Front"), CameraPosition.front),
(String(localized: "Back"), CameraPosition.back)
],
selection: $viewModel.cameraPosition
selection: $viewModel.cameraPosition,
accentColor: AppAccent.primary
)
.accessibilityLabel(String(localized: "Select camera position"))
}
@ -777,9 +780,9 @@ struct SettingsView: View {
SettingsToggle(
title: "Enable Debug Premium",
subtitle: "Unlock all premium features for testing",
isOn: $viewModel.isDebugPremiumEnabled
isOn: $viewModel.isDebugPremiumEnabled,
accentColor: AppStatus.warning
)
.tint(AppStatus.warning)
// Icon Generator
NavigationLink {
IconGeneratorView(config: .selfieCam, appName: "SelfieCam")