Add 5 new themes to iOS app (Lavender, Crimson, Midnight, Desert, Mint)

Expanded the theming system from 5 to 10 total themes with comprehensive light/dark mode support. Each new theme includes unique color palettes optimized for visibility and WCAG contrast compliance.

New Themes:
- Lavender: Soft purple with pink accents
- Crimson: Bold red with warm highlights
- Midnight: Deep navy with sky blue tones
- Desert: Warm terracotta and sand palette
- Mint: Fresh green with turquoise accents

Technical Details:
- Created 45 new colorset files (9 colorsets × 5 themes)
- Each theme includes Primary, Secondary, Accent, 2 Backgrounds, and 4 Text colors
- Dark mode colors use 60-90% lightness for high visibility on dark backgrounds
- Consistent text colors across all themes for accessibility
- Updated ThemeManager.swift to include all 10 themes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-11-21 09:07:54 -06:00
parent 050a486d6f
commit b260eaa821
108 changed files with 3460 additions and 67 deletions

View File

@@ -1,14 +1,17 @@
import SwiftUI
struct MainTabView: View {
@EnvironmentObject private var themeManager: ThemeManager
@State private var selectedTab = 0
@StateObject private var authManager = AuthenticationManager.shared
var refreshID: UUID
var body: some View {
TabView(selection: $selectedTab) {
NavigationView {
ResidencesListView()
}
.id(refreshID)
.tabItem {
Label("Residences", systemImage: "house.fill")
}
@@ -18,6 +21,7 @@ struct MainTabView: View {
NavigationView {
AllTasksView()
}
.id(refreshID)
.tabItem {
Label("Tasks", systemImage: "checkmark.circle.fill")
}
@@ -27,6 +31,7 @@ struct MainTabView: View {
NavigationView {
ContractorsListView()
}
.id(refreshID)
.tabItem {
Label("Contractors", systemImage: "wrench.and.screwdriver.fill")
}
@@ -36,6 +41,7 @@ struct MainTabView: View {
NavigationView {
DocumentsWarrantiesView(residenceId: nil)
}
.id(refreshID)
.tabItem {
Label("Documents", systemImage: "doc.text.fill")
}
@@ -45,6 +51,7 @@ struct MainTabView: View {
NavigationView {
ProfileTabView()
}
.id(refreshID)
.tabItem {
Label("Profile", systemImage: "person.fill")
}
@@ -59,5 +66,6 @@ struct MainTabView: View {
}
#Preview {
MainTabView()
MainTabView(refreshID: UUID())
.environmentObject(ThemeManager.shared)
}