Webapp redesign: imaging floor at laptop widths, keyboard tips, placeholders

From the design review:
- Floor rows reserve 150px for actions instead of 190px; stage text is
  one line with the full text in a tip (safety text still wraps); the PC
  type hides first; rows stack only below 960px of panel width, with the
  actions on the status line instead of their own row.
- Tips also show on keyboard focus.
- Placeholders use the muted token (dark-theme contrast was 3.6:1).
- Save bar focus ring uses the save bar's accent (2.8:1 before).
This commit is contained in:
cproudlock
2026-10-14 14:52:45 -04:00
parent 2ed2cbe2e9
commit a54df7ebd9
2 changed files with 26 additions and 8 deletions

View File

@@ -107,7 +107,7 @@
<span class="g-st">{{ ui.chip(state_chip[state][0], state_chip[state][1]) }}</span>
<span class="g-pc"><span class="mono serial">{{ title }}</span><span class="sub">{{ ident | join(' | ') or ('MAC ' ~ s.mac if s.mac else '') }}</span></span>
<span class="g-stage">
<span class="stageline"><span class="txt{{ ' warnline' if warn }}">{{ label }}</span>{% if kind %}<span class="kind">{{ kind }}</span>{% endif %}{% if not is_inferred %}<span class="mono step">{{ stage_idx }}/{{ stage_total or '?' }}</span>{% endif %}<span class="chev" aria-hidden="true">&#9662;</span></span>
<span class="stageline">{% if warn %}<span class="txt warnline">{{ label }}</span>{% else %}<span class="txt tip" data-tip="{{ label }}"><span class="trunc">{{ label }}</span></span>{% endif %}{% if kind %}<span class="kind">{{ kind }}</span>{% endif %}{% if not is_inferred %}<span class="mono step">{{ stage_idx }}/{{ stage_total or '?' }}</span>{% endif %}<span class="chev" aria-hidden="true">&#9662;</span></span>
{% if not is_inferred and stage_total %}{{ ui.track(stage_total, stage_idx, track_kind.get(state, 'run'),
label=('Done, all ' ~ stage_total ~ ' stages' if state == 'done' else 'Stage ' ~ stage_idx ~ ' of ' ~ stage_total)) }}{% endif %}
</span>