diff --git a/tunet-flutter/lib/runtime.dart b/tunet-flutter/lib/runtime.dart index cb6643f0..0686c0e7 100644 --- a/tunet-flutter/lib/runtime.dart +++ b/tunet-flutter/lib/runtime.dart @@ -219,7 +219,11 @@ class ManagedRuntime extends NotifyPropertyChanged { Future queueLogin() => runtime.queueLogin(); Future queueLogout() => runtime.queueLogout(); - Future queueFlux() => runtime.queueFlux(); + Future queueFlux() async { + netFlux = null; + await runtime.queueFlux(); + } + Future queueDetails() async { detailsData.setData(List.empty()); daily = null; diff --git a/tunet-flutter/lib/views/home_page.dart b/tunet-flutter/lib/views/home_page.dart index 240dfc4e..b2c3007c 100644 --- a/tunet-flutter/lib/views/home_page.dart +++ b/tunet-flutter/lib/views/home_page.dart @@ -45,13 +45,22 @@ class _HomePageState extends State { final flux = netFlux.flux.field0; final balance = netFlux.balance.field0; - return CustomPaint( - size: Size(MediaQuery.of(context).size.width, 30.0), - painter: FluxPainter( - flux: flux.toDouble() / 1000000000.0, - balance: balance, - accent: Theme.of(context).colorScheme.primary, - ), + return TweenAnimationBuilder( + tween: Tween(begin: 0, end: 1.0), + duration: const Duration(milliseconds: 500), + curve: Curves.easeOut, + builder: (context, value, child) { + final cflux = flux.toDouble() / 1000000000.0 * value; + final cbalance = balance * value; + return CustomPaint( + size: Size(MediaQuery.of(context).size.width, 30.0), + painter: FluxPainter( + flux: cflux, + balance: cbalance, + accent: Theme.of(context).colorScheme.primary, + ), + ); + }, ); }, );