Files
PiliPlus/lib/utils/extension/theme_ext.dart
My-Responsitories d7f7611af4 opt: color (#1782)
* fixes

* opt: color

* fix
2025-12-18 11:08:03 +08:00

40 lines
1.1 KiB
Dart

import 'package:flex_seed_scheme/flex_seed_scheme.dart';
import 'package:flutter/material.dart';
extension ColorSchemeExt on ColorScheme {
Color get vipColor =>
brightness.isLight ? const Color(0xFFFF6699) : const Color(0xFFD44E7D);
Color get freeColor =>
brightness.isLight ? const Color(0xFFFF7F24) : const Color(0xFFD66011);
bool get isLight => brightness.isLight;
bool get isDark => brightness.isDark;
}
extension ColorExtension on Color {
Color darken([double amount = .5]) {
assert(amount >= 0 && amount <= 1, 'Amount must be between 0 and 1');
return Color.lerp(this, Colors.black, amount)!;
}
ColorScheme asColorSchemeSeed([
FlexSchemeVariant variant = .material,
Brightness brightness = .light,
]) => SeedColorScheme.fromSeeds(
primaryKey: this,
variant: variant,
brightness: brightness,
useExpressiveOnContainerColors: false,
);
}
extension BrightnessExt on Brightness {
Brightness get reverse => isLight ? Brightness.dark : Brightness.light;
bool get isLight => this == Brightness.light;
bool get isDark => this == Brightness.dark;
}