Skip to content

Feat/design system v2 - #2

Merged
Asapteejo merged 2 commits into
mainfrom
feat/design-system-v2
Jul 6, 2026
Merged

Feat/design system v2#2
Asapteejo merged 2 commits into
mainfrom
feat/design-system-v2

Conversation

@Asapteejo

Copy link
Copy Markdown
Owner

No description provided.

Asapteejo and others added 2 commits July 6, 2026 20:28
- Owner-only Users tab (/admin/users): list staff accounts, suspend/
  reactivate, delete, grant/revoke operator roles. Self and owner protected.
- MARKETER role: AppRole enum value (migration 0048), demo login, guards,
  role-filtered nav, marketer "My Dashboard" with assigned leads/
  inspections and click-to-chat. Granting Marketer auto-provisions a
  StaffProfile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ime, payments hardening

Security
- Enforce nonce-based CSP ('strict-dynamic', no unsafe-eval in prod) via
  proxy; hash-pinned theme bootstrap; ESTATEOS_CSP_REPORT_ONLY escape hatch.
- Paystack webhook idempotency: unique WebhookEvent index (migration 0049),
  atomic in-transaction dedup, first-success gating so duplicate success
  events can never double-decrement balances; never downgrade SUCCESS.

UI system
- Grouped collapsible sidebar nav (admin clusters + buyer portal groups),
  shared between desktop sidebar and mobile drawer.
- New primitives: Dialog (portal, focus trap), Select (styled native),
  Tabs, DropdownMenu, DataTable (TanStack: sort/search/pagination).
- 9 screens on DataTable (payments, invoices x2, contracts x2, marketers,
  audit logs, documents, transactions); all 33 raw <select> files migrated;
  bespoke modals unified on Dialog.

Buyer experience
- System-aware dark mode (prefers-color-scheme + live OS sync).
- PWA: manifest, icons, apple-web-app metadata, themed browser chrome.
- Mobile bottom tab bar (Home/Saved/Messages/Payments/Alerts with badges).
- R2 property media through next/image (AVIF/WebP, remotePatterns + CSP
  media-host allowlist).

Infrastructure
- Conditional-polling realtime: Redis change counters bumped on publish,
  /api/realtime/version endpoint, version-aware LiveSurfaceSync (15s poll,
  refresh only on change, graceful fallback to blind polling).
- GitHub Actions CI (test/typecheck/lint/build); fix test glob quoting so
  the full suite runs on Linux.
- Dashboard shell query batching (5 sequential rounds -> 3).
- MARKETER label added to team-invitation email ROLE_LABELS.

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

vercel Bot commented Jul 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
estate-os Ready Ready Preview, Comment Jul 6, 2026 7:33pm

@Asapteejo
Asapteejo merged commit 3fadbbd into main Jul 6, 2026
2 checks passed
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