From a77dbf3263bc12b543c0387bb66158930c29f1f9 Mon Sep 17 00:00:00 2001 From: Oleksii Shtanko Date: Sat, 22 Mar 2025 16:52:18 +0000 Subject: [PATCH 1/3] Refactor themes --- lib/app/app.dart | 11 +- lib/bloc/theme/theme_cubit.dart | 6 +- lib/di/di_initializer.config.dart | 10 +- lib/di/di_repository_module.dart | 4 + lib/features/settings/theme_item.dart | 10 + lib/repository/email_list_repository.dart | 7 +- lib/theme/brown/brown_theme.dart | 309 ++++++++ lib/theme/color_family.dart | 25 + lib/theme/extended_color.dart | 37 + lib/theme/orange/orange_theme.dart | 313 ++++++++ lib/theme/style.dart | 691 +----------------- lib/theme/yellow/yellow_theme.dart | 309 ++++++++ pubspec.yaml | 2 +- .../email_list_repository_test.dart | 2 +- 14 files changed, 1040 insertions(+), 696 deletions(-) create mode 100644 lib/features/settings/theme_item.dart create mode 100644 lib/theme/brown/brown_theme.dart create mode 100644 lib/theme/color_family.dart create mode 100644 lib/theme/extended_color.dart create mode 100644 lib/theme/orange/orange_theme.dart create mode 100644 lib/theme/yellow/yellow_theme.dart diff --git a/lib/app/app.dart b/lib/app/app.dart index eeb6738..d3d1bf0 100644 --- a/lib/app/app.dart +++ b/lib/app/app.dart @@ -19,15 +19,9 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) => MultiRepositoryProvider( providers: [ - RepositoryProvider( - create: (context) => EmailListRepository(), - ), RepositoryProvider( create: (context) => NavigationService(), ), - RepositoryProvider( - create: (context) => diContainer.get(), - ), ], child: MultiBlocProvider( providers: [ @@ -37,15 +31,14 @@ class MyApp extends StatelessWidget { ), BlocProvider( create: (context) => EmailListBloc( - messagesRepository: - RepositoryProvider.of(context), + messagesRepository: diContainer.get(), )..add( EmailListFetched(), ), ), BlocProvider( create: (context) => LaunchesBloc( - RepositoryProvider.of(context), + diContainer.get(), )..add( const LaunchesEvent.load(), ), diff --git a/lib/bloc/theme/theme_cubit.dart b/lib/bloc/theme/theme_cubit.dart index d4c67db..7f93b8c 100644 --- a/lib/bloc/theme/theme_cubit.dart +++ b/lib/bloc/theme/theme_cubit.dart @@ -9,11 +9,11 @@ Map getThemeData(MaterialTheme theme) { AppTheme.system: theme.yellowLight(), AppTheme.light: theme.yellowLight(), AppTheme.lightGold: theme.orangeLight(), - AppTheme.lightMint: theme.yellowLightMediumContrast(), + AppTheme.lightMint: theme.brownLight(), AppTheme.dark: theme.yellowDark(), AppTheme.darkGold: theme.orangeDark(), - AppTheme.darkMint: theme.yellowDarkMediumContrast(), - AppTheme.experimental: theme.yellowDarkMediumContrast(), + AppTheme.darkMint: theme.brownDark(), + AppTheme.experimental: theme.yellowDark(), }; return themeData; diff --git a/lib/di/di_initializer.config.dart b/lib/di/di_initializer.config.dart index 0cd31a3..af179a7 100644 --- a/lib/di/di_initializer.config.dart +++ b/lib/di/di_initializer.config.dart @@ -21,6 +21,8 @@ import 'package:flutter_bloc_app_template/di/di_data_module.dart' as _i513; import 'package:flutter_bloc_app_template/di/di_network_module.dart' as _i52; import 'package:flutter_bloc_app_template/di/di_repository_module.dart' as _i381; +import 'package:flutter_bloc_app_template/repository/email_list_repository.dart' + as _i678; import 'package:flutter_bloc_app_template/repository/launches_repository.dart' as _i11; import 'package:flutter_bloc_app_template/repository/theme_repository.dart' @@ -42,10 +44,12 @@ extension GetItInjectableX on _i174.GetIt { ); final networkModule = _$NetworkModule(); final dIAppModule = _$DIAppModule(); - final dIDataModule = _$DIDataModule(); final repositoryModule = _$RepositoryModule(); + final dIDataModule = _$DIDataModule(); gh.factory<_i361.Dio>(() => networkModule.provideDio()); gh.factory<_i993.Talker>(() => dIAppModule.provideLogger()); + gh.factory<_i678.EmailListRepository>( + () => repositoryModule.provideEmailListRepository()); gh.lazySingleton<_i409.GlobalKey<_i409.NavigatorState>>( () => dIAppModule.key); gh.lazySingleton<_i750.ThemeStorage>(() => dIDataModule.themeStorage); @@ -65,6 +69,6 @@ class _$NetworkModule extends _i52.NetworkModule {} class _$DIAppModule extends _i367.DIAppModule {} -class _$DIDataModule extends _i513.DIDataModule {} - class _$RepositoryModule extends _i381.RepositoryModule {} + +class _$DIDataModule extends _i513.DIDataModule {} diff --git a/lib/di/di_repository_module.dart b/lib/di/di_repository_module.dart index 5fd566d..33f4122 100644 --- a/lib/di/di_repository_module.dart +++ b/lib/di/di_repository_module.dart @@ -1,5 +1,6 @@ import 'package:flutter_bloc_app_template/data/network/data_source/launches_network_data_source.dart'; import 'package:flutter_bloc_app_template/data/theme_storage.dart'; +import 'package:flutter_bloc_app_template/repository/email_list_repository.dart'; import 'package:flutter_bloc_app_template/repository/launches_repository.dart'; import 'package:flutter_bloc_app_template/repository/theme_repository.dart'; import 'package:injectable/injectable.dart'; @@ -10,6 +11,9 @@ abstract class RepositoryModule { ThemeRepository provideAccidentsRepository(ThemeStorage themeStorage) => ThemeRepositoryImpl(themeStorage); + @factoryMethod + EmailListRepository provideEmailListRepository() => EmailListRepositoryImpl(); + @factoryMethod LaunchesRepository provideLaunchesRepository(LaunchesDataSource dataSource) => LaunchesRepositoryImpl(dataSource); diff --git a/lib/features/settings/theme_item.dart b/lib/features/settings/theme_item.dart new file mode 100644 index 0000000..15d7ed7 --- /dev/null +++ b/lib/features/settings/theme_item.dart @@ -0,0 +1,10 @@ +import 'package:flutter/material.dart'; + +class ThemeItem extends StatelessWidget { + const ThemeItem({super.key}); + + @override + Widget build(BuildContext context) { + return const Placeholder(); + } +} diff --git a/lib/repository/email_list_repository.dart b/lib/repository/email_list_repository.dart index 7b3f9ee..fcb4bdb 100644 --- a/lib/repository/email_list_repository.dart +++ b/lib/repository/email_list_repository.dart @@ -3,7 +3,12 @@ import 'package:flutter_bloc_app_template/models/email.dart'; const _delay = Duration(milliseconds: 3000); -class EmailListRepository { +abstract class EmailListRepository { + Future> loadData(); +} + +class EmailListRepositoryImpl implements EmailListRepository { + @override Future> loadData() { emailList.sort((a, b) => b.date.compareTo(a.date)); diff --git a/lib/theme/brown/brown_theme.dart b/lib/theme/brown/brown_theme.dart new file mode 100644 index 0000000..a70b9d9 --- /dev/null +++ b/lib/theme/brown/brown_theme.dart @@ -0,0 +1,309 @@ +import 'package:flutter/material.dart'; + +class BrownTheme { + static ColorScheme lightScheme() { + return const ColorScheme( + brightness: Brightness.light, + primary: Color(0xff845317), + surfaceTint: Color(0xff845317), + onPrimary: Color(0xffffffff), + primaryContainer: Color(0xffffdcbc), + onPrimaryContainer: Color(0xff683d00), + secondary: Color(0xff725a42), + onSecondary: Color(0xffffffff), + secondaryContainer: Color(0xfffeddbe), + onSecondaryContainer: Color(0xff58432c), + tertiary: Color(0xff57633b), + onTertiary: Color(0xffffffff), + tertiaryContainer: Color(0xffdae8b5), + onTertiaryContainer: Color(0xff3f4b25), + error: Color(0xffba1a1a), + onError: Color(0xffffffff), + errorContainer: Color(0xffffdad6), + onErrorContainer: Color(0xff93000a), + surface: Color(0xfffff8f4), + onSurface: Color(0xff211a14), + onSurfaceVariant: Color(0xff50453a), + outline: Color(0xff837568), + outlineVariant: Color(0xffd5c3b5), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xff372f28), + inversePrimary: Color(0xfffbb974), + primaryFixed: Color(0xffffdcbc), + onPrimaryFixed: Color(0xff2c1700), + primaryFixedDim: Color(0xfffbb974), + onPrimaryFixedVariant: Color(0xff683d00), + secondaryFixed: Color(0xfffeddbe), + onSecondaryFixed: Color(0xff291805), + secondaryFixedDim: Color(0xffe1c1a3), + onSecondaryFixedVariant: Color(0xff58432c), + tertiaryFixed: Color(0xffdae8b5), + onTertiaryFixed: Color(0xff151f01), + tertiaryFixedDim: Color(0xffbecc9b), + onTertiaryFixedVariant: Color(0xff3f4b25), + surfaceDim: Color(0xffe6d8cd), + surfaceBright: Color(0xfffff8f4), + surfaceContainerLowest: Color(0xffffffff), + surfaceContainerLow: Color(0xfffff1e7), + surfaceContainer: Color(0xfffaebe0), + surfaceContainerHigh: Color(0xfff4e6da), + surfaceContainerHighest: Color(0xffeee0d5), + ); + } + + static ColorScheme lightMediumContrastScheme() { + return const ColorScheme( + brightness: Brightness.light, + primary: Color(0xff512e00), + surfaceTint: Color(0xff845317), + onPrimary: Color(0xffffffff), + primaryContainer: Color(0xff966224), + onPrimaryContainer: Color(0xffffffff), + secondary: Color(0xff46321d), + onSecondary: Color(0xffffffff), + secondaryContainer: Color(0xff82684f), + onSecondaryContainer: Color(0xffffffff), + tertiary: Color(0xff2f3a16), + onTertiary: Color(0xffffffff), + tertiaryContainer: Color(0xff657248), + onTertiaryContainer: Color(0xffffffff), + error: Color(0xff740006), + onError: Color(0xffffffff), + errorContainer: Color(0xffcf2c27), + onErrorContainer: Color(0xffffffff), + surface: Color(0xfffff8f4), + onSurface: Color(0xff16100a), + onSurfaceVariant: Color(0xff3f342a), + outline: Color(0xff5d5045), + outlineVariant: Color(0xff786b5f), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xff372f28), + inversePrimary: Color(0xfffbb974), + primaryFixed: Color(0xff966224), + onPrimaryFixed: Color(0xffffffff), + primaryFixedDim: Color(0xff794a0c), + onPrimaryFixedVariant: Color(0xffffffff), + secondaryFixed: Color(0xff82684f), + onSecondaryFixed: Color(0xffffffff), + secondaryFixedDim: Color(0xff685039), + onSecondaryFixedVariant: Color(0xffffffff), + tertiaryFixed: Color(0xff657248), + onTertiaryFixed: Color(0xffffffff), + tertiaryFixedDim: Color(0xff4d5932), + onTertiaryFixedVariant: Color(0xffffffff), + surfaceDim: Color(0xffd2c4b9), + surfaceBright: Color(0xfffff8f4), + surfaceContainerLowest: Color(0xffffffff), + surfaceContainerLow: Color(0xfffff1e7), + surfaceContainer: Color(0xfff4e6da), + surfaceContainerHigh: Color(0xffe9dacf), + surfaceContainerHighest: Color(0xffddcfc4), + ); + } + + static ColorScheme lightHighContrastScheme() { + return const ColorScheme( + brightness: Brightness.light, + primary: Color(0xff432500), + surfaceTint: Color(0xff845317), + onPrimary: Color(0xffffffff), + primaryContainer: Color(0xff6b3f00), + onPrimaryContainer: Color(0xffffffff), + secondary: Color(0xff3b2814), + onSecondary: Color(0xffffffff), + secondaryContainer: Color(0xff5b452e), + onSecondaryContainer: Color(0xffffffff), + tertiary: Color(0xff25300d), + onTertiary: Color(0xffffffff), + tertiaryContainer: Color(0xff424d27), + onTertiaryContainer: Color(0xffffffff), + error: Color(0xff600004), + onError: Color(0xffffffff), + errorContainer: Color(0xff98000a), + onErrorContainer: Color(0xffffffff), + surface: Color(0xfffff8f4), + onSurface: Color(0xff000000), + onSurfaceVariant: Color(0xff000000), + outline: Color(0xff342a20), + outlineVariant: Color(0xff53473c), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xff372f28), + inversePrimary: Color(0xfffbb974), + primaryFixed: Color(0xff6b3f00), + onPrimaryFixed: Color(0xffffffff), + primaryFixedDim: Color(0xff4c2b00), + onPrimaryFixedVariant: Color(0xffffffff), + secondaryFixed: Color(0xff5b452e), + onSecondaryFixed: Color(0xffffffff), + secondaryFixedDim: Color(0xff422f1a), + onSecondaryFixedVariant: Color(0xffffffff), + tertiaryFixed: Color(0xff424d27), + onTertiaryFixed: Color(0xffffffff), + tertiaryFixedDim: Color(0xff2c3613), + onTertiaryFixedVariant: Color(0xffffffff), + surfaceDim: Color(0xffc4b6ac), + surfaceBright: Color(0xfffff8f4), + surfaceContainerLowest: Color(0xffffffff), + surfaceContainerLow: Color(0xfffdeee3), + surfaceContainer: Color(0xffeee0d5), + surfaceContainerHigh: Color(0xffe0d2c7), + surfaceContainerHighest: Color(0xffd2c4b9), + ); + } + + static ColorScheme darkScheme() { + return const ColorScheme( + brightness: Brightness.dark, + primary: Color(0xfffbb974), + surfaceTint: Color(0xfffbb974), + onPrimary: Color(0xff492900), + primaryContainer: Color(0xff683d00), + onPrimaryContainer: Color(0xffffdcbc), + secondary: Color(0xffe1c1a3), + onSecondary: Color(0xff402c18), + secondaryContainer: Color(0xff58432c), + onSecondaryContainer: Color(0xfffeddbe), + tertiary: Color(0xffbecc9b), + onTertiary: Color(0xff293411), + tertiaryContainer: Color(0xff3f4b25), + onTertiaryContainer: Color(0xffdae8b5), + error: Color(0xffffb4ab), + onError: Color(0xff690005), + errorContainer: Color(0xff93000a), + onErrorContainer: Color(0xffffdad6), + surface: Color(0xff19120c), + onSurface: Color(0xffeee0d5), + onSurfaceVariant: Color(0xffd5c3b5), + outline: Color(0xff9d8e81), + outlineVariant: Color(0xff50453a), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xffeee0d5), + inversePrimary: Color(0xff845317), + primaryFixed: Color(0xffffdcbc), + onPrimaryFixed: Color(0xff2c1700), + primaryFixedDim: Color(0xfffbb974), + onPrimaryFixedVariant: Color(0xff683d00), + secondaryFixed: Color(0xfffeddbe), + onSecondaryFixed: Color(0xff291805), + secondaryFixedDim: Color(0xffe1c1a3), + onSecondaryFixedVariant: Color(0xff58432c), + tertiaryFixed: Color(0xffdae8b5), + onTertiaryFixed: Color(0xff151f01), + tertiaryFixedDim: Color(0xffbecc9b), + onTertiaryFixedVariant: Color(0xff3f4b25), + surfaceDim: Color(0xff19120c), + surfaceBright: Color(0xff403830), + surfaceContainerLowest: Color(0xff130d07), + surfaceContainerLow: Color(0xff211a14), + surfaceContainer: Color(0xff251e17), + surfaceContainerHigh: Color(0xff302921), + surfaceContainerHighest: Color(0xff3c332c), + ); + } + + static ColorScheme darkMediumContrastScheme() { + return const ColorScheme( + brightness: Brightness.dark, + primary: Color(0xffffd5ac), + surfaceTint: Color(0xfffbb974), + onPrimary: Color(0xff3a1f00), + primaryContainer: Color(0xffbf8544), + onPrimaryContainer: Color(0xff000000), + secondary: Color(0xfff8d7b8), + onSecondary: Color(0xff34220e), + secondaryContainer: Color(0xffa88c71), + onSecondaryContainer: Color(0xff000000), + tertiary: Color(0xffd4e2b0), + onTertiary: Color(0xff1f2907), + tertiaryContainer: Color(0xff899669), + onTertiaryContainer: Color(0xff000000), + error: Color(0xffffd2cc), + onError: Color(0xff540003), + errorContainer: Color(0xffff5449), + onErrorContainer: Color(0xff000000), + surface: Color(0xff19120c), + onSurface: Color(0xffffffff), + onSurfaceVariant: Color(0xffebd9ca), + outline: Color(0xffbfafa1), + outlineVariant: Color(0xff9d8e81), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xffeee0d5), + inversePrimary: Color(0xff6a3e00), + primaryFixed: Color(0xffffdcbc), + onPrimaryFixed: Color(0xff1d0d00), + primaryFixedDim: Color(0xfffbb974), + onPrimaryFixedVariant: Color(0xff512e00), + secondaryFixed: Color(0xfffeddbe), + onSecondaryFixed: Color(0xff1d0e01), + secondaryFixedDim: Color(0xffe1c1a3), + onSecondaryFixedVariant: Color(0xff46321d), + tertiaryFixed: Color(0xffdae8b5), + onTertiaryFixed: Color(0xff0c1400), + tertiaryFixedDim: Color(0xffbecc9b), + onTertiaryFixedVariant: Color(0xff2f3a16), + surfaceDim: Color(0xff19120c), + surfaceBright: Color(0xff4c433b), + surfaceContainerLowest: Color(0xff0c0603), + surfaceContainerLow: Color(0xff231c16), + surfaceContainer: Color(0xff2e261f), + surfaceContainerHigh: Color(0xff39312a), + surfaceContainerHighest: Color(0xff453c34), + ); + } + + static ColorScheme darkHighContrastScheme() { + return const ColorScheme( + brightness: Brightness.dark, + primary: Color(0xffffedde), + surfaceTint: Color(0xfffbb974), + onPrimary: Color(0xff000000), + primaryContainer: Color(0xfff7b670), + onPrimaryContainer: Color(0xff150800), + secondary: Color(0xffffedde), + onSecondary: Color(0xff000000), + secondaryContainer: Color(0xffdcbda0), + onSecondaryContainer: Color(0xff150800), + tertiary: Color(0xffe8f6c2), + onTertiary: Color(0xff000000), + tertiaryContainer: Color(0xffbbc897), + onTertiaryContainer: Color(0xff070d00), + error: Color(0xffffece9), + onError: Color(0xff000000), + errorContainer: Color(0xffffaea4), + onErrorContainer: Color(0xff220001), + surface: Color(0xff19120c), + onSurface: Color(0xffffffff), + onSurfaceVariant: Color(0xffffffff), + outline: Color(0xffffedde), + outlineVariant: Color(0xffd1c0b1), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xffeee0d5), + inversePrimary: Color(0xff6a3e00), + primaryFixed: Color(0xffffdcbc), + onPrimaryFixed: Color(0xff000000), + primaryFixedDim: Color(0xfffbb974), + onPrimaryFixedVariant: Color(0xff1d0d00), + secondaryFixed: Color(0xfffeddbe), + onSecondaryFixed: Color(0xff000000), + secondaryFixedDim: Color(0xffe1c1a3), + onSecondaryFixedVariant: Color(0xff1d0e01), + tertiaryFixed: Color(0xffdae8b5), + onTertiaryFixed: Color(0xff000000), + tertiaryFixedDim: Color(0xffbecc9b), + onTertiaryFixedVariant: Color(0xff0c1400), + surfaceDim: Color(0xff19120c), + surfaceBright: Color(0xff584e46), + surfaceContainerLowest: Color(0xff000000), + surfaceContainerLow: Color(0xff251e17), + surfaceContainer: Color(0xff372f28), + surfaceContainerHigh: Color(0xff423a32), + surfaceContainerHighest: Color(0xff4e453d), + ); + } +} diff --git a/lib/theme/color_family.dart b/lib/theme/color_family.dart new file mode 100644 index 0000000..6878275 --- /dev/null +++ b/lib/theme/color_family.dart @@ -0,0 +1,25 @@ +import 'dart:ui'; + +import 'package:equatable/equatable.dart'; + +class ColorFamily extends Equatable { + const ColorFamily({ + required this.color, + required this.onColor, + required this.colorContainer, + required this.onColorContainer, + }); + + final Color color; + final Color onColor; + final Color colorContainer; + final Color onColorContainer; + + @override + List get props => [ + color, + onColor, + colorContainer, + onColorContainer, + ]; +} diff --git a/lib/theme/extended_color.dart b/lib/theme/extended_color.dart new file mode 100644 index 0000000..cda5cc8 --- /dev/null +++ b/lib/theme/extended_color.dart @@ -0,0 +1,37 @@ +import 'dart:ui'; + +import 'package:equatable/equatable.dart'; +import 'package:flutter_bloc_app_template/theme/color_family.dart'; + +class ExtendedColor extends Equatable { + const ExtendedColor({ + required this.seed, + required this.value, + required this.light, + required this.lightHighContrast, + required this.lightMediumContrast, + required this.dark, + required this.darkHighContrast, + required this.darkMediumContrast, + }); + + final Color seed, value; + final ColorFamily light; + final ColorFamily lightHighContrast; + final ColorFamily lightMediumContrast; + final ColorFamily dark; + final ColorFamily darkHighContrast; + final ColorFamily darkMediumContrast; + + @override + List get props => [ + seed, + value, + light, + lightHighContrast, + lightMediumContrast, + dark, + darkHighContrast, + darkMediumContrast, + ]; +} diff --git a/lib/theme/orange/orange_theme.dart b/lib/theme/orange/orange_theme.dart new file mode 100644 index 0000000..8d22a80 --- /dev/null +++ b/lib/theme/orange/orange_theme.dart @@ -0,0 +1,313 @@ +import 'package:flutter/material.dart'; + +class OrangeTheme { + OrangeTheme(this.textTheme); + + final TextTheme textTheme; + + static ColorScheme orangeLightScheme() { + return const ColorScheme( + brightness: Brightness.light, + primary: Color(0xff8f4c38), + surfaceTint: Color(0xff8f4c38), + onPrimary: Color(0xffffffff), + primaryContainer: Color(0xffffdbd1), + onPrimaryContainer: Color(0xff723523), + secondary: Color(0xff77574e), + onSecondary: Color(0xffffffff), + secondaryContainer: Color(0xffffdbd1), + onSecondaryContainer: Color(0xff5d4037), + tertiary: Color(0xff6c5d2f), + onTertiary: Color(0xffffffff), + tertiaryContainer: Color(0xfff5e1a7), + onTertiaryContainer: Color(0xff534619), + error: Color(0xffba1a1a), + onError: Color(0xffffffff), + errorContainer: Color(0xffffdad6), + onErrorContainer: Color(0xff93000a), + surface: Color(0xfffff8f6), + onSurface: Color(0xff231917), + onSurfaceVariant: Color(0xff53433f), + outline: Color(0xff85736e), + outlineVariant: Color(0xffd8c2bc), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xff392e2b), + inversePrimary: Color(0xffffb5a0), + primaryFixed: Color(0xffffdbd1), + onPrimaryFixed: Color(0xff3a0b01), + primaryFixedDim: Color(0xffffb5a0), + onPrimaryFixedVariant: Color(0xff723523), + secondaryFixed: Color(0xffffdbd1), + onSecondaryFixed: Color(0xff2c150f), + secondaryFixedDim: Color(0xffe7bdb2), + onSecondaryFixedVariant: Color(0xff5d4037), + tertiaryFixed: Color(0xfff5e1a7), + onTertiaryFixed: Color(0xff231b00), + tertiaryFixedDim: Color(0xffd8c58d), + onTertiaryFixedVariant: Color(0xff534619), + surfaceDim: Color(0xffe8d6d2), + surfaceBright: Color(0xfffff8f6), + surfaceContainerLowest: Color(0xffffffff), + surfaceContainerLow: Color(0xfffff1ed), + surfaceContainer: Color(0xfffceae5), + surfaceContainerHigh: Color(0xfff7e4e0), + surfaceContainerHighest: Color(0xfff1dfda), + ); + } + + static ColorScheme orangeLightMediumContrastScheme() { + return const ColorScheme( + brightness: Brightness.light, + primary: Color(0xff5d2514), + surfaceTint: Color(0xff8f4c38), + onPrimary: Color(0xffffffff), + primaryContainer: Color(0xffa15a45), + onPrimaryContainer: Color(0xffffffff), + secondary: Color(0xff4b2f28), + onSecondary: Color(0xffffffff), + secondaryContainer: Color(0xff87655c), + onSecondaryContainer: Color(0xffffffff), + tertiary: Color(0xff41350a), + onTertiary: Color(0xffffffff), + tertiaryContainer: Color(0xff7b6c3c), + onTertiaryContainer: Color(0xffffffff), + error: Color(0xff740006), + onError: Color(0xffffffff), + errorContainer: Color(0xffcf2c27), + onErrorContainer: Color(0xffffffff), + surface: Color(0xfffff8f6), + onSurface: Color(0xff180f0d), + onSurfaceVariant: Color(0xff41332f), + outline: Color(0xff5f4f4a), + outlineVariant: Color(0xff7b6964), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xff392e2b), + inversePrimary: Color(0xffffb5a0), + primaryFixed: Color(0xffa15a45), + onPrimaryFixed: Color(0xffffffff), + primaryFixedDim: Color(0xff84422f), + onPrimaryFixedVariant: Color(0xffffffff), + secondaryFixed: Color(0xff87655c), + onSecondaryFixed: Color(0xffffffff), + secondaryFixedDim: Color(0xff6d4d45), + onSecondaryFixedVariant: Color(0xffffffff), + tertiaryFixed: Color(0xff7b6c3c), + onTertiaryFixed: Color(0xffffffff), + tertiaryFixedDim: Color(0xff615426), + onTertiaryFixedVariant: Color(0xffffffff), + surfaceDim: Color(0xffd4c3be), + surfaceBright: Color(0xfffff8f6), + surfaceContainerLowest: Color(0xffffffff), + surfaceContainerLow: Color(0xfffff1ed), + surfaceContainer: Color(0xfff7e4e0), + surfaceContainerHigh: Color(0xffebd9d4), + surfaceContainerHighest: Color(0xffdfcec9), + ); + } + + static ColorScheme orangeLightHighContrastScheme() { + return const ColorScheme( + brightness: Brightness.light, + primary: Color(0xff501b0b), + surfaceTint: Color(0xff8f4c38), + onPrimary: Color(0xffffffff), + primaryContainer: Color(0xff753725), + onPrimaryContainer: Color(0xffffffff), + secondary: Color(0xff3f261e), + onSecondary: Color(0xffffffff), + secondaryContainer: Color(0xff60423a), + onSecondaryContainer: Color(0xffffffff), + tertiary: Color(0xff362b02), + onTertiary: Color(0xffffffff), + tertiaryContainer: Color(0xff55481c), + onTertiaryContainer: Color(0xffffffff), + error: Color(0xff600004), + onError: Color(0xffffffff), + errorContainer: Color(0xff98000a), + onErrorContainer: Color(0xffffffff), + surface: Color(0xfffff8f6), + onSurface: Color(0xff000000), + onSurfaceVariant: Color(0xff000000), + outline: Color(0xff372925), + outlineVariant: Color(0xff554641), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xff392e2b), + inversePrimary: Color(0xffffb5a0), + primaryFixed: Color(0xff753725), + onPrimaryFixed: Color(0xffffffff), + primaryFixedDim: Color(0xff592111), + onPrimaryFixedVariant: Color(0xffffffff), + secondaryFixed: Color(0xff60423a), + onSecondaryFixed: Color(0xffffffff), + secondaryFixedDim: Color(0xff472c24), + onSecondaryFixedVariant: Color(0xffffffff), + tertiaryFixed: Color(0xff55481c), + onTertiaryFixed: Color(0xffffffff), + tertiaryFixedDim: Color(0xff3d3206), + onTertiaryFixedVariant: Color(0xffffffff), + surfaceDim: Color(0xffc6b5b1), + surfaceBright: Color(0xfffff8f6), + surfaceContainerLowest: Color(0xffffffff), + surfaceContainerLow: Color(0xffffede8), + surfaceContainer: Color(0xfff1dfda), + surfaceContainerHigh: Color(0xffe2d1cc), + surfaceContainerHighest: Color(0xffd4c3be), + ); + } + + static ColorScheme orangeDarkScheme() { + return const ColorScheme( + brightness: Brightness.dark, + primary: Color(0xffffb5a0), + surfaceTint: Color(0xffffb5a0), + onPrimary: Color(0xff561f0f), + primaryContainer: Color(0xff723523), + onPrimaryContainer: Color(0xffffdbd1), + secondary: Color(0xffe7bdb2), + onSecondary: Color(0xff442a22), + secondaryContainer: Color(0xff5d4037), + onSecondaryContainer: Color(0xffffdbd1), + tertiary: Color(0xffd8c58d), + onTertiary: Color(0xff3b2f05), + tertiaryContainer: Color(0xff534619), + onTertiaryContainer: Color(0xfff5e1a7), + error: Color(0xffffb4ab), + onError: Color(0xff690005), + errorContainer: Color(0xff93000a), + onErrorContainer: Color(0xffffdad6), + surface: Color(0xff1a110f), + onSurface: Color(0xfff1dfda), + onSurfaceVariant: Color(0xffd8c2bc), + outline: Color(0xffa08c87), + outlineVariant: Color(0xff53433f), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xfff1dfda), + inversePrimary: Color(0xff8f4c38), + primaryFixed: Color(0xffffdbd1), + onPrimaryFixed: Color(0xff3a0b01), + primaryFixedDim: Color(0xffffb5a0), + onPrimaryFixedVariant: Color(0xff723523), + secondaryFixed: Color(0xffffdbd1), + onSecondaryFixed: Color(0xff2c150f), + secondaryFixedDim: Color(0xffe7bdb2), + onSecondaryFixedVariant: Color(0xff5d4037), + tertiaryFixed: Color(0xfff5e1a7), + onTertiaryFixed: Color(0xff231b00), + tertiaryFixedDim: Color(0xffd8c58d), + onTertiaryFixedVariant: Color(0xff534619), + surfaceDim: Color(0xff1a110f), + surfaceBright: Color(0xff423734), + surfaceContainerLowest: Color(0xff140c0a), + surfaceContainerLow: Color(0xff231917), + surfaceContainer: Color(0xff271d1b), + surfaceContainerHigh: Color(0xff322825), + surfaceContainerHighest: Color(0xff3d322f), + ); + } + + static ColorScheme orangeDarkMediumContrastScheme() { + return const ColorScheme( + brightness: Brightness.dark, + primary: Color(0xffffd2c6), + surfaceTint: Color(0xffffb5a0), + onPrimary: Color(0xff481506), + primaryContainer: Color(0xffcb7c65), + onPrimaryContainer: Color(0xff000000), + secondary: Color(0xfffed3c7), + onSecondary: Color(0xff381f18), + secondaryContainer: Color(0xffae887e), + onSecondaryContainer: Color(0xff000000), + tertiary: Color(0xffefdba1), + onTertiary: Color(0xff2f2500), + tertiaryContainer: Color(0xffa0905c), + onTertiaryContainer: Color(0xff000000), + error: Color(0xffffd2cc), + onError: Color(0xff540003), + errorContainer: Color(0xffff5449), + onErrorContainer: Color(0xff000000), + surface: Color(0xff1a110f), + onSurface: Color(0xffffffff), + onSurfaceVariant: Color(0xffeed7d1), + outline: Color(0xffc2ada8), + outlineVariant: Color(0xffa08c87), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xfff1dfda), + inversePrimary: Color(0xff743624), + primaryFixed: Color(0xffffdbd1), + onPrimaryFixed: Color(0xff280500), + primaryFixedDim: Color(0xffffb5a0), + onPrimaryFixedVariant: Color(0xff5d2514), + secondaryFixed: Color(0xffffdbd1), + onSecondaryFixed: Color(0xff200b06), + secondaryFixedDim: Color(0xffe7bdb2), + onSecondaryFixedVariant: Color(0xff4b2f28), + tertiaryFixed: Color(0xfff5e1a7), + onTertiaryFixed: Color(0xff171100), + tertiaryFixedDim: Color(0xffd8c58d), + onTertiaryFixedVariant: Color(0xff41350a), + surfaceDim: Color(0xff1a110f), + surfaceBright: Color(0xff4e423f), + surfaceContainerLowest: Color(0xff0d0604), + surfaceContainerLow: Color(0xff251b19), + surfaceContainer: Color(0xff302623), + surfaceContainerHigh: Color(0xff3b302d), + surfaceContainerHighest: Color(0xff463b38), + ); + } + + static ColorScheme orangeDarkHighContrastScheme() { + return const ColorScheme( + brightness: Brightness.dark, + primary: Color(0xffffece7), + surfaceTint: Color(0xffffb5a0), + onPrimary: Color(0xff000000), + primaryContainer: Color(0xffffaf98), + onPrimaryContainer: Color(0xff1e0300), + secondary: Color(0xffffece7), + onSecondary: Color(0xff000000), + secondaryContainer: Color(0xffe3b9ae), + onSecondaryContainer: Color(0xff190603), + tertiary: Color(0xffffefc4), + onTertiary: Color(0xff000000), + tertiaryContainer: Color(0xffd4c289), + onTertiaryContainer: Color(0xff100b00), + error: Color(0xffffece9), + onError: Color(0xff000000), + errorContainer: Color(0xffffaea4), + onErrorContainer: Color(0xff220001), + surface: Color(0xff1a110f), + onSurface: Color(0xffffffff), + onSurfaceVariant: Color(0xffffffff), + outline: Color(0xffffece7), + outlineVariant: Color(0xffd4beb8), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xfff1dfda), + inversePrimary: Color(0xff743624), + primaryFixed: Color(0xffffdbd1), + onPrimaryFixed: Color(0xff000000), + primaryFixedDim: Color(0xffffb5a0), + onPrimaryFixedVariant: Color(0xff280500), + secondaryFixed: Color(0xffffdbd1), + onSecondaryFixed: Color(0xff000000), + secondaryFixedDim: Color(0xffe7bdb2), + onSecondaryFixedVariant: Color(0xff200b06), + tertiaryFixed: Color(0xfff5e1a7), + onTertiaryFixed: Color(0xff000000), + tertiaryFixedDim: Color(0xffd8c58d), + onTertiaryFixedVariant: Color(0xff171100), + surfaceDim: Color(0xff1a110f), + surfaceBright: Color(0xff5a4d4a), + surfaceContainerLowest: Color(0xff000000), + surfaceContainerLow: Color(0xff271d1b), + surfaceContainer: Color(0xff392e2b), + surfaceContainerHigh: Color(0xff443936), + surfaceContainerHighest: Color(0xff504441), + ); + } +} diff --git a/lib/theme/style.dart b/lib/theme/style.dart index eac928f..c6253f3 100644 --- a/lib/theme/style.dart +++ b/lib/theme/style.dart @@ -1,669 +1,39 @@ import 'package:flutter/material.dart'; +import 'package:flutter_bloc_app_template/theme/brown/brown_theme.dart'; +import 'package:flutter_bloc_app_template/theme/extended_color.dart'; +import 'package:flutter_bloc_app_template/theme/orange/orange_theme.dart'; +import 'package:flutter_bloc_app_template/theme/yellow/yellow_theme.dart'; class MaterialTheme { const MaterialTheme(this.textTheme); final TextTheme textTheme; - static ColorScheme yellowLightScheme() { - return const ColorScheme( - brightness: Brightness.light, - primary: Color(0xff6d5e0f), - surfaceTint: Color(0xff6d5e0f), - onPrimary: Color(0xffffffff), - primaryContainer: Color(0xfff8e287), - onPrimaryContainer: Color(0xff534600), - secondary: Color(0xff665e40), - onSecondary: Color(0xffffffff), - secondaryContainer: Color(0xffeee2bc), - onSecondaryContainer: Color(0xff4e472a), - tertiary: Color(0xff43664e), - onTertiary: Color(0xffffffff), - tertiaryContainer: Color(0xffc5ecce), - onTertiaryContainer: Color(0xff2c4e38), - error: Color(0xffba1a1a), - onError: Color(0xffffffff), - errorContainer: Color(0xffffdad6), - onErrorContainer: Color(0xff93000a), - surface: Color(0xfffff9ee), - onSurface: Color(0xff1e1b13), - onSurfaceVariant: Color(0xff4b4739), - outline: Color(0xff7c7767), - outlineVariant: Color(0xffcdc6b4), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xff333027), - inversePrimary: Color(0xffdbc66e), - primaryFixed: Color(0xfff8e287), - onPrimaryFixed: Color(0xff221b00), - primaryFixedDim: Color(0xffdbc66e), - onPrimaryFixedVariant: Color(0xff534600), - secondaryFixed: Color(0xffeee2bc), - onSecondaryFixed: Color(0xff211b04), - secondaryFixedDim: Color(0xffd1c6a1), - onSecondaryFixedVariant: Color(0xff4e472a), - tertiaryFixed: Color(0xffc5ecce), - onTertiaryFixed: Color(0xff00210f), - tertiaryFixedDim: Color(0xffa9d0b3), - onTertiaryFixedVariant: Color(0xff2c4e38), - surfaceDim: Color(0xffe0d9cc), - surfaceBright: Color(0xfffff9ee), - surfaceContainerLowest: Color(0xffffffff), - surfaceContainerLow: Color(0xfffaf3e5), - surfaceContainer: Color(0xfff4eddf), - surfaceContainerHigh: Color(0xffeee8da), - surfaceContainerHighest: Color(0xffe8e2d4), - ); - } - ThemeData yellowLight() { - return theme(yellowLightScheme()); - } - - static ColorScheme yellowLightMediumContrastScheme() { - return const ColorScheme( - brightness: Brightness.light, - primary: Color(0xff403600), - surfaceTint: Color(0xff6d5e0f), - onPrimary: Color(0xffffffff), - primaryContainer: Color(0xff7d6c1e), - onPrimaryContainer: Color(0xffffffff), - secondary: Color(0xff3c361b), - onSecondary: Color(0xffffffff), - secondaryContainer: Color(0xff756d4e), - onSecondaryContainer: Color(0xffffffff), - tertiary: Color(0xff1b3d28), - onTertiary: Color(0xffffffff), - tertiaryContainer: Color(0xff52755d), - onTertiaryContainer: Color(0xffffffff), - error: Color(0xff740006), - onError: Color(0xffffffff), - errorContainer: Color(0xffcf2c27), - onErrorContainer: Color(0xffffffff), - surface: Color(0xfffff9ee), - onSurface: Color(0xff131109), - onSurfaceVariant: Color(0xff3a3629), - outline: Color(0xff575244), - outlineVariant: Color(0xff726d5e), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xff333027), - inversePrimary: Color(0xffdbc66e), - primaryFixed: Color(0xff7d6c1e), - onPrimaryFixed: Color(0xffffffff), - primaryFixedDim: Color(0xff635403), - onPrimaryFixedVariant: Color(0xffffffff), - secondaryFixed: Color(0xff756d4e), - onSecondaryFixed: Color(0xffffffff), - secondaryFixedDim: Color(0xff5c5537), - onSecondaryFixedVariant: Color(0xffffffff), - tertiaryFixed: Color(0xff52755d), - onTertiaryFixed: Color(0xffffffff), - tertiaryFixedDim: Color(0xff3a5c45), - onTertiaryFixedVariant: Color(0xffffffff), - surfaceDim: Color(0xffccc6b9), - surfaceBright: Color(0xfffff9ee), - surfaceContainerLowest: Color(0xffffffff), - surfaceContainerLow: Color(0xfffaf3e5), - surfaceContainer: Color(0xffeee8da), - surfaceContainerHigh: Color(0xffe3dccf), - surfaceContainerHighest: Color(0xffd7d1c4), - ); - } - - ThemeData yellowLightMediumContrast() { - return theme(yellowLightMediumContrastScheme()); - } - - static ColorScheme yellowLightHighContrastScheme() { - return const ColorScheme( - brightness: Brightness.light, - primary: Color(0xff352c00), - surfaceTint: Color(0xff6d5e0f), - onPrimary: Color(0xffffffff), - primaryContainer: Color(0xff564800), - onPrimaryContainer: Color(0xffffffff), - secondary: Color(0xff322c12), - onSecondary: Color(0xffffffff), - secondaryContainer: Color(0xff50492d), - onSecondaryContainer: Color(0xffffffff), - tertiary: Color(0xff10321f), - onTertiary: Color(0xffffffff), - tertiaryContainer: Color(0xff2e503a), - onTertiaryContainer: Color(0xffffffff), - error: Color(0xff600004), - onError: Color(0xffffffff), - errorContainer: Color(0xff98000a), - onErrorContainer: Color(0xffffffff), - surface: Color(0xfffff9ee), - onSurface: Color(0xff000000), - onSurfaceVariant: Color(0xff000000), - outline: Color(0xff2f2c20), - outlineVariant: Color(0xff4d493b), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xff333027), - inversePrimary: Color(0xffdbc66e), - primaryFixed: Color(0xff564800), - onPrimaryFixed: Color(0xffffffff), - primaryFixedDim: Color(0xff3c3200), - onPrimaryFixedVariant: Color(0xffffffff), - secondaryFixed: Color(0xff50492d), - onSecondaryFixed: Color(0xffffffff), - secondaryFixedDim: Color(0xff393318), - onSecondaryFixedVariant: Color(0xffffffff), - tertiaryFixed: Color(0xff2e503a), - onTertiaryFixed: Color(0xffffffff), - tertiaryFixedDim: Color(0xff173925), - onTertiaryFixedVariant: Color(0xffffffff), - surfaceDim: Color(0xffbeb8ab), - surfaceBright: Color(0xfffff9ee), - surfaceContainerLowest: Color(0xffffffff), - surfaceContainerLow: Color(0xfff7f0e2), - surfaceContainer: Color(0xffe8e2d4), - surfaceContainerHigh: Color(0xffdad4c6), - surfaceContainerHighest: Color(0xffccc6b9), - ); - } - - ThemeData yellowLightHighContrast() { - return theme(yellowLightHighContrastScheme()); - } - - static ColorScheme yellowDarkScheme() { - return const ColorScheme( - brightness: Brightness.dark, - primary: Color(0xffdbc66e), - surfaceTint: Color(0xffdbc66e), - onPrimary: Color(0xff3a3000), - primaryContainer: Color(0xff534600), - onPrimaryContainer: Color(0xfff8e287), - secondary: Color(0xffd1c6a1), - onSecondary: Color(0xff363016), - secondaryContainer: Color(0xff4e472a), - onSecondaryContainer: Color(0xffeee2bc), - tertiary: Color(0xffa9d0b3), - onTertiary: Color(0xff143723), - tertiaryContainer: Color(0xff2c4e38), - onTertiaryContainer: Color(0xffc5ecce), - error: Color(0xffffb4ab), - onError: Color(0xff690005), - errorContainer: Color(0xff93000a), - onErrorContainer: Color(0xffffdad6), - surface: Color(0xff15130b), - onSurface: Color(0xffe8e2d4), - onSurfaceVariant: Color(0xffcdc6b4), - outline: Color(0xff969080), - outlineVariant: Color(0xff4b4739), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xffe8e2d4), - inversePrimary: Color(0xff6d5e0f), - primaryFixed: Color(0xfff8e287), - onPrimaryFixed: Color(0xff221b00), - primaryFixedDim: Color(0xffdbc66e), - onPrimaryFixedVariant: Color(0xff534600), - secondaryFixed: Color(0xffeee2bc), - onSecondaryFixed: Color(0xff211b04), - secondaryFixedDim: Color(0xffd1c6a1), - onSecondaryFixedVariant: Color(0xff4e472a), - tertiaryFixed: Color(0xffc5ecce), - onTertiaryFixed: Color(0xff00210f), - tertiaryFixedDim: Color(0xffa9d0b3), - onTertiaryFixedVariant: Color(0xff2c4e38), - surfaceDim: Color(0xff15130b), - surfaceBright: Color(0xff3c3930), - surfaceContainerLowest: Color(0xff100e07), - surfaceContainerLow: Color(0xff1e1b13), - surfaceContainer: Color(0xff222017), - surfaceContainerHigh: Color(0xff2d2a21), - surfaceContainerHighest: Color(0xff38352b), - ); + return theme(YellowTheme.yellowLightScheme()); } ThemeData yellowDark() { - return theme(yellowDarkScheme()); - } - - static ColorScheme yellowDarkMediumContrastScheme() { - return const ColorScheme( - brightness: Brightness.dark, - primary: Color(0xfff2dc82), - surfaceTint: Color(0xffdbc66e), - onPrimary: Color(0xff2d2500), - primaryContainer: Color(0xffa3903f), - onPrimaryContainer: Color(0xff000000), - secondary: Color(0xffe8dcb6), - onSecondary: Color(0xff2b250c), - secondaryContainer: Color(0xff9a916f), - onSecondaryContainer: Color(0xff000000), - tertiary: Color(0xffbfe6c8), - onTertiary: Color(0xff082c18), - tertiaryContainer: Color(0xff75997f), - onTertiaryContainer: Color(0xff000000), - error: Color(0xffffd2cc), - onError: Color(0xff540003), - errorContainer: Color(0xffff5449), - onErrorContainer: Color(0xff000000), - surface: Color(0xff15130b), - onSurface: Color(0xffffffff), - onSurfaceVariant: Color(0xffe3dcca), - outline: Color(0xffb8b1a0), - outlineVariant: Color(0xff969080), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xffe8e2d4), - inversePrimary: Color(0xff554700), - primaryFixed: Color(0xfff8e287), - onPrimaryFixed: Color(0xff161100), - primaryFixedDim: Color(0xffdbc66e), - onPrimaryFixedVariant: Color(0xff403600), - secondaryFixed: Color(0xffeee2bc), - onSecondaryFixed: Color(0xff161100), - secondaryFixedDim: Color(0xffd1c6a1), - onSecondaryFixedVariant: Color(0xff3c361b), - tertiaryFixed: Color(0xffc5ecce), - onTertiaryFixed: Color(0xff001508), - tertiaryFixedDim: Color(0xffa9d0b3), - onTertiaryFixedVariant: Color(0xff1b3d28), - surfaceDim: Color(0xff15130b), - surfaceBright: Color(0xff48443a), - surfaceContainerLowest: Color(0xff090703), - surfaceContainerLow: Color(0xff201d15), - surfaceContainer: Color(0xff2a281f), - surfaceContainerHigh: Color(0xff353229), - surfaceContainerHighest: Color(0xff413d34), - ); - } - - ThemeData yellowDarkMediumContrast() { - return theme(yellowDarkMediumContrastScheme()); - } - - static ColorScheme yellowDarkHighContrastScheme() { - return const ColorScheme( - brightness: Brightness.dark, - primary: Color(0xfffff0ba), - surfaceTint: Color(0xffdbc66e), - onPrimary: Color(0xff000000), - primaryContainer: Color(0xffd7c26b), - onPrimaryContainer: Color(0xff0f0b00), - secondary: Color(0xfffcf0c9), - onSecondary: Color(0xff000000), - secondaryContainer: Color(0xffcdc29e), - onSecondaryContainer: Color(0xff0f0b00), - tertiary: Color(0xffd2fadb), - onTertiary: Color(0xff000000), - tertiaryContainer: Color(0xffa5ccaf), - onTertiaryContainer: Color(0xff000f05), - error: Color(0xffffece9), - onError: Color(0xff000000), - errorContainer: Color(0xffffaea4), - onErrorContainer: Color(0xff220001), - surface: Color(0xff15130b), - onSurface: Color(0xffffffff), - onSurfaceVariant: Color(0xffffffff), - outline: Color(0xfff7efdd), - outlineVariant: Color(0xffc9c2b1), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xffe8e2d4), - inversePrimary: Color(0xff554700), - primaryFixed: Color(0xfff8e287), - onPrimaryFixed: Color(0xff000000), - primaryFixedDim: Color(0xffdbc66e), - onPrimaryFixedVariant: Color(0xff161100), - secondaryFixed: Color(0xffeee2bc), - onSecondaryFixed: Color(0xff000000), - secondaryFixedDim: Color(0xffd1c6a1), - onSecondaryFixedVariant: Color(0xff161100), - tertiaryFixed: Color(0xffc5ecce), - onTertiaryFixed: Color(0xff000000), - tertiaryFixedDim: Color(0xffa9d0b3), - onTertiaryFixedVariant: Color(0xff001508), - surfaceDim: Color(0xff15130b), - surfaceBright: Color(0xff535046), - surfaceContainerLowest: Color(0xff000000), - surfaceContainerLow: Color(0xff222017), - surfaceContainer: Color(0xff333027), - surfaceContainerHigh: Color(0xff3e3b32), - surfaceContainerHighest: Color(0xff4a473d), - ); - } - - ThemeData yellowDarkHighContrast() { - return theme(yellowDarkHighContrastScheme()); - } - - static ColorScheme orangeLightScheme() { - return const ColorScheme( - brightness: Brightness.light, - primary: Color(0xff8f4c38), - surfaceTint: Color(0xff8f4c38), - onPrimary: Color(0xffffffff), - primaryContainer: Color(0xffffdbd1), - onPrimaryContainer: Color(0xff723523), - secondary: Color(0xff77574e), - onSecondary: Color(0xffffffff), - secondaryContainer: Color(0xffffdbd1), - onSecondaryContainer: Color(0xff5d4037), - tertiary: Color(0xff6c5d2f), - onTertiary: Color(0xffffffff), - tertiaryContainer: Color(0xfff5e1a7), - onTertiaryContainer: Color(0xff534619), - error: Color(0xffba1a1a), - onError: Color(0xffffffff), - errorContainer: Color(0xffffdad6), - onErrorContainer: Color(0xff93000a), - surface: Color(0xfffff8f6), - onSurface: Color(0xff231917), - onSurfaceVariant: Color(0xff53433f), - outline: Color(0xff85736e), - outlineVariant: Color(0xffd8c2bc), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xff392e2b), - inversePrimary: Color(0xffffb5a0), - primaryFixed: Color(0xffffdbd1), - onPrimaryFixed: Color(0xff3a0b01), - primaryFixedDim: Color(0xffffb5a0), - onPrimaryFixedVariant: Color(0xff723523), - secondaryFixed: Color(0xffffdbd1), - onSecondaryFixed: Color(0xff2c150f), - secondaryFixedDim: Color(0xffe7bdb2), - onSecondaryFixedVariant: Color(0xff5d4037), - tertiaryFixed: Color(0xfff5e1a7), - onTertiaryFixed: Color(0xff231b00), - tertiaryFixedDim: Color(0xffd8c58d), - onTertiaryFixedVariant: Color(0xff534619), - surfaceDim: Color(0xffe8d6d2), - surfaceBright: Color(0xfffff8f6), - surfaceContainerLowest: Color(0xffffffff), - surfaceContainerLow: Color(0xfffff1ed), - surfaceContainer: Color(0xfffceae5), - surfaceContainerHigh: Color(0xfff7e4e0), - surfaceContainerHighest: Color(0xfff1dfda), - ); + return theme(YellowTheme.yellowDarkScheme()); } ThemeData orangeLight() { - return theme(orangeLightScheme()); - } - - static ColorScheme orangeLightMediumContrastScheme() { - return const ColorScheme( - brightness: Brightness.light, - primary: Color(0xff5d2514), - surfaceTint: Color(0xff8f4c38), - onPrimary: Color(0xffffffff), - primaryContainer: Color(0xffa15a45), - onPrimaryContainer: Color(0xffffffff), - secondary: Color(0xff4b2f28), - onSecondary: Color(0xffffffff), - secondaryContainer: Color(0xff87655c), - onSecondaryContainer: Color(0xffffffff), - tertiary: Color(0xff41350a), - onTertiary: Color(0xffffffff), - tertiaryContainer: Color(0xff7b6c3c), - onTertiaryContainer: Color(0xffffffff), - error: Color(0xff740006), - onError: Color(0xffffffff), - errorContainer: Color(0xffcf2c27), - onErrorContainer: Color(0xffffffff), - surface: Color(0xfffff8f6), - onSurface: Color(0xff180f0d), - onSurfaceVariant: Color(0xff41332f), - outline: Color(0xff5f4f4a), - outlineVariant: Color(0xff7b6964), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xff392e2b), - inversePrimary: Color(0xffffb5a0), - primaryFixed: Color(0xffa15a45), - onPrimaryFixed: Color(0xffffffff), - primaryFixedDim: Color(0xff84422f), - onPrimaryFixedVariant: Color(0xffffffff), - secondaryFixed: Color(0xff87655c), - onSecondaryFixed: Color(0xffffffff), - secondaryFixedDim: Color(0xff6d4d45), - onSecondaryFixedVariant: Color(0xffffffff), - tertiaryFixed: Color(0xff7b6c3c), - onTertiaryFixed: Color(0xffffffff), - tertiaryFixedDim: Color(0xff615426), - onTertiaryFixedVariant: Color(0xffffffff), - surfaceDim: Color(0xffd4c3be), - surfaceBright: Color(0xfffff8f6), - surfaceContainerLowest: Color(0xffffffff), - surfaceContainerLow: Color(0xfffff1ed), - surfaceContainer: Color(0xfff7e4e0), - surfaceContainerHigh: Color(0xffebd9d4), - surfaceContainerHighest: Color(0xffdfcec9), - ); - } - - ThemeData orangeLightMediumContrast() { - return theme(orangeLightMediumContrastScheme()); - } - - static ColorScheme orangeLightHighContrastScheme() { - return const ColorScheme( - brightness: Brightness.light, - primary: Color(0xff501b0b), - surfaceTint: Color(0xff8f4c38), - onPrimary: Color(0xffffffff), - primaryContainer: Color(0xff753725), - onPrimaryContainer: Color(0xffffffff), - secondary: Color(0xff3f261e), - onSecondary: Color(0xffffffff), - secondaryContainer: Color(0xff60423a), - onSecondaryContainer: Color(0xffffffff), - tertiary: Color(0xff362b02), - onTertiary: Color(0xffffffff), - tertiaryContainer: Color(0xff55481c), - onTertiaryContainer: Color(0xffffffff), - error: Color(0xff600004), - onError: Color(0xffffffff), - errorContainer: Color(0xff98000a), - onErrorContainer: Color(0xffffffff), - surface: Color(0xfffff8f6), - onSurface: Color(0xff000000), - onSurfaceVariant: Color(0xff000000), - outline: Color(0xff372925), - outlineVariant: Color(0xff554641), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xff392e2b), - inversePrimary: Color(0xffffb5a0), - primaryFixed: Color(0xff753725), - onPrimaryFixed: Color(0xffffffff), - primaryFixedDim: Color(0xff592111), - onPrimaryFixedVariant: Color(0xffffffff), - secondaryFixed: Color(0xff60423a), - onSecondaryFixed: Color(0xffffffff), - secondaryFixedDim: Color(0xff472c24), - onSecondaryFixedVariant: Color(0xffffffff), - tertiaryFixed: Color(0xff55481c), - onTertiaryFixed: Color(0xffffffff), - tertiaryFixedDim: Color(0xff3d3206), - onTertiaryFixedVariant: Color(0xffffffff), - surfaceDim: Color(0xffc6b5b1), - surfaceBright: Color(0xfffff8f6), - surfaceContainerLowest: Color(0xffffffff), - surfaceContainerLow: Color(0xffffede8), - surfaceContainer: Color(0xfff1dfda), - surfaceContainerHigh: Color(0xffe2d1cc), - surfaceContainerHighest: Color(0xffd4c3be), - ); - } - - ThemeData orangeLightHighContrast() { - return theme(orangeLightHighContrastScheme()); - } - - static ColorScheme orangeDarkScheme() { - return const ColorScheme( - brightness: Brightness.dark, - primary: Color(0xffffb5a0), - surfaceTint: Color(0xffffb5a0), - onPrimary: Color(0xff561f0f), - primaryContainer: Color(0xff723523), - onPrimaryContainer: Color(0xffffdbd1), - secondary: Color(0xffe7bdb2), - onSecondary: Color(0xff442a22), - secondaryContainer: Color(0xff5d4037), - onSecondaryContainer: Color(0xffffdbd1), - tertiary: Color(0xffd8c58d), - onTertiary: Color(0xff3b2f05), - tertiaryContainer: Color(0xff534619), - onTertiaryContainer: Color(0xfff5e1a7), - error: Color(0xffffb4ab), - onError: Color(0xff690005), - errorContainer: Color(0xff93000a), - onErrorContainer: Color(0xffffdad6), - surface: Color(0xff1a110f), - onSurface: Color(0xfff1dfda), - onSurfaceVariant: Color(0xffd8c2bc), - outline: Color(0xffa08c87), - outlineVariant: Color(0xff53433f), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xfff1dfda), - inversePrimary: Color(0xff8f4c38), - primaryFixed: Color(0xffffdbd1), - onPrimaryFixed: Color(0xff3a0b01), - primaryFixedDim: Color(0xffffb5a0), - onPrimaryFixedVariant: Color(0xff723523), - secondaryFixed: Color(0xffffdbd1), - onSecondaryFixed: Color(0xff2c150f), - secondaryFixedDim: Color(0xffe7bdb2), - onSecondaryFixedVariant: Color(0xff5d4037), - tertiaryFixed: Color(0xfff5e1a7), - onTertiaryFixed: Color(0xff231b00), - tertiaryFixedDim: Color(0xffd8c58d), - onTertiaryFixedVariant: Color(0xff534619), - surfaceDim: Color(0xff1a110f), - surfaceBright: Color(0xff423734), - surfaceContainerLowest: Color(0xff140c0a), - surfaceContainerLow: Color(0xff231917), - surfaceContainer: Color(0xff271d1b), - surfaceContainerHigh: Color(0xff322825), - surfaceContainerHighest: Color(0xff3d322f), - ); + return theme(OrangeTheme.orangeLightScheme()); } ThemeData orangeDark() { - return theme(orangeDarkScheme()); + return theme(OrangeTheme.orangeDarkScheme()); } - static ColorScheme orangeDarkMediumContrastScheme() { - return const ColorScheme( - brightness: Brightness.dark, - primary: Color(0xffffd2c6), - surfaceTint: Color(0xffffb5a0), - onPrimary: Color(0xff481506), - primaryContainer: Color(0xffcb7c65), - onPrimaryContainer: Color(0xff000000), - secondary: Color(0xfffed3c7), - onSecondary: Color(0xff381f18), - secondaryContainer: Color(0xffae887e), - onSecondaryContainer: Color(0xff000000), - tertiary: Color(0xffefdba1), - onTertiary: Color(0xff2f2500), - tertiaryContainer: Color(0xffa0905c), - onTertiaryContainer: Color(0xff000000), - error: Color(0xffffd2cc), - onError: Color(0xff540003), - errorContainer: Color(0xffff5449), - onErrorContainer: Color(0xff000000), - surface: Color(0xff1a110f), - onSurface: Color(0xffffffff), - onSurfaceVariant: Color(0xffeed7d1), - outline: Color(0xffc2ada8), - outlineVariant: Color(0xffa08c87), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xfff1dfda), - inversePrimary: Color(0xff743624), - primaryFixed: Color(0xffffdbd1), - onPrimaryFixed: Color(0xff280500), - primaryFixedDim: Color(0xffffb5a0), - onPrimaryFixedVariant: Color(0xff5d2514), - secondaryFixed: Color(0xffffdbd1), - onSecondaryFixed: Color(0xff200b06), - secondaryFixedDim: Color(0xffe7bdb2), - onSecondaryFixedVariant: Color(0xff4b2f28), - tertiaryFixed: Color(0xfff5e1a7), - onTertiaryFixed: Color(0xff171100), - tertiaryFixedDim: Color(0xffd8c58d), - onTertiaryFixedVariant: Color(0xff41350a), - surfaceDim: Color(0xff1a110f), - surfaceBright: Color(0xff4e423f), - surfaceContainerLowest: Color(0xff0d0604), - surfaceContainerLow: Color(0xff251b19), - surfaceContainer: Color(0xff302623), - surfaceContainerHigh: Color(0xff3b302d), - surfaceContainerHighest: Color(0xff463b38), - ); + ThemeData brownDark() { + return theme(BrownTheme.darkScheme()); } - ThemeData orangeDarkMediumContrast() { - return theme(orangeDarkMediumContrastScheme()); + ThemeData brownLight() { + return theme(BrownTheme.lightScheme()); } - static ColorScheme orangeDarkHighContrastScheme() { - return const ColorScheme( - brightness: Brightness.dark, - primary: Color(0xffffece7), - surfaceTint: Color(0xffffb5a0), - onPrimary: Color(0xff000000), - primaryContainer: Color(0xffffaf98), - onPrimaryContainer: Color(0xff1e0300), - secondary: Color(0xffffece7), - onSecondary: Color(0xff000000), - secondaryContainer: Color(0xffe3b9ae), - onSecondaryContainer: Color(0xff190603), - tertiary: Color(0xffffefc4), - onTertiary: Color(0xff000000), - tertiaryContainer: Color(0xffd4c289), - onTertiaryContainer: Color(0xff100b00), - error: Color(0xffffece9), - onError: Color(0xff000000), - errorContainer: Color(0xffffaea4), - onErrorContainer: Color(0xff220001), - surface: Color(0xff1a110f), - onSurface: Color(0xffffffff), - onSurfaceVariant: Color(0xffffffff), - outline: Color(0xffffece7), - outlineVariant: Color(0xffd4beb8), - shadow: Color(0xff000000), - scrim: Color(0xff000000), - inverseSurface: Color(0xfff1dfda), - inversePrimary: Color(0xff743624), - primaryFixed: Color(0xffffdbd1), - onPrimaryFixed: Color(0xff000000), - primaryFixedDim: Color(0xffffb5a0), - onPrimaryFixedVariant: Color(0xff280500), - secondaryFixed: Color(0xffffdbd1), - onSecondaryFixed: Color(0xff000000), - secondaryFixedDim: Color(0xffe7bdb2), - onSecondaryFixedVariant: Color(0xff200b06), - tertiaryFixed: Color(0xfff5e1a7), - onTertiaryFixed: Color(0xff000000), - tertiaryFixedDim: Color(0xffd8c58d), - onTertiaryFixedVariant: Color(0xff171100), - surfaceDim: Color(0xff1a110f), - surfaceBright: Color(0xff5a4d4a), - surfaceContainerLowest: Color(0xff000000), - surfaceContainerLow: Color(0xff271d1b), - surfaceContainer: Color(0xff392e2b), - surfaceContainerHigh: Color(0xff443936), - surfaceContainerHighest: Color(0xff504441), - ); - } - - ThemeData orangeDarkHighContrast() { - return theme(orangeDarkHighContrastScheme()); - } + //BrownTheme ThemeData theme(ColorScheme colorScheme) => ThemeData( useMaterial3: true, @@ -679,38 +49,3 @@ class MaterialTheme { List get extendedColors => []; } - -class ExtendedColor { - const ExtendedColor({ - required this.seed, - required this.value, - required this.light, - required this.lightHighContrast, - required this.lightMediumContrast, - required this.dark, - required this.darkHighContrast, - required this.darkMediumContrast, - }); - - final Color seed, value; - final ColorFamily light; - final ColorFamily lightHighContrast; - final ColorFamily lightMediumContrast; - final ColorFamily dark; - final ColorFamily darkHighContrast; - final ColorFamily darkMediumContrast; -} - -class ColorFamily { - const ColorFamily({ - required this.color, - required this.onColor, - required this.colorContainer, - required this.onColorContainer, - }); - - final Color color; - final Color onColor; - final Color colorContainer; - final Color onColorContainer; -} diff --git a/lib/theme/yellow/yellow_theme.dart b/lib/theme/yellow/yellow_theme.dart new file mode 100644 index 0000000..c527f64 --- /dev/null +++ b/lib/theme/yellow/yellow_theme.dart @@ -0,0 +1,309 @@ +import 'package:flutter/material.dart'; + +class YellowTheme { + static ColorScheme yellowLightScheme() { + return const ColorScheme( + brightness: Brightness.light, + primary: Color(0xff6d5e0f), + surfaceTint: Color(0xff6d5e0f), + onPrimary: Color(0xffffffff), + primaryContainer: Color(0xfff8e287), + onPrimaryContainer: Color(0xff534600), + secondary: Color(0xff665e40), + onSecondary: Color(0xffffffff), + secondaryContainer: Color(0xffeee2bc), + onSecondaryContainer: Color(0xff4e472a), + tertiary: Color(0xff43664e), + onTertiary: Color(0xffffffff), + tertiaryContainer: Color(0xffc5ecce), + onTertiaryContainer: Color(0xff2c4e38), + error: Color(0xffba1a1a), + onError: Color(0xffffffff), + errorContainer: Color(0xffffdad6), + onErrorContainer: Color(0xff93000a), + surface: Color(0xfffff9ee), + onSurface: Color(0xff1e1b13), + onSurfaceVariant: Color(0xff4b4739), + outline: Color(0xff7c7767), + outlineVariant: Color(0xffcdc6b4), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xff333027), + inversePrimary: Color(0xffdbc66e), + primaryFixed: Color(0xfff8e287), + onPrimaryFixed: Color(0xff221b00), + primaryFixedDim: Color(0xffdbc66e), + onPrimaryFixedVariant: Color(0xff534600), + secondaryFixed: Color(0xffeee2bc), + onSecondaryFixed: Color(0xff211b04), + secondaryFixedDim: Color(0xffd1c6a1), + onSecondaryFixedVariant: Color(0xff4e472a), + tertiaryFixed: Color(0xffc5ecce), + onTertiaryFixed: Color(0xff00210f), + tertiaryFixedDim: Color(0xffa9d0b3), + onTertiaryFixedVariant: Color(0xff2c4e38), + surfaceDim: Color(0xffe0d9cc), + surfaceBright: Color(0xfffff9ee), + surfaceContainerLowest: Color(0xffffffff), + surfaceContainerLow: Color(0xfffaf3e5), + surfaceContainer: Color(0xfff4eddf), + surfaceContainerHigh: Color(0xffeee8da), + surfaceContainerHighest: Color(0xffe8e2d4), + ); + } + + static ColorScheme yellowLightMediumContrastScheme() { + return const ColorScheme( + brightness: Brightness.light, + primary: Color(0xff403600), + surfaceTint: Color(0xff6d5e0f), + onPrimary: Color(0xffffffff), + primaryContainer: Color(0xff7d6c1e), + onPrimaryContainer: Color(0xffffffff), + secondary: Color(0xff3c361b), + onSecondary: Color(0xffffffff), + secondaryContainer: Color(0xff756d4e), + onSecondaryContainer: Color(0xffffffff), + tertiary: Color(0xff1b3d28), + onTertiary: Color(0xffffffff), + tertiaryContainer: Color(0xff52755d), + onTertiaryContainer: Color(0xffffffff), + error: Color(0xff740006), + onError: Color(0xffffffff), + errorContainer: Color(0xffcf2c27), + onErrorContainer: Color(0xffffffff), + surface: Color(0xfffff9ee), + onSurface: Color(0xff131109), + onSurfaceVariant: Color(0xff3a3629), + outline: Color(0xff575244), + outlineVariant: Color(0xff726d5e), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xff333027), + inversePrimary: Color(0xffdbc66e), + primaryFixed: Color(0xff7d6c1e), + onPrimaryFixed: Color(0xffffffff), + primaryFixedDim: Color(0xff635403), + onPrimaryFixedVariant: Color(0xffffffff), + secondaryFixed: Color(0xff756d4e), + onSecondaryFixed: Color(0xffffffff), + secondaryFixedDim: Color(0xff5c5537), + onSecondaryFixedVariant: Color(0xffffffff), + tertiaryFixed: Color(0xff52755d), + onTertiaryFixed: Color(0xffffffff), + tertiaryFixedDim: Color(0xff3a5c45), + onTertiaryFixedVariant: Color(0xffffffff), + surfaceDim: Color(0xffccc6b9), + surfaceBright: Color(0xfffff9ee), + surfaceContainerLowest: Color(0xffffffff), + surfaceContainerLow: Color(0xfffaf3e5), + surfaceContainer: Color(0xffeee8da), + surfaceContainerHigh: Color(0xffe3dccf), + surfaceContainerHighest: Color(0xffd7d1c4), + ); + } + + static ColorScheme yellowLightHighContrastScheme() { + return const ColorScheme( + brightness: Brightness.light, + primary: Color(0xff352c00), + surfaceTint: Color(0xff6d5e0f), + onPrimary: Color(0xffffffff), + primaryContainer: Color(0xff564800), + onPrimaryContainer: Color(0xffffffff), + secondary: Color(0xff322c12), + onSecondary: Color(0xffffffff), + secondaryContainer: Color(0xff50492d), + onSecondaryContainer: Color(0xffffffff), + tertiary: Color(0xff10321f), + onTertiary: Color(0xffffffff), + tertiaryContainer: Color(0xff2e503a), + onTertiaryContainer: Color(0xffffffff), + error: Color(0xff600004), + onError: Color(0xffffffff), + errorContainer: Color(0xff98000a), + onErrorContainer: Color(0xffffffff), + surface: Color(0xfffff9ee), + onSurface: Color(0xff000000), + onSurfaceVariant: Color(0xff000000), + outline: Color(0xff2f2c20), + outlineVariant: Color(0xff4d493b), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xff333027), + inversePrimary: Color(0xffdbc66e), + primaryFixed: Color(0xff564800), + onPrimaryFixed: Color(0xffffffff), + primaryFixedDim: Color(0xff3c3200), + onPrimaryFixedVariant: Color(0xffffffff), + secondaryFixed: Color(0xff50492d), + onSecondaryFixed: Color(0xffffffff), + secondaryFixedDim: Color(0xff393318), + onSecondaryFixedVariant: Color(0xffffffff), + tertiaryFixed: Color(0xff2e503a), + onTertiaryFixed: Color(0xffffffff), + tertiaryFixedDim: Color(0xff173925), + onTertiaryFixedVariant: Color(0xffffffff), + surfaceDim: Color(0xffbeb8ab), + surfaceBright: Color(0xfffff9ee), + surfaceContainerLowest: Color(0xffffffff), + surfaceContainerLow: Color(0xfff7f0e2), + surfaceContainer: Color(0xffe8e2d4), + surfaceContainerHigh: Color(0xffdad4c6), + surfaceContainerHighest: Color(0xffccc6b9), + ); + } + + static ColorScheme yellowDarkScheme() { + return const ColorScheme( + brightness: Brightness.dark, + primary: Color(0xffdbc66e), + surfaceTint: Color(0xffdbc66e), + onPrimary: Color(0xff3a3000), + primaryContainer: Color(0xff534600), + onPrimaryContainer: Color(0xfff8e287), + secondary: Color(0xffd1c6a1), + onSecondary: Color(0xff363016), + secondaryContainer: Color(0xff4e472a), + onSecondaryContainer: Color(0xffeee2bc), + tertiary: Color(0xffa9d0b3), + onTertiary: Color(0xff143723), + tertiaryContainer: Color(0xff2c4e38), + onTertiaryContainer: Color(0xffc5ecce), + error: Color(0xffffb4ab), + onError: Color(0xff690005), + errorContainer: Color(0xff93000a), + onErrorContainer: Color(0xffffdad6), + surface: Color(0xff15130b), + onSurface: Color(0xffe8e2d4), + onSurfaceVariant: Color(0xffcdc6b4), + outline: Color(0xff969080), + outlineVariant: Color(0xff4b4739), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xffe8e2d4), + inversePrimary: Color(0xff6d5e0f), + primaryFixed: Color(0xfff8e287), + onPrimaryFixed: Color(0xff221b00), + primaryFixedDim: Color(0xffdbc66e), + onPrimaryFixedVariant: Color(0xff534600), + secondaryFixed: Color(0xffeee2bc), + onSecondaryFixed: Color(0xff211b04), + secondaryFixedDim: Color(0xffd1c6a1), + onSecondaryFixedVariant: Color(0xff4e472a), + tertiaryFixed: Color(0xffc5ecce), + onTertiaryFixed: Color(0xff00210f), + tertiaryFixedDim: Color(0xffa9d0b3), + onTertiaryFixedVariant: Color(0xff2c4e38), + surfaceDim: Color(0xff15130b), + surfaceBright: Color(0xff3c3930), + surfaceContainerLowest: Color(0xff100e07), + surfaceContainerLow: Color(0xff1e1b13), + surfaceContainer: Color(0xff222017), + surfaceContainerHigh: Color(0xff2d2a21), + surfaceContainerHighest: Color(0xff38352b), + ); + } + + static ColorScheme yellowDarkMediumContrastScheme() { + return const ColorScheme( + brightness: Brightness.dark, + primary: Color(0xfff2dc82), + surfaceTint: Color(0xffdbc66e), + onPrimary: Color(0xff2d2500), + primaryContainer: Color(0xffa3903f), + onPrimaryContainer: Color(0xff000000), + secondary: Color(0xffe8dcb6), + onSecondary: Color(0xff2b250c), + secondaryContainer: Color(0xff9a916f), + onSecondaryContainer: Color(0xff000000), + tertiary: Color(0xffbfe6c8), + onTertiary: Color(0xff082c18), + tertiaryContainer: Color(0xff75997f), + onTertiaryContainer: Color(0xff000000), + error: Color(0xffffd2cc), + onError: Color(0xff540003), + errorContainer: Color(0xffff5449), + onErrorContainer: Color(0xff000000), + surface: Color(0xff15130b), + onSurface: Color(0xffffffff), + onSurfaceVariant: Color(0xffe3dcca), + outline: Color(0xffb8b1a0), + outlineVariant: Color(0xff969080), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xffe8e2d4), + inversePrimary: Color(0xff554700), + primaryFixed: Color(0xfff8e287), + onPrimaryFixed: Color(0xff161100), + primaryFixedDim: Color(0xffdbc66e), + onPrimaryFixedVariant: Color(0xff403600), + secondaryFixed: Color(0xffeee2bc), + onSecondaryFixed: Color(0xff161100), + secondaryFixedDim: Color(0xffd1c6a1), + onSecondaryFixedVariant: Color(0xff3c361b), + tertiaryFixed: Color(0xffc5ecce), + onTertiaryFixed: Color(0xff001508), + tertiaryFixedDim: Color(0xffa9d0b3), + onTertiaryFixedVariant: Color(0xff1b3d28), + surfaceDim: Color(0xff15130b), + surfaceBright: Color(0xff48443a), + surfaceContainerLowest: Color(0xff090703), + surfaceContainerLow: Color(0xff201d15), + surfaceContainer: Color(0xff2a281f), + surfaceContainerHigh: Color(0xff353229), + surfaceContainerHighest: Color(0xff413d34), + ); + } + + static ColorScheme yellowDarkHighContrastScheme() { + return const ColorScheme( + brightness: Brightness.dark, + primary: Color(0xfffff0ba), + surfaceTint: Color(0xffdbc66e), + onPrimary: Color(0xff000000), + primaryContainer: Color(0xffd7c26b), + onPrimaryContainer: Color(0xff0f0b00), + secondary: Color(0xfffcf0c9), + onSecondary: Color(0xff000000), + secondaryContainer: Color(0xffcdc29e), + onSecondaryContainer: Color(0xff0f0b00), + tertiary: Color(0xffd2fadb), + onTertiary: Color(0xff000000), + tertiaryContainer: Color(0xffa5ccaf), + onTertiaryContainer: Color(0xff000f05), + error: Color(0xffffece9), + onError: Color(0xff000000), + errorContainer: Color(0xffffaea4), + onErrorContainer: Color(0xff220001), + surface: Color(0xff15130b), + onSurface: Color(0xffffffff), + onSurfaceVariant: Color(0xffffffff), + outline: Color(0xfff7efdd), + outlineVariant: Color(0xffc9c2b1), + shadow: Color(0xff000000), + scrim: Color(0xff000000), + inverseSurface: Color(0xffe8e2d4), + inversePrimary: Color(0xff554700), + primaryFixed: Color(0xfff8e287), + onPrimaryFixed: Color(0xff000000), + primaryFixedDim: Color(0xffdbc66e), + onPrimaryFixedVariant: Color(0xff161100), + secondaryFixed: Color(0xffeee2bc), + onSecondaryFixed: Color(0xff000000), + secondaryFixedDim: Color(0xffd1c6a1), + onSecondaryFixedVariant: Color(0xff161100), + tertiaryFixed: Color(0xffc5ecce), + onTertiaryFixed: Color(0xff000000), + tertiaryFixedDim: Color(0xffa9d0b3), + onTertiaryFixedVariant: Color(0xff001508), + surfaceDim: Color(0xff15130b), + surfaceBright: Color(0xff535046), + surfaceContainerLowest: Color(0xff000000), + surfaceContainerLow: Color(0xff222017), + surfaceContainer: Color(0xff333027), + surfaceContainerHigh: Color(0xff3e3b32), + surfaceContainerHighest: Color(0xff4a473d), + ); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index 09d128e..1f543f9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -95,4 +95,4 @@ flutter_gen: - assets/color/colors.xml flutter_intl: - enabled: true \ No newline at end of file + enabled: true diff --git a/test/repository/email_list_repository_test.dart b/test/repository/email_list_repository_test.dart index 6bc1d6e..cc1e207 100644 --- a/test/repository/email_list_repository_test.dart +++ b/test/repository/email_list_repository_test.dart @@ -31,7 +31,7 @@ void main() { }); test('returns correct lists', () async { - final list = EmailListRepository().loadData(); + final list = repository.loadData(); await list.then((values) { expect(values, hasLength(6)); expect( From bab3cc4e1d744b3905833800cced4ba00e9bbbac Mon Sep 17 00:00:00 2001 From: Oleksii Shtanko Date: Sat, 22 Mar 2025 17:37:54 +0000 Subject: [PATCH 2/3] Fix unit tests --- test/repository/email_list_repository_test.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/test/repository/email_list_repository_test.dart b/test/repository/email_list_repository_test.dart index cc1e207..2692124 100644 --- a/test/repository/email_list_repository_test.dart +++ b/test/repository/email_list_repository_test.dart @@ -31,6 +31,7 @@ void main() { }); test('returns correct lists', () async { + when(repository.loadData()).thenAnswer((_) => Future.value(mockEmails)); final list = repository.loadData(); await list.then((values) { expect(values, hasLength(6)); From 93591cb7f0abe6de00826301624de69df502a1fe Mon Sep 17 00:00:00 2001 From: Oleksii Shtanko Date: Thu, 18 Sep 2025 23:03:31 +0100 Subject: [PATCH 3/3] Fix after merge --- lib/di/app_repository_providers.dart | 2 +- lib/di/di_initializer.config.dart | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/di/app_repository_providers.dart b/lib/di/app_repository_providers.dart index 7cc92a4..4822e07 100644 --- a/lib/di/app_repository_providers.dart +++ b/lib/di/app_repository_providers.dart @@ -12,7 +12,7 @@ abstract class AppRepositoryProviders { static List providers() { return [ RepositoryProvider( - create: (context) => EmailListRepository(), + create: (context) => EmailListRepositoryImpl(), ), RepositoryProvider( create: (context) => NavigationService(), diff --git a/lib/di/di_initializer.config.dart b/lib/di/di_initializer.config.dart index 9050b05..64b16b7 100644 --- a/lib/di/di_initializer.config.dart +++ b/lib/di/di_initializer.config.dart @@ -29,6 +29,8 @@ import 'package:flutter_bloc_app_template/di/di_data_module.dart' as _i513; import 'package:flutter_bloc_app_template/di/di_network_module.dart' as _i52; import 'package:flutter_bloc_app_template/di/di_repository_module.dart' as _i381; +import 'package:flutter_bloc_app_template/repository/email_list_repository.dart' + as _i678; import 'package:flutter_bloc_app_template/repository/launches_repository.dart' as _i11; import 'package:flutter_bloc_app_template/repository/roadster_repository.dart' @@ -52,10 +54,12 @@ extension GetItInjectableX on _i174.GetIt { environment, environmentFilter, ); + final repositoryModule = _$RepositoryModule(); final networkModule = _$NetworkModule(); final dIAppModule = _$DIAppModule(); final dIDataModule = _$DIDataModule(); - final repositoryModule = _$RepositoryModule(); + gh.factory<_i678.EmailListRepository>( + () => repositoryModule.provideEmailListRepository()); gh.factory<_i361.Dio>(() => networkModule.provideDio()); gh.factory<_i993.Talker>(() => dIAppModule.provideLogger()); gh.lazySingleton<_i750.ThemeStorage>(() => dIDataModule.themeStorage); @@ -85,10 +89,10 @@ extension GetItInjectableX on _i174.GetIt { } } +class _$RepositoryModule extends _i381.RepositoryModule {} + class _$NetworkModule extends _i52.NetworkModule {} class _$DIAppModule extends _i367.DIAppModule {} class _$DIDataModule extends _i513.DIDataModule {} - -class _$RepositoryModule extends _i381.RepositoryModule {}