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

import './constants.dart';

ThemeData lightThemeData(BuildContext context) {
  return ThemeData(
    primaryColor: kPrimaryColor,
    scaffoldBackgroundColor: Colors.white,
    appBarTheme: appBarThemeLight,
    iconTheme: const IconThemeData(color: kContentColorLight),
    textTheme: GoogleFonts.interTextTheme(Theme.of(context).textTheme).apply(
      bodyColor: kContentColorLight,
      displayColor: kUnActivatedColor,
    ),
    colorScheme: const ColorScheme.light().copyWith(
      primary: kPrimaryColor,
      secondary: kSecondaryColor,
      error: kErrorColor,
      inversePrimary: kContentColorDark,
    ),
    bottomNavigationBarTheme: const BottomNavigationBarThemeData(
      backgroundColor: Colors.white,
      selectedItemColor: kPrimaryColor,
      unselectedItemColor: kContentColorLight,
      unselectedIconTheme: IconThemeData(color: kContentColorLight),
      selectedIconTheme: IconThemeData(color: kPrimaryColor),
      showUnselectedLabels: true,
    ),
  );
}

ThemeData darkThemeData(BuildContext context) {
  return ThemeData(
    primaryColor: kPrimaryColor,
    scaffoldBackgroundColor: Colors.black,
    appBarTheme: appBarThemeDark,
    iconTheme: const IconThemeData(color: kContentColorDark),
    textTheme: GoogleFonts.interTextTheme(Theme.of(context).textTheme).apply(
      bodyColor: kContentColorDark,
      displayColor: kUnActivatedColor,
    ),
    colorScheme: const ColorScheme.dark().copyWith(
      primary: kPrimaryColor,
      secondary: kSecondaryColor,
      error: kErrorColor,
      inversePrimary: kContentColorLight,
    ),
    bottomNavigationBarTheme: const BottomNavigationBarThemeData(
      backgroundColor: Colors.black,
      unselectedItemColor: kContentColorDark,
      selectedItemColor: kPrimaryColor,
      unselectedIconTheme: IconThemeData(color: kContentColorDark),
      selectedIconTheme: IconThemeData(color: kPrimaryColor),
      showSelectedLabels: true,
    ),
  );
}

const appBarThemeLight =
    AppBarTheme(centerTitle: false, elevation: 0, color: kPrimaryColor);
const appBarThemeDark =
    AppBarTheme(centerTitle: false, elevation: 0, color: Colors.black);