mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-02-04 12:16:41 +00:00
72 lines
3 KiB
Dart
72 lines
3 KiB
Dart
import 'package:cake_wallet/themes/extensions/indicator_dot_theme.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
class DashboardPageTheme extends ThemeExtension<DashboardPageTheme> {
|
|
final Color firstGradientBackgroundColor;
|
|
final Color secondGradientBackgroundColor;
|
|
final Color thirdGradientBackgroundColor;
|
|
final Color textColor;
|
|
final Color pageTitleTextColor;
|
|
final Color mainActionsIconColor;
|
|
|
|
final IndicatorDotTheme indicatorDotTheme;
|
|
|
|
DashboardPageTheme(
|
|
{required this.firstGradientBackgroundColor,
|
|
required this.secondGradientBackgroundColor,
|
|
required this.thirdGradientBackgroundColor,
|
|
required this.textColor,
|
|
required this.indicatorDotTheme,
|
|
Color? mainActionsIconColor,
|
|
Color? pageTitleTextColor})
|
|
: pageTitleTextColor = pageTitleTextColor ?? textColor,
|
|
mainActionsIconColor = mainActionsIconColor ?? textColor;
|
|
|
|
@override
|
|
DashboardPageTheme copyWith(
|
|
{Color? firstGradientBackgroundColor,
|
|
Color? secondGradientBackgroundColor,
|
|
Color? thirdGradientBackgroundColor,
|
|
Color? textColor,
|
|
IndicatorDotTheme? indicatorDotTheme,
|
|
Color? pageTitleTextColor,
|
|
Color? mainActionsIconColor}) =>
|
|
DashboardPageTheme(
|
|
firstGradientBackgroundColor:
|
|
firstGradientBackgroundColor ?? this.firstGradientBackgroundColor,
|
|
secondGradientBackgroundColor: secondGradientBackgroundColor ??
|
|
this.secondGradientBackgroundColor,
|
|
thirdGradientBackgroundColor:
|
|
thirdGradientBackgroundColor ?? this.thirdGradientBackgroundColor,
|
|
textColor: textColor ?? this.textColor,
|
|
indicatorDotTheme: indicatorDotTheme ?? this.indicatorDotTheme,
|
|
pageTitleTextColor: pageTitleTextColor ?? this.pageTitleTextColor,
|
|
mainActionsIconColor:
|
|
mainActionsIconColor ?? this.mainActionsIconColor);
|
|
|
|
@override
|
|
DashboardPageTheme lerp(ThemeExtension<DashboardPageTheme>? other, double t) {
|
|
if (other is! DashboardPageTheme) {
|
|
return this;
|
|
}
|
|
|
|
return DashboardPageTheme(
|
|
firstGradientBackgroundColor: Color.lerp(firstGradientBackgroundColor,
|
|
other.firstGradientBackgroundColor, t) ??
|
|
firstGradientBackgroundColor,
|
|
secondGradientBackgroundColor: Color.lerp(secondGradientBackgroundColor,
|
|
other.secondGradientBackgroundColor, t) ??
|
|
secondGradientBackgroundColor,
|
|
thirdGradientBackgroundColor: Color.lerp(thirdGradientBackgroundColor,
|
|
other.thirdGradientBackgroundColor, t) ??
|
|
thirdGradientBackgroundColor,
|
|
textColor: Color.lerp(textColor, other.textColor, t) ?? textColor,
|
|
indicatorDotTheme: indicatorDotTheme.lerp(other.indicatorDotTheme, t),
|
|
pageTitleTextColor:
|
|
Color.lerp(pageTitleTextColor, other.pageTitleTextColor, t) ??
|
|
pageTitleTextColor,
|
|
mainActionsIconColor:
|
|
Color.lerp(mainActionsIconColor, other.mainActionsIconColor, t) ??
|
|
mainActionsIconColor);
|
|
}
|
|
}
|