Admin fidelity: Overview stat cards + badge table; Licensing tabs consolidated into one pane #304

Closed
opened 2026-08-21 16:31:53 +00:00 by Cordy · 2 comments
Owner

Request (2026-08-21, Nikola): fidelity pass on #admin/overview and #admin/licensing. Mockups approved 2026-08-21 (Overview v2 per Nikola's inspiration screenshot; Licensing variant B with the customer-account banner at top — B1).

Overview (v2):

  • Three stat cards on top (uppercase label, big number): Total users, Storage used, Active peers.
    • Total users: real user count if admin/info exposes one, otherwise licensing seatsUsed.
    • Active peers: enabled peers from the peering registry; 0 + disabled badge when peering is off.
  • Below: bordered facts table (bold label column) — Instance name, Version (mono), Storage "X of Y" (mono), Encryption, Plan (+ green licensed/free badge right), Seats, Peering (+ teal enabled / gray disabled badge right).
  • Replaces the current flat sharemeta line list.

Licensing (consolidated, tabs removed):

  • The three tabs (License / Seats / Billing) collapse into ONE pane:
    1. Banner at top: "Manage your plan, renewal and invoices in your customer account." + outlined "Open customer account ↗" button (text/link currently living in the Billing tab).
    2. Seats bar card ("Seats in use" / "X of Y" + teal fill bar).
    3. Facts table: Plan (+ licensed badge), Expires, Last check-in, Key (masked, if the license API exposes a hint — otherwise row omitted).
    4. Actions: Replace key (existing install flow) + Refresh.
  • ADM_TABS.licensing removed; existing lic elements re-homed into the single pane.

Fidelity diff against the approved mockups before ship per house process.

**Request (2026-08-21, Nikola):** fidelity pass on `#admin/overview` and `#admin/licensing`. Mockups approved 2026-08-21 (Overview v2 per Nikola's inspiration screenshot; Licensing variant B with the customer-account banner at top — B1). **Overview (v2):** - Three stat cards on top (uppercase label, big number): **Total users**, **Storage used**, **Active peers**. - Total users: real user count if `admin/info` exposes one, otherwise licensing `seatsUsed`. - Active peers: enabled peers from the peering registry; 0 + `disabled` badge when peering is off. - Below: bordered facts table (bold label column) — Instance name, Version (mono), Storage "X of Y" (mono), Encryption, Plan (+ green `licensed`/`free` badge right), Seats, Peering (+ teal `enabled` / gray `disabled` badge right). - Replaces the current flat `sharemeta` line list. **Licensing (consolidated, tabs removed):** - The three tabs (License / Seats / Billing) collapse into ONE pane: 1. **Banner at top:** "Manage your plan, renewal and invoices in your customer account." + outlined "Open customer account ↗" button (text/link currently living in the Billing tab). 2. Seats bar card ("Seats in use" / "X of Y" + teal fill bar). 3. Facts table: Plan (+ `licensed` badge), Expires, Last check-in, Key (masked, if the license API exposes a hint — otherwise row omitted). 4. Actions: **Replace key** (existing install flow) + **Refresh**. - `ADM_TABS.licensing` removed; existing lic elements re-homed into the single pane. Fidelity diff against the approved mockups before ship per house process.
Author
Owner

Shipped as v0.6.61 (PR #305), live on both dogfoods.

What changed:

  • Overview (#admin/overview): three stat cards on top — Total users (licensing seat count), Storage used, Active peers (enabled peers; "0" when peering is off) — over a bordered facts table: Instance name, Version (mono), Storage (mono, "X of Y"), Encryption, Plan with green licensed/free badge, Seats, Peering with teal enabled / gray disabled badge.
  • Licensing (#admin/licensing): no more tabs. One pane, top to bottom: customer-account banner ("Manage your plan, renewal and invoices…" + outlined Open customer account ↗ → swisscairn.ch), seats bar card, facts table (plan + badge, expires, last check-in), then the free-tier hint, key-install form and Refresh license as before. Warnings (revoked / unreachable / seat limit) still render in red below the facts.
  • As agreed: no masked-key row (the license API doesn't expose a key hint) — the install form is the key affordance.

Dogfood checklist:

  • Overview: three cards render with real numbers (bao: users 0-ish, peers 0 + Peering disabled gray badge; enc: peers ≥1 if peering on)
  • Overview table: version + storage in mono; plan badge green; peering badge color matches state
  • Licensing: no tabs; banner at top, button opens swisscairn.ch in a new tab
  • Seats bar fills proportionally (e.g. 0/50 ≈ empty, min-sliver)
  • Facts table shows plan + badge; expires/check-in rows only when the API returns them
  • Install form + Refresh license still work (Refresh shows the "refreshed" toast)
  • All four languages: banner, card labels and badges translate
Shipped as **v0.6.61** (PR #305), live on both dogfoods. **What changed:** - **Overview** (`#admin/overview`): three stat cards on top — Total users (licensing seat count), Storage used, Active peers (enabled peers; "0" when peering is off) — over a bordered facts table: Instance name, Version (mono), Storage (mono, "X of Y"), Encryption, Plan with green `licensed`/`free` badge, Seats, Peering with teal `enabled` / gray `disabled` badge. - **Licensing** (`#admin/licensing`): no more tabs. One pane, top to bottom: customer-account banner ("Manage your plan, renewal and invoices…" + outlined **Open customer account ↗** → swisscairn.ch), seats bar card, facts table (plan + badge, expires, last check-in), then the free-tier hint, key-install form and **Refresh license** as before. Warnings (revoked / unreachable / seat limit) still render in red below the facts. - As agreed: no masked-key row (the license API doesn't expose a key hint) — the install form is the key affordance. **Dogfood checklist:** - [x] Overview: three cards render with real numbers (bao: users 0-ish, peers 0 + Peering `disabled` gray badge; enc: peers ≥1 if peering on) - [x] Overview table: version + storage in mono; plan badge green; peering badge color matches state - [x] Licensing: no tabs; banner at top, button opens swisscairn.ch in a new tab - [x] Seats bar fills proportionally (e.g. 0/50 ≈ empty, min-sliver) - [x] Facts table shows plan + badge; expires/check-in rows only when the API returns them - [x] Install form + Refresh license still work (Refresh shows the "refreshed" toast) - [x] All four languages: banner, card labels and badges translate
Author
Owner

Closing — shipped as v0.6.61 (PR #305) and the full dogfood checklist above is ticked (verified). No open items remain.

Closing — shipped as v0.6.61 (PR #305) and the full dogfood checklist above is ticked (verified). No open items remain.
Cordy closed this issue 2026-08-26 15:34:21 +00:00
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#304
No description provided.