Sonarist project

Sonarist / Design system

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

Design system contents

Patterns

Schedule and clear follow-up

Move a planned next contact into Follow up while retaining a clear recovery path.

On this page

User goal

Move a planned next contact into Follow up while retaining a clear recovery path.

Workflow

Workflow
StepExpected behavior
1Open a Sales thread and choose Set follow-up.
2Review the current scheduled value if present.
3Choose a native date or Today/Tomorrow/Next week.
4The parent records a display value and moves the thread to follow-up.
5Clear the value when the plan changes; an existing follow-up thread returns to waiting.

Decision and composition rules

  • Follow-up is deliberate future attention.
  • Waiting age fields clear when follow-up is set.
  • Quick choices currently save display labels rather than resolved canonical timestamps.

Edge cases and recovery

  • Year and timezone are not stored in the UI value.
  • No actual reminder job or due-date scheduler is demonstrated.
  • A real implementation needs explicit overdue, timezone and reschedule rules.

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/inbox/follow-up-dialog.tsxDate/quick choices
components/inbox/conversation-detail.tsxParent transition

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.

Follow Up · Component detail · Light · Desktop · 1152 × 868 px
Follow Up · Component detail · Light · Desktop · Date Selected · 1152 × 868 px
Follow Up Queue · Screen · Light · Desktop · 2880 × 2000 px

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