Files
umbrix/lib/core/theme/theme_extensions.dart

41 lines
1.0 KiB
Dart
Raw Permalink Normal View History

2023-12-01 12:56:24 +03:30
import 'package:flutter/material.dart';
class ConnectionButtonTheme extends ThemeExtension<ConnectionButtonTheme> {
const ConnectionButtonTheme({
this.idleColor,
this.connectedColor,
});
final Color? idleColor;
final Color? connectedColor;
static const ConnectionButtonTheme light = ConnectionButtonTheme(
idleColor: Color(0xFF4a4d8b),
connectedColor: Color(0xFF44a334),
);
@override
ThemeExtension<ConnectionButtonTheme> copyWith({
Color? idleColor,
Color? connectedColor,
}) =>
ConnectionButtonTheme(
idleColor: idleColor ?? this.idleColor,
connectedColor: connectedColor ?? this.connectedColor,
);
@override
ThemeExtension<ConnectionButtonTheme> lerp(
covariant ThemeExtension<ConnectionButtonTheme>? other,
double t,
) {
if (other is! ConnectionButtonTheme) {
return this;
}
return ConnectionButtonTheme(
idleColor: Color.lerp(idleColor, other.idleColor, t),
connectedColor: Color.lerp(connectedColor, other.connectedColor, t),
);
}
}