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

class AppColors {
  static const Color whiteColor = Color(0xFFFFFFFF);
  static const Color blackColor = Color(0xFF262626);
  static const Color blackButtonColor = Color(0xFF404040);
  static const Color darkColor = Color(0xFF526071);
  static const Color greyColor = Color(0xFF737373);
  static const Color cardDisabledColor = Color(0xFFF2F2F2);
  static const Color cardButtonColor = Color(0xFFE0E0E0);
  static const Color yellowColor = Color(0xFFFDE047);
  static const Color tetriaryColor = Color(0xFF959EA9);
  static const Color blueColor = Color(0xFF0090FF);
  static const Color redColor = Color(0xFFE9342C);
  static const Color disableColor = Color(0xFFBDBDBD);
  static const Color bgSoftColor = Color(0xFFF1F5FC);
  static const Color sliderInActive = Color(0xFFBFDBFE);
  static const Color secondaryColor = Color(0xFF5674ED);
  static const Color primaryColor = Color(0xFF34C3F9);
  static const Color yellowButtonColor = Color(0xFFFACC15);
  static const Color greenColor = Color(0xFF00BC65);

  static LinearGradient get gradientTheme => const LinearGradient(
        colors: [secondaryColor, primaryColor],
        begin: Alignment.centerLeft,
        end: Alignment.centerRight,
      );
}

class AppTextStyles {
  static TextStyle blackTextStyle = GoogleFonts.inter(
    color: AppColors.blackColor,
  );

  static TextStyle logoTextStyle = GoogleFonts.comfortaa(
    color: AppColors.whiteColor,
    fontSize: 30,
    fontWeight: FontWeight.bold,
  );

  static TextStyle greyTextStyle = GoogleFonts.inter(
    color: AppColors.greyColor,
  );

  static TextStyle yellowTextStyle = GoogleFonts.inter(
    color: AppColors.yellowColor,
  );

  static TextStyle redTextStyle = GoogleFonts.inter(
    color: AppColors.redColor,
  );

  static TextStyle disableTextStyle = GoogleFonts.inter(
    color: AppColors.disableColor,
  );

  static TextStyle primaryTextStyle = GoogleFonts.inter(
    color: AppColors.primaryColor,
  );

  static TextStyle blueTextStyle = GoogleFonts.inter(
    color: AppColors.blueColor,
  );

  static TextStyle secondaryTextStyle = GoogleFonts.inter(
    color: AppColors.secondaryColor,
  );

  static TextStyle whiteTextStyle = GoogleFonts.inter(
    color: AppColors.whiteColor,
  );

  static TextStyle tetriaryTextStyle = GoogleFonts.inter(
    color: AppColors.tetriaryColor,
  );

  static TextStyle blackButtonTextStyle = GoogleFonts.inter(
    color: AppColors.blackButtonColor,
  );
}

ThemeData appTheme() {
  return ThemeData(
    textSelectionTheme: const TextSelectionThemeData(
      cursorColor: AppColors.blackColor,
      selectionColor: AppColors.blueColor,
      selectionHandleColor: AppColors.blueColor,
    ),
    textTheme: GoogleFonts.interTextTheme(),
    fontFamily: GoogleFonts.inter().fontFamily,
    scaffoldBackgroundColor: AppColors.whiteColor,
  );
}
