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