From a4d61d4453a151e0570cd342a284680c66f15b81 Mon Sep 17 00:00:00 2001 From: zl0y4951 Date: Wed, 18 Jun 2025 15:23:42 +0300 Subject: [PATCH] =?UTF-8?q?feat(app):=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20theme=5Ftailor=20=D0=BA=D0=BE=D0=B4=D0=BE=D0=B3?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D1=8E=20=D1=82=D0=B5?= =?UTF-8?q?=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/app/theme/app_colors_scheme.dart | 58 +++++----------------------- 1 file changed, 10 insertions(+), 48 deletions(-) diff --git a/lib/app/theme/app_colors_scheme.dart b/lib/app/theme/app_colors_scheme.dart index 80df22c..d7d9c49 100644 --- a/lib/app/theme/app_colors_scheme.dart +++ b/lib/app/theme/app_colors_scheme.dart @@ -1,10 +1,13 @@ -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:theme_tailor_annotation/theme_tailor_annotation.dart'; + +part 'app_colors_scheme.tailor.dart'; /// {@template app_colors} /// Класс, реализующий расширение для добавления токенов в цветовую схему /// {@endtemplate} -class AppColors extends ThemeExtension with DiagnosticableTreeMixin { +@TailorMixin(themeGetter: ThemeGetter.onBuildContext) +class AppColors extends ThemeExtension with _$AppColorsTailorMixin { /// {@macro app_colors} /// /// Принимает: @@ -23,18 +26,23 @@ class AppColors extends ThemeExtension with DiagnosticableTreeMixin { }); /// Цвет тестовый + @override final Color testColor; /// Цвет элемента текста + @override final Color itemTextColor; /// Цвет фона снекбара ошибки + @override final Color errorSnackbarBackground; /// Цвет фона снекбара успеха + @override final Color successSnackbarBackground; /// Цвет фона снекбара информации + @override final Color infoSnackbarBackground; /// Цвета светлой темы @@ -54,50 +62,4 @@ class AppColors extends ThemeExtension with DiagnosticableTreeMixin { infoSnackbarBackground: const Color.fromARGB(255, 35, 147, 178), itemTextColor: Colors.white, ); - - @override - ThemeExtension copyWith({ - Color? testColor, - Color? errorSnackbarBackground, - Color? successSnackbarBackground, - Color? infoSnackbarBackground, - Color? itemTextColor, - }) => AppColors( - testColor: testColor ?? this.testColor, - errorSnackbarBackground: - errorSnackbarBackground ?? this.errorSnackbarBackground, - successSnackbarBackground: - successSnackbarBackground ?? this.successSnackbarBackground, - infoSnackbarBackground: - infoSnackbarBackground ?? this.infoSnackbarBackground, - itemTextColor: itemTextColor ?? this.itemTextColor, - ); - - @override - ThemeExtension lerp( - covariant ThemeExtension? other, - double t, - ) { - if (other is! AppColors) return this; - - return AppColors( - testColor: Color.lerp(testColor, other.testColor, t)!, - errorSnackbarBackground: Color.lerp( - errorSnackbarBackground, - other.errorSnackbarBackground, - t, - )!, - successSnackbarBackground: Color.lerp( - successSnackbarBackground, - other.successSnackbarBackground, - t, - )!, - infoSnackbarBackground: Color.lerp( - infoSnackbarBackground, - other.infoSnackbarBackground, - t, - )!, - itemTextColor: Color.lerp(itemTextColor, other.itemTextColor, t)!, - ); - } }