enlarge the activity-card run-status spinner (T-304)

At size 12 the rotating logo-mark spinner on in-progress collapser cards
read as a static speck. Add a clideIconHero (24) control-geometry token
and use it for ClideStatusIndicator on the collapser — the spinner now
reads as motion at a glance; the success check / error cross share the
size so the card doesn't jump when the run settles. Only call site is the
collapser, so other status surfaces are untouched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-10 14:05:17 +02:00
co-authored by Claude Opus 4.8
parent 0a59f76172
commit 01445c4fae
10 changed files with 115 additions and 2 deletions
+2 -1
View File
@@ -31,6 +31,7 @@ import 'package:clide/widgets/src/clide_status_indicator.dart';
import 'package:clide/widgets/src/clide_tappable.dart';
import 'package:clide/widgets/src/clide_text.dart';
import 'package:clide/widgets/src/icons/chevron.dart';
import 'package:clide/widgets/src/spacing.dart';
import 'package:clide/widgets/src/typography.dart';
import 'package:flutter/widgets.dart';
@@ -139,7 +140,7 @@ class _ClideCollapserCardState extends State<ClideCollapserCard> {
// Status — the icon hard against the right edge.
if (widget.status != null) ...[
const SizedBox(width: 8),
ClideStatusIndicator(status: widget.status!, size: 12),
ClideStatusIndicator(status: widget.status!, size: clideIconHero),
],
],
);
+5
View File
@@ -85,5 +85,10 @@ const double clideIconHitTarget = 16;
/// Emphatic icon (standalone affordances, primary action glyphs).
const double clideIconEmphatic = 18;
/// Hero icon — large enough to read at a glance, e.g. the activity-card run
/// status where the spinner must be legible as motion, not a static speck
/// (T-304). Success/error glyphs share it so the card doesn't jump on settle.
const double clideIconHero = 24;
/// Standard control height (tab, button, list row).
const double clideControlHeight = 28;