Add full light and dark mode support for iOS and Android

This commit ensures both platforms properly support light and dark mode with automatic switching based on system settings.

## iOS Changes
- Updated DesignSystem.swift to use adaptive system colors
- Changed neutral colors to use UIKit system colors:
  - background: systemGroupedBackground
  - surface: secondarySystemGroupedBackground
  - text colors: label, secondaryLabel, tertiaryLabel
  - borders: separator, opaqueSeparator
- Colors now automatically adapt to light/dark mode
- Info.plist already configured to support both modes

## Android Changes
- Updated AndroidManifest.xml app theme
- Changed from Theme.Material.Light.NoActionBar to Theme.Material.NoActionBar
- Allows app to respect system dark mode settings
- Theme.kt already has complete light/dark color schemes
- MyCribTheme automatically switches based on system settings

## Testing
- iOS: Toggle Settings → Display & Brightness → Appearance
- Android: Toggle Settings → Display → Dark theme
- Both platforms automatically update colors

🤖 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-12 11:53:49 -06:00
parent b888315e0c
commit ffb21aed62
2 changed files with 11 additions and 11 deletions

View File

@@ -17,7 +17,7 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@android:style/Theme.Material.Light.NoActionBar"
android:theme="@android:style/Theme.Material.NoActionBar"
android:networkSecurityConfig="@xml/network_security_config">
<activity
android:exported="true"

View File

@@ -1,7 +1,7 @@
import SwiftUI
// MARK: - Design System
// Modern, sleek design system for MyCrib
// Modern, sleek design system for MyCrib with Light and Dark mode support
struct AppColors {
// Primary Colors - Modern blue gradient
@@ -19,17 +19,17 @@ struct AppColors {
static let error = Color(hex: "EF4444") ?? .red
static let info = Color(hex: "3B82F6") ?? .blue
// Neutral Colors - Modern grays
static let background = Color(hex: "F9FAFB") ?? Color(.systemGroupedBackground)
static let surface = Color.white
static let surfaceSecondary = Color(hex: "F3F4F6") ?? Color(.secondarySystemGroupedBackground)
// Adaptive Neutral Colors - Automatically adapt to light/dark mode
static let background = Color(uiColor: .systemGroupedBackground)
static let surface = Color(uiColor: .secondarySystemGroupedBackground)
static let surfaceSecondary = Color(uiColor: .tertiarySystemGroupedBackground)
static let textPrimary = Color(hex: "111827") ?? Color(.label)
static let textSecondary = Color(hex: "6B7280") ?? Color(.secondaryLabel)
static let textTertiary = Color(hex: "9CA3AF") ?? Color(.tertiaryLabel)
static let textPrimary = Color(uiColor: .label)
static let textSecondary = Color(uiColor: .secondaryLabel)
static let textTertiary = Color(uiColor: .tertiaryLabel)
static let border = Color(hex: "E5E7EB") ?? Color(.separator)
static let borderLight = Color(hex: "F3F4F6") ?? Color(.separator)
static let border = Color(uiColor: .separator)
static let borderLight = Color(uiColor: .opaqueSeparator)
// Task Status Colors
static let taskUpcoming = Color(hex: "3B82F6") ?? .blue