feat(tokens): add design tokens, type scale, push scaffold, and root nav state

This commit is contained in:
2026-07-28 20:01:23 +02:00
parent 6dba89432e
commit 172b2a42ac
17 changed files with 856 additions and 30 deletions
+31
View File
@@ -11,6 +11,9 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
required this.glassSurface,
required this.glassBorder,
required this.glowColor,
required this.listSurface,
required this.liveGreen,
required this.offlineAccent,
required this.radiusSm,
required this.radiusMd,
required this.radiusLg,
@@ -27,6 +30,21 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
final Color glassBorder;
final Color glowColor;
/// Redesign additions (Design ADR-1). Row/card surface for the flat lists
/// introduced by the redesign (Favoritos, Buscar results). De-literalised
/// from `pluriwave_theme.dart`'s previous `surfaceContainerLow` literal —
/// same value, now named — so rendered output stays byte-identical.
final Color listSurface;
/// "EN DIRECTO" indicator and the Escuchar hero's waveform colour.
/// De-literalised from `pluriwave_theme.dart`'s previous `secondary`
/// literal — same value, now named.
final Color liveGreen;
/// Offline/reconnect banner accent (WU16). No prior literal to promote —
/// a genuinely new colour.
final Color offlineAccent;
final double radiusSm;
final double radiusMd;
final double radiusLg;
@@ -53,6 +71,9 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
glassSurface: Color(0x1FFFFFFF),
glassBorder: Color(0x33FFFFFF),
glowColor: Color(0x6621D4D9),
listSurface: Color(0xFF102532),
liveGreen: Color(0xFF7EE4C2),
offlineAccent: Color(0xFF94A3B8),
radiusSm: 14,
radiusMd: 22,
radiusLg: 30,
@@ -70,6 +91,9 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
Color? glassSurface,
Color? glassBorder,
Color? glowColor,
Color? listSurface,
Color? liveGreen,
Color? offlineAccent,
double? radiusSm,
double? radiusMd,
double? radiusLg,
@@ -85,6 +109,9 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
glassSurface: glassSurface ?? this.glassSurface,
glassBorder: glassBorder ?? this.glassBorder,
glowColor: glowColor ?? this.glowColor,
listSurface: listSurface ?? this.listSurface,
liveGreen: liveGreen ?? this.liveGreen,
offlineAccent: offlineAccent ?? this.offlineAccent,
radiusSm: radiusSm ?? this.radiusSm,
radiusMd: radiusMd ?? this.radiusMd,
radiusLg: radiusLg ?? this.radiusLg,
@@ -111,6 +138,10 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
Color.lerp(glassSurface, other.glassSurface, t) ?? glassSurface,
glassBorder: Color.lerp(glassBorder, other.glassBorder, t) ?? glassBorder,
glowColor: Color.lerp(glowColor, other.glowColor, t) ?? glowColor,
listSurface: Color.lerp(listSurface, other.listSurface, t) ?? listSurface,
liveGreen: Color.lerp(liveGreen, other.liveGreen, t) ?? liveGreen,
offlineAccent:
Color.lerp(offlineAccent, other.offlineAccent, t) ?? offlineAccent,
radiusSm: lerpDouble(radiusSm, other.radiusSm, t) ?? radiusSm,
radiusMd: lerpDouble(radiusMd, other.radiusMd, t) ?? radiusMd,
radiusLg: lerpDouble(radiusLg, other.radiusLg, t) ?? radiusLg,