//
//  BrandingConfig.swift
//  SelfieCam
//
//  App-specific branding configurations for icons and launch screens.
//

import SwiftUI
import Bedrock

// MARK: - App Branding Colors

extension Color {
    /// SelfieCam branding colors for icon and launch screen.
    enum Branding {
        /// Primary gradient color - rich magenta/rose for a vibrant, modern selfie aesthetic.
        static let primary = Color(red: 0.85, green: 0.25, blue: 0.45)
        
        /// Secondary gradient color - deeper magenta/purple for depth.
        static let secondary = Color(red: 0.45, green: 0.12, blue: 0.35)
        
        /// Accent color - soft white/cream for clean, bright text and icons.
        static let accent = Color.white
    }
}

// MARK: - App Icon Configuration

extension AppIconConfig {
    /// SelfieCam app icon configuration.
    /// A vibrant, modern icon perfect for a selfie camera app.
    static let selfieCam = AppIconConfig(
        title: "SELFIE",
        subtitle: "CAM",
        iconSymbol: "camera.fill",
        primaryColor: Color.Branding.primary,
        secondaryColor: Color.Branding.secondary,
        accentColor: Color.Branding.accent
    )
}

// MARK: - Launch Screen Configuration

extension LaunchScreenConfig {
    /// SelfieCam launch screen configuration.
    /// Animated launch screen with camera-focused visuals and radial glow.
    static let selfieCam = LaunchScreenConfig(
        title: "SELFIE CAM",
        tagline: "Look Your Best",
        iconSymbols: ["camera.fill", "sparkles"],
        cornerSymbol: "sparkle",
        decorativeSymbol: "circle.fill",
        patternStyle: .radial,
        layoutStyle: .iconAboveTitle,
        primaryColor: Color.Branding.primary,
        secondaryColor: Color.Branding.secondary,
        accentColor: Color.Branding.accent,
        titleColor: .white,
        iconSize: 52,
        titleSize: 38,
        subtitleSize: 72,
        iconSpacing: 12,
        animationDuration: 0.6,
        showLoadingIndicator: false
    )
}
