import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/theme/colors.dart';

class AppTheme {
  static ThemeData getTheme(isArabic) => ThemeData(
        fontFamily: isArabic ? 'Cairo' : 'Poppins',
        primarySwatch: Colors.red,
        visualDensity: VisualDensity.adaptivePlatformDensity,
        brightness: Brightness.light,
        pageTransitionsTheme: const PageTransitionsTheme(
          builders: {
            TargetPlatform.android: ZoomPageTransitionsBuilder(),
            TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
          },
        ),
        hintColor: Colors.grey[400],
        colorScheme: ColorScheme.fromSwatch(accentColor: MyColors.backgroundColor),
        disabledColor: Colors.grey[300],
        errorColor: const Color.fromRGBO(235, 80, 60, 1.0),
        scaffoldBackgroundColor: MyColors.backgroundColor,
        textSelectionTheme: const TextSelectionThemeData(cursorColor: Colors.grey, selectionColor: Color.fromRGBO(80, 100, 253, 0.5), selectionHandleColor: Colors.grey),
        canvasColor: Colors.white,
        backgroundColor: const Color.fromRGBO(255, 255, 255, 1),
        highlightColor: Colors.grey[100]!.withOpacity(0.4),
        splashColor: Colors.transparent,
        primaryColor: primaryColor,
        primaryColorDark: primaryColor,
        buttonColor: Colors.black,
        toggleableActiveColor: secondaryColor,
        indicatorColor: secondaryColor,
        bottomSheetTheme: const BottomSheetThemeData(
          backgroundColor: Color(0xFFE0E0E0),
        ),
        primaryTextTheme: const TextTheme(
          bodyText2: TextStyle(color: Colors.white),
        ),
        iconTheme: const IconThemeData(color: MyColors.darkIconColor),
        textTheme: const TextTheme(
          bodyText1: TextStyle(color: Colors.black, letterSpacing: 0.6),
          headline1: TextStyle(color: Colors.white, letterSpacing: 0.6),
          headline2: TextStyle(color: Colors.white, letterSpacing: 0.6),
        ),
        floatingActionButtonTheme: const FloatingActionButtonThemeData(highlightElevation: 2, disabledElevation: 0, elevation: 2),
        appBarTheme: AppBarTheme(
          color: const Color(0xff515A5D),
          brightness: Brightness.light,
          elevation: 0.0,
          actionsIconTheme: IconThemeData(
            color: Colors.grey[800],
          ),
        ),
      );
}

extension ExtendedRevoCheckTheme on TextTheme {
  //add custom styles and colors here
  //taken from https://medium.com/@crizantlai/flutter-how-to-extend-themedata-b5b987a95bb5
  TextStyle get price => const TextStyle(color: Colors.redAccent);
}
