Startboard project

Startboard / Design system

Documentation v1.0.0 · Public product

Design system contents

Components

Preference controls

Search provider, AI destination and theme preference configure daily behavior.

On this page

Purpose and placement

Search provider, AI destination and theme preference configure daily behavior.

Anatomy

  • Search-engine select
  • AI-agent select
  • Dark-mode pressed button
  • Saving-disabled theme control

Contract

Contract
Input or boundaryBehavior
Search optionsBrave, DuckDuckGo, Google, Bing, Yahoo
AI optionsChatGPT, Gemini, Grok
Themesystem on initial default; toggle selects explicit light/dark
PersistencePATCH each change

States and feedback

  • Loading preferences
  • Selected values
  • Saving
  • Local visual update

Interaction and composition

Select changes optimistically update state and invoke the API. Theme changes also dispatch startboard-theme immediately. A binary toggle exits system-following mode; the page has no separate restore-system control.

Responsive behavior

Native selects take the available width and retain platform option rendering.

Accessibility contract

The toggle has a name and aria-pressed. Selects have visual labels without htmlFor/id associations in source; remediate programmatic names.

Known implementation gaps

API errors are logged with no visible recovery. The theme toggle is disabled during saving, while select controls are not.

Source references

Source references
Repository fileResponsibility
app/settings/preferences/page.tsxPreference UI
app/api/preferences/route.tsAllowed values
components/ThemeProvider.tsxTheme event listener

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.

Settings Preferences Default Desktop Light · Screen · Light · Desktop · 2880 × 2176 px

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