Skip to content

feat(ux): pack dashboard KPI tiles two-up on phones - #117

Merged
os-zhuang merged 1 commit into
mainfrom
feat/ux-dashboard-kpi-grid
Jun 11, 2026
Merged

feat(ux): pack dashboard KPI tiles two-up on phones#117
os-zhuang merged 1 commit into
mainfrom
feat/ux-dashboard-kpi-grid

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

UX-B — Dashboard KPI grid

Second of the UX improvements from the browser walkthrough.

Problem

On a phone every dashboard widget rendered full-width and stacked. The Task Overview dashboard's four KPIs (Total Tasks / Completed Today / Overdue / Completion Rate) each took ~280px, so you scrolled through four screen-heights of mostly-empty cards before the first chart.

Change

  • KPI/metric tiles now pack two-per-row (COMPACT_TYPES), while charts, lists and tables still span the full width — they need it to stay legible.
  • The phone grid is 2-column down to 340dp (SINGLE_COLUMN_MAX); below that it collapses to one column.
  • Compact tile redesign: p-4 instead of p-5, a 16px icon, and a two-line title floor (min-h-[40px]) so a single-line tile (“Total Tasks”) lines its headline up with a wrapping neighbour (“Completed Today”) in the same row.

Measure format

KPI headline values already render through the resolved measure's format pattern (formatMetricValueformatByPattern), so no change was needed there.

Verified

Browser (375dp, dark mode): four KPIs now sit in a 2×2 grid with values aligned to a common baseline, and the "Tasks by Status" donut + legend are visible on the first screen instead of the fifth.

🤖 Generated with Claude Code

Metric/KPI widgets stacked full-width on phones, so a four-KPI dashboard
pushed every chart below four screen-heights of mostly-empty cards. Pack
the compact tiles two-per-row (charts, lists and tables still span the full
width, which they need to stay legible) and tighten the tile: p-4, a 16px
icon, and a two-line title floor so a single-line tile lines its headline up
with a wrapping neighbor in the same row.

KPI headline values already format through the resolved measure's format
pattern (formatMetricValue → formatByPattern); no change needed there.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@os-zhuang
os-zhuang merged commit b895c5c into main Jun 11, 2026
@os-zhuang
os-zhuang deleted the feat/ux-dashboard-kpi-grid branch June 11, 2026 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant