feat(quality): harden lint rules and add quality-gate tests

This commit is contained in:
2026-06-12 00:05:06 +02:00
parent 202bef3539
commit 8a032e6e62
21 changed files with 485 additions and 140 deletions
+4 -1
View File
@@ -37,7 +37,10 @@ class PluriWaveMotion extends ThemeExtension<PluriWaveMotion> {
}
@override
ThemeExtension<PluriWaveMotion> lerp(covariant ThemeExtension<PluriWaveMotion>? other, double t) {
ThemeExtension<PluriWaveMotion> lerp(
covariant ThemeExtension<PluriWaveMotion>? other,
double t,
) {
if (other is! PluriWaveMotion) return this;
return t < 0.5 ? this : other;
}
+12 -8
View File
@@ -22,11 +22,10 @@ abstract final class PluriWaveTheme {
useMaterial3: true,
colorScheme: colorScheme,
scaffoldBackgroundColor: tokens.deepViolet,
textTheme: GoogleFonts.plusJakartaSansTextTheme(ThemeData.dark().textTheme),
extensions: const <ThemeExtension<dynamic>>[
tokens,
PluriWaveMotion.dark,
],
textTheme: GoogleFonts.plusJakartaSansTextTheme(
ThemeData.dark().textTheme,
),
extensions: const <ThemeExtension<dynamic>>[tokens, PluriWaveMotion.dark],
appBarTheme: const AppBarTheme(
centerTitle: false,
backgroundColor: Colors.transparent,
@@ -39,7 +38,10 @@ abstract final class PluriWaveTheme {
indicatorColor: tokens.electricMagenta.withValues(alpha: 0.18),
labelTextStyle: WidgetStateProperty.resolveWith(
(states) => TextStyle(
fontWeight: states.contains(WidgetState.selected) ? FontWeight.w800 : FontWeight.w600,
fontWeight:
states.contains(WidgetState.selected)
? FontWeight.w800
: FontWeight.w600,
fontSize: 12,
),
),
@@ -62,7 +64,9 @@ abstract final class PluriWaveTheme {
}
extension PluriWaveThemeContextX on BuildContext {
PluriWaveTokens get pluriTokens => Theme.of(this).extension<PluriWaveTokens>() ?? PluriWaveTokens.dark;
PluriWaveTokens get pluriTokens =>
Theme.of(this).extension<PluriWaveTokens>() ?? PluriWaveTokens.dark;
PluriWaveMotion get pluriMotion => Theme.of(this).extension<PluriWaveMotion>() ?? PluriWaveMotion.dark;
PluriWaveMotion get pluriMotion =>
Theme.of(this).extension<PluriWaveMotion>() ?? PluriWaveMotion.dark;
}