import 'package:flutter/material.dart';

import 'comwell_colors.dart';


ThemeData lightTheme = ThemeData(
  fontFamily: 'Fellix',
  brightness: Brightness.light,
  appBarTheme: const AppBarTheme(
    backgroundColor: colorPrimary,
    foregroundColor: colorBackground,
  ),
  progressIndicatorTheme: const ProgressIndicatorThemeData(
    color: Colors.lightBlueAccent,
    linearTrackColor: Colors.grey,
    circularTrackColor: Colors.grey,
  ),
  textTheme: const TextTheme(
    displayLarge: TextStyle(fontSize: 36.0, fontWeight: FontWeight.w600),
    displayMedium: TextStyle(fontSize: 34.0, fontWeight: FontWeight.w600),
    displaySmall: TextStyle(fontSize: 32, fontWeight: FontWeight.w600),
    headlineLarge: TextStyle(fontSize: 24.0, fontWeight: FontWeight.w600),
    headlineMedium: TextStyle(fontSize: 18.0, fontWeight: FontWeight.w600),
    headlineSmall: TextStyle(fontSize: 16.0, fontWeight: FontWeight.w600),
    bodyMedium: TextStyle(fontSize: 16.0, fontWeight: FontWeight.w600),
    bodySmall: TextStyle(fontSize: 14.0, fontWeight: FontWeight.w500),
    labelLarge: TextStyle(fontSize: 14.0, fontWeight: FontWeight.w600),
    titleLarge: TextStyle(fontSize: 28.0, fontWeight: FontWeight.w600),
  ),
  colorScheme: ColorScheme(
    primary: colorPrimary,
    onPrimary: colorOnPrimaryTextColor,
    secondary: colorSecondary,
    onSecondary: colorSecondaryText,
    surface: colorBackground, // main backgrounds
    onSurface: colorPrimaryText, // main text/icons
    error: colorError,
    onError: colorOnPrimaryTextColor,
    outline: colorDivider,
    shadow: colorShadow,
    scrim: colorPrimarySystem,
    brightness: Brightness.light,
    // Material 3+ surface roles:
    surfaceContainerLow: colorCallReceivedBackground, // custom container background
    tertiary: colorTertiary,
    onTertiary: colorTertiaryText,
    tertiaryContainer: colorTertiarySystem,
    surfaceTint: colorHeadlineText,
  ),
  elevatedButtonTheme: ElevatedButtonThemeData(
    style: ElevatedButton.styleFrom(
      elevation: 0,
      backgroundColor: sandColor[80],
      minimumSize: const Size(double.infinity, 52),
      textStyle: const TextStyle(
        color: colorBackground,
        fontSize: 16,
        fontWeight: FontWeight.w600,
      ),
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.circular(30),
      ),
    ),
  ),
);

const colorPrimary = Color(0xFF677169);
const colorSecondary = Color(0xffF0EAE2);
const colorBackground = Color(0xFFFFFFFF);
const colorPrimaryText = Color(0xFF000000);
const colorSecondaryText = Color(0xFF000000);
const colorOnPrimaryTextColor = Color(0xFFFFFFFF);
const colorPrimarySystem = Color(0xFF000000);
const colorSecondarySystem = Color.fromARGB(237, 227, 216, 1);
const colorTertiary = Color(0xFF000000);
const colorTertiaryText = Color(0xFF000000);
const colorTertiarySystem = Color(0xFF000000);
const colorShadow = Color(0xFF000000);
const colorDivider = Color(0xFFE0E0E0);
const disabledButtonColor = Color(0xFFF0F0F0);
final colorHeadlineText = colorPrimaryText.withValues(alpha: 0.65);
const colorCallReceivedBackground = Color(0xFFF6F4F3);
const colorGrey = Color(0xFF757575);
const colorBlack = MaterialColor(0xFF000000, {
  75: Color(0xB3000000),
  65: Color(0xA6000000),
});

const int _earthColor = 0xFF677169;
const earthColor = MaterialColor(_earthColor, <int, Color>{
  100: Color(_earthColor),
  80: Color.fromRGBO(128, 139, 130, 1.0),
  60: Color.fromRGBO(160, 171, 163, 1.0),
  40: Color.fromRGBO(192, 200, 194, 1.0),
  20: Color.fromRGBO(227, 230, 227, 1.0),
  10: Color.fromRGBO(238, 239, 238, 1.0),
});

const int _sandColor = 0xFFAA8D65;
const sandColor = MaterialColor(_sandColor, <int, Color>{
  100: Color(_sandColor),
  80: Color.fromRGBO(190, 161, 121, 1.0),
  60: Color.fromRGBO(215, 201, 185, 1.0),
  40: Color.fromRGBO(237, 227, 216, 1.0),
  20: Color.fromRGBO(240, 234, 226, 1.0),
  10: Color.fromRGBO(249, 246, 242, 1.0),
});