fix(ui): labels, money formatting, contact layout and home polish #14

Merged
KofTwentyTwo merged 2 commits from feature/ui-polish into develop 2026-10-14 20:42:34 +00:00
KofTwentyTwo commented 2026-10-14 20:39:35 +00:00 (Migrated from github.com)

Summary

UI polish from the first kof22 admin screenshots of 0.2.0-RC.1:

  • Labels: all 34 tables have plain labels (Contacts, Deals, Web Leads, ...); before, the nav, breadcrumbs and tiles showed raw names such as Crm_contact. Fields read naturally ("Owner", not "Owner User Id").
  • Money: amounts use the currency display format and show thousands separators with no .000000. Today's values carry the base currency code.
  • Pipeline by stage: three columns (Stage, Deals, Weighted amount) instead of "(1 deals)".
  • Leaderboard and "Won this month": a deal inserted straight into a closed stage now gets its close and stage dates, so won deals appear (the leaderboard showed "No rows found").
  • Names and owners:
    • Missing names stay null instead of "Not provided".
    • Contact labels fall back to the first name or the email, and web leads show a name or email.
    • Intake with no matching assignment rule leaves the owner empty rather than the site-API system user.
  • Contact layout:
    • Contact Information merges Online, Address and Communication.
    • A collapsed System section merges Data and Dates.
    • Child lists on contact, company and deal show 4 meaningful columns, which fixes the record tab overflow at 1440 px.
  • Timeline dates are readable, in the session time zone.

Codex implemented this; Claude reviewed it.

Test plan

  • ./mvnw verify: 465 tests, 0 failures; JaCoCo 92.4%; checkstyle and guardrails pass

🤖 Generated with Claude Code

## Summary UI polish from the first kof22 admin screenshots of 0.2.0-RC.1: - **Labels:** all 34 tables have plain labels (Contacts, Deals, Web Leads, ...); before, the nav, breadcrumbs and tiles showed raw names such as `Crm_contact`. Fields read naturally ("Owner", not "Owner User Id"). - **Money:** amounts use the currency display format and show thousands separators with no `.000000`. Today's values carry the base currency code. - **Pipeline by stage:** three columns (Stage, Deals, Weighted amount) instead of "(1 deals)". - **Leaderboard and "Won this month":** a deal inserted straight into a closed stage now gets its close and stage dates, so won deals appear (the leaderboard showed "No rows found"). - **Names and owners:** - Missing names stay null instead of "Not provided". - Contact labels fall back to the first name or the email, and web leads show a name or email. - Intake with no matching assignment rule leaves the owner empty rather than the site-API system user. - **Contact layout:** - Contact Information merges Online, Address and Communication. - A collapsed System section merges Data and Dates. - Child lists on contact, company and deal show 4 meaningful columns, which fixes the record tab overflow at 1440 px. - **Timeline** dates are readable, in the session time zone. Codex implemented this; Claude reviewed it. ## Test plan - [x] `./mvnw verify`: 465 tests, 0 failures; JaCoCo 92.4%; checkstyle and guardrails pass 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.