Startboard project

Startboard / Design system

Documentation v1.0.0 · Public product

Design system contents

Components

Public visibility control

A switch-shaped button makes board sharing an explicit owner decision.

On this page

Purpose and placement

A switch-shaped button makes board sharing an explicit owner decision.

Anatomy

  • 24×48px track
  • 20px white thumb
  • Public text and supporting explanation

Contract

Contract
Input or boundaryBehavior
isPublicBoolean; default false on create
Semanticsaria-pressed on a button
Selected colorSource primary purple

States and feedback

  • Private
  • Public
  • Persisted only after board save

Interaction and composition

The toggle edits the pending form value. It does not publish immediately; the surrounding Create or Update action persists the change. Clearly distinguish an unsaved public selection from a verified public route.

Responsive behavior

Supporting text wraps beside the track. The nominal 48px track lacks shrink-0 and can compress into a ring at phone widths, as the native captures demonstrate.

Accessibility contract

The control is a pressed button rather than role=switch. Keep the accessible name and pressed state; never rely only on thumb position.

Known implementation gaps

The source public URL uses the current origin in settings. Local capture URLs are demonstrations, not share links to a live fixture.

Source references

Source references
Repository fileResponsibility
app/(home)/AppHome.tsxCreate visibility
app/settings/boards/BoardsList.tsxEdit visibility

Examples from the app

Actual Startboard source UI with isolated fictional records; both native themes at 2× resolution or higher. No live integrations or account writes. Captured at 2× resolution or higher. Select an image to inspect it full size.

Board Editor Public Desktop Light · Component detail · Light · Desktop · Public · 1800 × 1842 px
Board Editor Edit Desktop Light · Component detail · Light · Desktop · Edit · 1800 × 1842 px

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