import 'package:flutter/material.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/app_style/app_text_style.dart';

class AppThemes {
  AppThemes._();

  static ThemeData lightTheme = ThemeData.light().copyWith(
    textTheme: ThemeData.light().textTheme.apply(fontFamily: AppTextStyle.fontFamily),
    primaryColor: AppColor.primary50,
    indicatorColor: AppColor.primary50,
    scaffoldBackgroundColor: AppColor.backgroundLight,
    colorScheme: const ColorScheme.light(primary: AppColor.primary50, onPrimary: Colors.white, secondary: Colors.white, onSecondary: AppColor.neutral70),
    floatingActionButtonTheme: const FloatingActionButtonThemeData(
      elevation: 0,
      iconSize: 46,
      backgroundColor: AppColor.primary70,
      foregroundColor: AppColor.neutral30,
    ),
    bottomNavigationBarTheme: BottomNavigationBarThemeData(
      type: BottomNavigationBarType.fixed,
      unselectedLabelStyle: ThemeData.light().textTheme.bodySmall?.copyWith(fontWeight: FontWeight.w500),
      selectedLabelStyle: ThemeData.light().textTheme.bodySmall?.copyWith(fontWeight: FontWeight.w500),
      selectedItemColor: AppColor.primary90,
      unselectedItemColor: AppColor.neutral120,
      backgroundColor: Colors.white,
    ),
    appBarTheme: AppBarTheme(elevation: 0, backgroundColor: Colors.white, iconTheme: ThemeData.light().iconTheme.copyWith(color: AppColor.neutral50)),
    cardTheme: ThemeData.light().cardTheme.copyWith(
          elevation: 3,
          shadowColor: Colors.white.withOpacity(0.05),
          shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)),
        ),
  );

  static ThemeData darkTheme = ThemeData.dark().copyWith(
    textTheme: ThemeData.dark().textTheme.apply(fontFamily: AppTextStyle.fontFamily),
    primaryColor: AppColor.primary50,
    indicatorColor: AppColor.primary50,
    scaffoldBackgroundColor: AppColor.backgroundDark,
    colorScheme: const ColorScheme.light(primary: AppColor.primary50, onPrimary: AppColor.neutral60, secondary: AppColor.neutral60, onSecondary: Colors.white),
    floatingActionButtonTheme: const FloatingActionButtonThemeData(
      elevation: 0,
      iconSize: 46,
      backgroundColor: AppColor.primary40,
      foregroundColor: AppColor.backgroundDark,
    ),
    bottomNavigationBarTheme: BottomNavigationBarThemeData(
      type: BottomNavigationBarType.fixed,
      unselectedLabelStyle: ThemeData.dark().textTheme.bodySmall?.copyWith(fontWeight: FontWeight.w500),
      selectedLabelStyle: ThemeData.dark().textTheme.bodySmall?.copyWith(fontWeight: FontWeight.w500),
      selectedItemColor: AppColor.primary40,
      unselectedItemColor: AppColor.neutral10,
      backgroundColor: AppColor.neutral60,
    ),
    appBarTheme: AppBarTheme(elevation: 0, backgroundColor: AppColor.neutral60, iconTheme: ThemeData.dark().iconTheme.copyWith(color: AppColor.primary40)),
    cardTheme: ThemeData.dark().cardTheme.copyWith(
          elevation: 3,
          color: AppColor.neutral60,
          shadowColor: Colors.white.withOpacity(0.05),
          shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)),
        ),
  );
}
