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

import SwiftUI
import Bedrock

// MARK: - App Branding Colors

extension Color {
    /// BusinessCard branding colors for icon and launch screen.
    enum Branding {
        /// Primary gradient color (warm coral/red).
        /// Must match LaunchBackground.colorset exactly to prevent flash.
        static let primary = Color(red: 0.949, green: 0.329, blue: 0.278)
        
        /// Secondary gradient color (darker red).
        static let secondary = Color(red: 0.65, green: 0.18, blue: 0.15)
        
        /// Accent color for icons and highlights.
        static let accent = Color.white
    }
}

// MARK: - App Icon Configuration

extension AppIconConfig {
    /// BusinessCard app icon configuration.
    static let businessCard = AppIconConfig(
        title: "CARDS",
        subtitle: nil,
        iconSymbol: "person.text.rectangle",
        primaryColor: Color.Branding.primary,
        secondaryColor: Color.Branding.secondary,
        accentColor: Color.Branding.accent
    )
}

// MARK: - Launch Screen Configuration

extension LaunchScreenConfig {
    /// BusinessCard launch screen configuration.
    static let businessCard = LaunchScreenConfig(
        title: "BUSINESS CARD",
        tagline: "Share Your Professional Identity",
        iconSymbols: ["person.text.rectangle"],
        cornerSymbol: nil,
        decorativeSymbol: "circle.fill",
        patternStyle: .dots,
        layoutStyle: .iconAboveTitle,
        primaryColor: Color.Branding.primary,
        secondaryColor: Color.Branding.secondary,
        accentColor: Color.Branding.accent,
        titleColor: .white,
        iconSize: 52,
        titleSize: 32,
        iconSpacing: 12,
        animationDuration: 0.6
    )
}
