feat(nav): rebuild the bottom bar as the prototype's balloon bar
The functional redesign never touched pluri_bottom_navigation.dart, so the bar kept the old glass + magenta/coral language while every other surface moved on. Rebuilds it to prototype t4/4a: a 52px opaque #0A1B24 pill with a 110x74 balloon raised over the active tab, a teal radial glow behind it, the active item lifted 15px with its label, and inactive items reduced to a 23px icon at 46% opacity. The five tabs and their PluriIconGlyph icons are unchanged, per the standing decision — only the bar's shape, colour and behaviour move. altura and PluriLayout.bottomChromeInset are both asserted against the real laid-out height rather than hardcoded guesses.
This commit is contained in:
@@ -14,6 +14,7 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
|
||||
required this.listSurface,
|
||||
required this.liveGreen,
|
||||
required this.offlineAccent,
|
||||
required this.balloonSurface,
|
||||
required this.radiusSm,
|
||||
required this.radiusMd,
|
||||
required this.radiusLg,
|
||||
@@ -46,6 +47,12 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
|
||||
/// promote, but the hex value itself is not this file's discretion.
|
||||
final Color offlineAccent;
|
||||
|
||||
/// Solid capsule fill for the "barra globo" bottom navigation (Design turn
|
||||
/// t4, option 4a — the balloon and the flat bar share this colour so their
|
||||
/// union reads as a single inflated shape). No prior literal to promote —
|
||||
/// new brand-system near-black distinct from [deepViolet].
|
||||
final Color balloonSurface;
|
||||
|
||||
final double radiusSm;
|
||||
final double radiusMd;
|
||||
final double radiusLg;
|
||||
@@ -75,6 +82,7 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
|
||||
listSurface: Color(0xFF102532),
|
||||
liveGreen: Color(0xFF7EE4C2),
|
||||
offlineAccent: Color(0xFFE8879A),
|
||||
balloonSurface: Color(0xFF0A1B24),
|
||||
radiusSm: 14,
|
||||
radiusMd: 22,
|
||||
radiusLg: 30,
|
||||
@@ -95,6 +103,7 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
|
||||
Color? listSurface,
|
||||
Color? liveGreen,
|
||||
Color? offlineAccent,
|
||||
Color? balloonSurface,
|
||||
double? radiusSm,
|
||||
double? radiusMd,
|
||||
double? radiusLg,
|
||||
@@ -113,6 +122,7 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
|
||||
listSurface: listSurface ?? this.listSurface,
|
||||
liveGreen: liveGreen ?? this.liveGreen,
|
||||
offlineAccent: offlineAccent ?? this.offlineAccent,
|
||||
balloonSurface: balloonSurface ?? this.balloonSurface,
|
||||
radiusSm: radiusSm ?? this.radiusSm,
|
||||
radiusMd: radiusMd ?? this.radiusMd,
|
||||
radiusLg: radiusLg ?? this.radiusLg,
|
||||
@@ -143,6 +153,9 @@ class PluriWaveTokens extends ThemeExtension<PluriWaveTokens> {
|
||||
liveGreen: Color.lerp(liveGreen, other.liveGreen, t) ?? liveGreen,
|
||||
offlineAccent:
|
||||
Color.lerp(offlineAccent, other.offlineAccent, t) ?? offlineAccent,
|
||||
balloonSurface:
|
||||
Color.lerp(balloonSurface, other.balloonSurface, t) ??
|
||||
balloonSurface,
|
||||
radiusSm: lerpDouble(radiusSm, other.radiusSm, t) ?? radiusSm,
|
||||
radiusMd: lerpDouble(radiusMd, other.radiusMd, t) ?? radiusMd,
|
||||
radiusLg: lerpDouble(radiusLg, other.radiusLg, t) ?? radiusLg,
|
||||
|
||||
Reference in New Issue
Block a user