feat(studio): ChainProgressBar - value and sign of life, kept apart
A waiting user asks two questions that a plain LinearProgressIndicator answers as one: how far along is it, and is anything still happening. The widget keeps them apart - the value may stand still for minutes while a highlight driven by 'busy' keeps crossing the bar, so a stalled percentage no longer reads as a frozen app. Also: glides to new values over 600 ms so the polling interval behind it stays invisible, refuses to walk backwards, renders indeterminate rather than an empty bar when no value is known, stops animating once the work ends, and honours reduce-motion. Eight guards in test/progress_bar_test.dart cover each of those rules. Writing them found a real defect: with busy: false the late-final controller was first constructed inside dispose(), where the ticker's context lookup is already unsafe. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
f6f52cc830
commit
2bc556e0f5
3 changed files with 331 additions and 0 deletions
|
|
@ -19,6 +19,7 @@ export 'chain_install_confirm.dart';
|
|||
export 'chain_log_viewer.dart';
|
||||
export 'chain_module_sheet.dart';
|
||||
export 'chain_pill.dart';
|
||||
export 'chain_progress_bar.dart';
|
||||
export 'chain_settings_dialog.dart';
|
||||
export 'chain_stores_dialog.dart';
|
||||
export 'chain_status_dot.dart';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue