import 'package:flutter/material.dart';
import 'app_colors.dart';

/// Facade de compatibilité — redirige vers [AppColors]
///
/// Cette classe existe uniquement pour ne pas casser le code existant.
/// Pour tout nouveau code, utiliser [AppColors] directement.
///
/// @deprecated Utiliser [AppColors]
class UnionFlowColors {
  UnionFlowColors._();

  // ── Primaire ────────────────────────────────────────────────────────────
  static const Color unionBlue      = AppColors.primary;
  static const Color unionBlueLight = AppColors.primaryLight;
  static const Color unionBlueDark  = AppColors.primaryDark;
  static const Color unionBluePale  = AppColors.primaryContainer;
  static const Color unionBlueLogo  = AppColors.logoBlue;

  // ── Accent ──────────────────────────────────────────────────────────────
  static const Color unionPurple      = AppColors.accent;
  static const Color unionPurpleLight = AppColors.accentLight;
  static const Color unionPurpleDark  = AppColors.accentDark;
  static const Color unionPurplePale  = AppColors.accentContainer;

  // ── Sémantique ──────────────────────────────────────────────────────────
  static const Color success      = AppColors.success;
  static const Color successLight = AppColors.successUI;
  static const Color successPale  = AppColors.successContainer;

  static const Color warning      = AppColors.warning;
  static const Color warningLight = AppColors.warningUI;
  static const Color warningPale  = AppColors.warningContainer;

  static const Color error      = AppColors.error;
  static const Color errorLight = AppColors.errorLight;
  static const Color errorPale  = AppColors.errorContainer;

  static const Color info      = AppColors.info;
  static const Color infoLight = AppColors.infoLight;
  static const Color infoPale  = AppColors.infoContainer;

  // ── Surfaces ────────────────────────────────────────────────────────────
  static const Color background      = AppColors.background;
  static const Color surface         = AppColors.surface;
  static const Color surfaceVariant  = AppColors.surfaceContainer;
  static const Color surfaceContainer = AppColors.surfaceContainerHigh;
  static const Color surfaceGlass    = AppColors.backgroundSubtle;

  // ── Texte & Bordures ─────────────────────────────────────────────────────
  static const Color textPrimary   = AppColors.textPrimary;
  static const Color textSecondary = AppColors.textSecondary;
  static const Color textTertiary  = AppColors.textDisabled;

  static const Color border       = AppColors.border;
  static const Color borderMedium = AppColors.borderStrong;
  static const Color borderStrong = AppColors.textDisabled;

  // ── Palette brand ────────────────────────────────────────────────────────
  static const Color amber         = AppColors.amber;
  static const Color amberLight    = AppColors.amberLight;
  static const Color gold          = AppColors.accent;
  static const Color goldLight     = AppColors.accentLight;
  static const Color goldPale      = AppColors.accentContainer;
  static const Color terracotta    = AppColors.terracotta;
  static const Color terracottaLight = AppColors.terracottaLight;
  static const Color terracottaPale  = AppColors.terracottaPale;
  static const Color indigo      = AppColors.indigo;
  static const Color indigoLight = AppColors.indigoLight;
  static const Color sand        = AppColors.sand;
  static const Color sandLight   = AppColors.sandLight;

  // ── Alias historiques ────────────────────────────────────────────────────
  static const Color unionGreen      = AppColors.primary;
  static const Color unionGreenLight = AppColors.primaryLight;
  static const Color unionGreenPale  = AppColors.primaryContainer;

  // ── Gradients ────────────────────────────────────────────────────────────
  static const LinearGradient logoGradient    = AppColors.logoGradient;
  static const LinearGradient primaryGradient = AppColors.primaryGradient;
  static const LinearGradient loginGradient   = AppColors.loginGradient;
  static const LinearGradient subtleGradient  = AppColors.subtleGradient;
  static const LinearGradient warmGradient    = AppColors.warmGradient;
  static const LinearGradient goldGradient    = AppColors.logoGradient;

  // ── Ombres ───────────────────────────────────────────────────────────────
  static List<BoxShadow> get softShadow     => AppColors.softShadow;
  static List<BoxShadow> get mediumShadow   => AppColors.mediumShadow;
  static List<BoxShadow> get blueGlowShadow  => AppColors.blueGlowShadow;
  static List<BoxShadow> get purpleGlowShadow => AppColors.purpleGlowShadow;
  static List<BoxShadow> get greenGlowShadow  => AppColors.blueGlowShadow;
  static List<BoxShadow> get goldGlowShadow   => AppColors.purpleGlowShadow;
}
