Sonarist project

Sonarist / Design system

Documentation v1.0.0 · Work in progress · UI prototype with separate server foundations

Design system contents

Patterns

Review seat billing

Understand the annual seat model without presenting a sample invoice as a real financial record.

On this page

User goal

Understand the annual seat model without presenting a sample invoice as a real financial record.

Workflow

Workflow
StepExpected behavior
1Open Billing settings and read the source plan model.
2Review active/invited seat count and calculated annual total.
3Inspect sample history and renewal context.
4Follow Review team members to understand seats.
5Manage billing remains a local placeholder until authenticated hosted billing is connected.

Decision and composition rules

  • Active and invited source members count as seats.
  • Access scope changes do not change seat count.
  • Owner-only server DTO and provider modules exist separately.

Edge cases and recovery

  • The browser component has no live owner gate.
  • Sample renewal/history is not account truth.
  • Portal actions only display toasts.
  • Real totals must use authoritative subscription price/currency and provider events.

Persistence boundary

The demonstrated frontend uses local React state or static fixtures. Read the readiness topic before connecting these actions to authenticated persistence. A visible toast, badge or timer is not a server acknowledgement.

Source references

Source references
FileResponsibility
components/views/billing-settings.tsxDemo model
lib/server/billing/summary.tsOwner-only summary
helpdesk-notes/Billing Infrastructure.mdHosted flow and status authority

Examples from the app

Actual Sonarist components with fictional conversations, people, example.com addresses and simulated operational states. Captured at 2× resolution or higher. Select an image to inspect it full size.

Settings Billing · Screen · Light · Desktop · 2880 × 2000 px

Source audit: 2026-10-08 · Revision 10f45d1377b5 · Documentation v1.0.0