Frontend consistency and improvements #5

Merged
pptx704 merged 1 commits from frontend-enhancement into dev 2026-03-24 10:00:28 +00:00
Owner

Delight (keys page):

  • Animated checkmark draw + circle pop on key reveal dialog open
  • Key display area pulses accent glow on open to draw eye to "copy this"
  • Copy button spring-bounces on successful copy (re-triggers on repeat)
  • Empty state key icon floats (iconFloat, now global)
  • Row hover uses scaleY left-accent stripe (matches capsules pattern)
  • New key row flashes accent on reveal dialog dismiss (matches capsule-born)

Audit fixes (all dashboard pages):

  • Page titles standardized to em dash: "Wrenn — X" across all four pages
  • formatDate/timeAgo extracted to src/lib/utils/format.ts (string | undefined
    signatures); keys and snapshots now import from there instead of duplicating
  • team formatDate gains undefined guard (kept local, date-only format differs)
  • spin-once and iconFloat keyframes moved to app.css as globals; scoped copies
    removed from capsules and keys
  • Snapshots empty state icon was referencing undefined @keyframes float; fixed
    to iconFloat

Normalization:

  • Snapshots table rows: replaced ::before pseudo-element accent (opacity-only,
    single color) with DOM row-stripe element using scaleY transition, type-keyed
    color (green for snapshots, blue for images) — matches capsules pattern
  • Create Key dialog: max-w-[400px] → max-w-[420px] to align with form dialogs
  • Snapshots count and empty-state heading are now terminology-aware: shows
    "templates/snapshots/images" based on active filter; empty heading for all
    filter reads "No templates yet" instead of "No snapshots yet"

Not done (documented in audit, deferred):

  • Sidebar nav items pointing to unimplemented routes (audit, usage, billing,
    notifications, settings) — left as-is, needs product decision
  • Dialog max-widths fully normalized beyond Create Key — minor, deferred
  • capsules timeAgo not imported from shared util (formatTime differs intentionally)

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Delight (keys page): - Animated checkmark draw + circle pop on key reveal dialog open - Key display area pulses accent glow on open to draw eye to "copy this" - Copy button spring-bounces on successful copy (re-triggers on repeat) - Empty state key icon floats (iconFloat, now global) - Row hover uses scaleY left-accent stripe (matches capsules pattern) - New key row flashes accent on reveal dialog dismiss (matches capsule-born) Audit fixes (all dashboard pages): - Page titles standardized to em dash: "Wrenn — X" across all four pages - formatDate/timeAgo extracted to src/lib/utils/format.ts (string | undefined signatures); keys and snapshots now import from there instead of duplicating - team formatDate gains undefined guard (kept local, date-only format differs) - spin-once and iconFloat keyframes moved to app.css as globals; scoped copies removed from capsules and keys - Snapshots empty state icon was referencing undefined @keyframes float; fixed to iconFloat Normalization: - Snapshots table rows: replaced ::before pseudo-element accent (opacity-only, single color) with DOM row-stripe element using scaleY transition, type-keyed color (green for snapshots, blue for images) — matches capsules pattern - Create Key dialog: max-w-[400px] → max-w-[420px] to align with form dialogs - Snapshots count and empty-state heading are now terminology-aware: shows "templates/snapshots/images" based on active filter; empty heading for all filter reads "No templates yet" instead of "No snapshots yet" Not done (documented in audit, deferred): - Sidebar nav items pointing to unimplemented routes (audit, usage, billing, notifications, settings) — left as-is, needs product decision - Dialog max-widths fully normalized beyond Create Key — minor, deferred - capsules timeAgo not imported from shared util (formatTime differs intentionally) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
pptx704 added 1 commit 2026-03-24 10:00:07 +00:00
Delight (keys page):
- Animated checkmark draw + circle pop on key reveal dialog open
- Key display area pulses accent glow on open to draw eye to "copy this"
- Copy button spring-bounces on successful copy (re-triggers on repeat)
- Empty state key icon floats (iconFloat, now global)
- Row hover uses scaleY left-accent stripe (matches capsules pattern)
- New key row flashes accent on reveal dialog dismiss (matches capsule-born)

Audit fixes (all dashboard pages):
- Page titles standardized to em dash: "Wrenn — X" across all four pages
- formatDate/timeAgo extracted to src/lib/utils/format.ts (string | undefined
  signatures); keys and snapshots now import from there instead of duplicating
- team formatDate gains undefined guard (kept local, date-only format differs)
- spin-once and iconFloat keyframes moved to app.css as globals; scoped copies
  removed from capsules and keys
- Snapshots empty state icon was referencing undefined @keyframes float; fixed
  to iconFloat

Normalization:
- Snapshots table rows: replaced ::before pseudo-element accent (opacity-only,
  single color) with DOM row-stripe element using scaleY transition, type-keyed
  color (green for snapshots, blue for images) — matches capsules pattern
- Create Key dialog: max-w-[400px] → max-w-[420px] to align with form dialogs
- Snapshots count and empty-state heading are now terminology-aware: shows
  "templates/snapshots/images" based on active filter; empty heading for all
  filter reads "No templates yet" instead of "No snapshots yet"

Not done (documented in audit, deferred):
- Sidebar nav items pointing to unimplemented routes (audit, usage, billing,
  notifications, settings) — left as-is, needs product decision
- Dialog max-widths fully normalized beyond Create Key — minor, deferred
- capsules timeAgo not imported from shared util (formatTime differs intentionally)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
pptx704 merged commit aaeccd32ce into dev 2026-03-24 10:00:28 +00:00
pptx704 deleted branch frontend-enhancement 2026-03-24 10:00:28 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wrenn/wrenn#5
No description provided.