part of 'theme.dart';

class AppColor {
  // Primary Colors
  static const Color primary = Color(0xFF36175e);
  static const Color primaryLight = Color(0xFF5a2d85);
  static const Color primaryDark = Color(0xFF1e0d35);

  // Secondary Colors
  static const Color secondary = Color(0xFF4CAF50);
  static const Color secondaryLight = Color(0xFF81C784);
  static const Color secondaryDark = Color(0xFF388E3C);

  // Background Colors
  static const Color background = Color(0xFFF1F5F9);
  static const Color backgroundLight = Color(0xFFFFFFFF);
  static const Color backgroundDark = Color(0xFF1A1A1A);
  static const Color surface = Color(0xFFFFFFFF);
  static const Color surfaceDark = Color(0xFF2D2D2D);

  // Text Colors
  static const Color textPrimary = Color(0xFF212121);
  static const Color textSecondary = Color(0xFF757575);
  static const Color textLight = Color(0xFFBDBDBD);
  static const Color textWhite = Color(0xFFFFFFFF);

  // Status Colors
  static const Color success = Color(0xFF4CAF50);
  static const Color error = Color(0xFFE53E3E);
  static const Color warning = Color(0xFFFF9800);
  static const Color info = Color(0xFF2196F3);

  // Border Colors
  static const Color border = Color(0xFFE0E0E0);
  static const Color borderLight = Color(0xFFF0F0F0);
  static const Color borderDark = Color(0xFFBDBDBD);

  // Basic Color
  static const Color white = Color(0xFFFFFFFF);
  static const Color black = Color(0xFF000000);

  static const Color disabled = Color(0xFFC8D1E1);

  // Gradient Colors
  static const List<Color> primaryGradient = [
    Color(0xFF36175e),
    Color(0xFF5a2d85),
  ];

  static const List<Color> successGradient = [
    Color(0xFF4CAF50),
    Color(0xFF81C784),
  ];

  static const List<Color> backgroundGradient = [
    Color(0xFFF5F5F5),
    Color(0xFFE8E8E8),
  ];

  // Opacity Variations
  static Color primaryWithOpacity(double opacity) =>
      primary.withOpacity(opacity);
  static Color successWithOpacity(double opacity) =>
      success.withOpacity(opacity);
  static Color errorWithOpacity(double opacity) => error.withOpacity(opacity);
  static Color warningWithOpacity(double opacity) =>
      warning.withOpacity(opacity);
}
