/**
 * FitAI Color System - BOLD MODERN
 * Electric Blue palette with high-energy fitness app aesthetics
 */

export interface ColorScheme {
  // Primary Colors
  primary: string;
  primaryDark: string;
  primaryLight: string;

  // Accent Colors
  accent: string;
  secondary: string;
  terracotta: string;
  sand: string;

  // Status Colors
  success: string;
  warning: string;
  danger: string;
  info: string;

  // Activity Ring Colors
  calories: string;
  water: string;
  workouts: string;

  // Neutrals
  background: string;
  surface: string;
  surfaceElevated: string;

  // Text
  textPrimary: string;
  textSecondary: string;
  textTertiary: string;

  // Borders
  border: string;
  borderLight: string;

  // Overlays
  overlay: string;
  overlayLight: string;

  // Gradients (as arrays)
  primaryGradient: string[];
  cardGradient: string[];

  // Legacy compatibility
  white: string;
  black: string;
}

/**
 * Light Mode - Bold & Energetic
 */
export const lightColors: ColorScheme = {
  // Primary Colors - Electric Blue
  primary: "#0066FF",
  primaryDark: "#0052CC",
  primaryLight: "#3385FF",

  // Accent Colors
  accent: "#7B2CBF", // Purple
  secondary: "#FF3B7A", // Hot Pink
  terracotta: "#FF6B35", // Neon Orange
  sand: "#FFD60A", // Electric Yellow

  // Status Colors - Vibrant
  success: "#00D26A",
  warning: "#FFB800",
  danger: "#FF3B3B",
  info: "#00B8D9",

  // Activity Ring Colors
  calories: "#FF6B35", // Orange for calories
  water: "#00B8D9", // Cyan for water
  workouts: "#0066FF", // Blue for workouts

  // Neutrals - Bold dark on light
  background: "#F5F5F7",
  surface: "#FFFFFF",
  surfaceElevated: "#FFFFFF",

  // Text - High contrast dark
  textPrimary: "#1A1A1A",
  textSecondary: "#4A4A4A",
  textTertiary: "#8E8E93",

  // Borders
  border: "#E5E5EA",
  borderLight: "#F0F0F5",

  // Overlays
  overlay: "rgba(0, 0, 0, 0.5)",
  overlayLight: "rgba(0, 0, 0, 0.03)",

  // Gradients
  primaryGradient: ["#0066FF", "#0052CC"],
  cardGradient: ["#FFFFFF", "#F8F8FA"],

  // Legacy
  white: "#FFFFFF",
  black: "#1A1A1A",
};

/**
 * Dark Mode - Premium & Immersive
 */
export const darkColors: ColorScheme = {
  // Primary Colors - Electric Blue (brighter on dark)
  primary: "#0A84FF",
  primaryDark: "#0066FF",
  primaryLight: "#5AC8FA",

  // Accent Colors
  accent: "#BF5AF2", // Purple
  secondary: "#FF375F", // Hot Pink
  terracotta: "#FF9500", // Orange
  sand: "#FFD60A", // Yellow

  // Status Colors
  success: "#30D158",
  warning: "#FFD60A",
  danger: "#FF453A",
  info: "#64D2FF",

  // Activity Ring Colors (even brighter for dark mode)
  calories: "#FF9500",
  water: "#64D2FF",
  workouts: "#0A84FF",

  // Neutrals - Dark backgrounds
  background: "#000000",
  surface: "#1C1C1E",
  surfaceElevated: "#2C2C2E",

  // Text - Bright on dark
  textPrimary: "#FFFFFF",
  textSecondary: "#EBEBF5",
  textTertiary: "#8E8E93",

  // Borders
  border: "#38383A",
  borderLight: "#48484A",

  // Overlays
  overlay: "rgba(0, 0, 0, 0.6)",
  overlayLight: "rgba(255, 255, 255, 0.05)",

  // Gradients
  primaryGradient: ["#0A84FF", "#0066FF"],
  cardGradient: ["#1C1C1E", "#2C2C2E"],

  // Legacy
  white: "#FFFFFF",
  black: "#000000",
};

/**
 * Get color scheme based on theme mode
 */
export const getColors = (mode: "light" | "dark"): ColorScheme => {
  return mode === "dark" ? darkColors : lightColors;
};
