import 'package:flutter/material.dart';

class Styles {
  // Theme Colors
  static const Color purpleNurple = Color(0xFFA188A6);
  static const Color deepPurpleNurple = Color(0xFF977C9C);
  static const Color sunflower = Color(0xffFFEE88);
  static const Color electricBlue = Color(0xFF19647E);
  static const Color blushingPink = Color(0xFFE78F8E);
  static const Color seaweedGreen = Color(0xFF86BA90);
  static const Color emptyBarGrey = Color(0xFFC8C8C8);
  static const Color lavender = Color(0xFFB8B8FF);
  static const Color washedStone = Color(0xFFD9D9D9);
  static const Color flounderBlue = Color(0xFFA7E2E3);
  // Income Colors
  static const Color incomeBlue = Color(0xFFB8B8FF);
  static const Color incomeGreen = Color(0xFF0FA102);

  // Expenses Colors
  static const Color expensesOrange = Color(0xFFFA824C);
  static const Color expensesRed = Color(0xFFC73E1D);

  static const List<Color> curatedColors = [
    Color(0xFF6D326D),
    Color(0xFFE58F65),
    Color(0xFFD3E298),
    Color(0xFFFD96A9),
    Color(0xFF4F7CAC),
    Color(0xFFE4B4C2),
    Color(0xFFFFB8D1),
    Color(0xFFDDFDFE),
    Color(0xFFD7BE82),
    Color(0xFFD4C5C7),
    Color(0xFF8EB8E5),
    Color(0xFF9893DA),
    Color(0xFF99AA38),
    Color(0xFFA7E2E3),
    Color(0xFFF7B2BD),
    Color(0xFFFEDC97),
    Color(0xFFC28CAE),
    Color(0xFFF1BF98),
    Color(0xFFD1BCE3),
    Color(0xFFBDC667),
    Color(0xFFFFB563)
  ];

  // Button Styles
  static const Color disabledButton = Color(0xFFA8A8A8);
  static const Color disabledButtonText = Color(0xFFD9D9D9);

  // Widget Styles
  static BoxDecoration boxLavenderBubble = BoxDecoration(
    color: Styles.lavender,
    borderRadius: BorderRadius.circular(20.0),
  );

  static InputDecoration inputLavenderBubble({String? labelText}) =>
      InputDecoration(
        contentPadding:
            const EdgeInsets.symmetric(vertical: 8.0, horizontal: 8.0),
        labelText: labelText,
        errorStyle: const TextStyle(
          color: Styles.expensesRed,
        ),
        focusColor: Styles.blushingPink,
        hoverColor: Styles.blushingPink,
        fillColor: Styles.lavender,
        border: const OutlineInputBorder(
          borderSide: BorderSide.none,
        ),
      );

  static const Color dialogColor = Styles.purpleNurple;

  static RoundedRectangleBorder dialogShape = RoundedRectangleBorder(
    borderRadius: BorderRadius.circular(20.0),
  );

  // Sizing Styles
  static const dialogScreenWidthFactor = 0.75;
}
