Components/Onboarding

Onboarding

A five-step first run through sign-in, a workspace, preferences, and permissions.

Since 0.6.0BETA

This component doc is in progress

This page is still being migrated. Demos and API details may change.

Usage

First-run setup

Watch the flow plays the first three steps and stops at permissions, which only you grant. Sign-in and permissions are simulated.

Loading demo...

Overview

Tuff Desktop's first-run guide; every step is simulated, sends no request, and asks for no real permission.

  • Sign-in matches Tuff: Passkey, GitHub, LINUX DO, and an email Magic Link, with no password field; Continue offline skips the workspace step.
  • Continue works only once the step is satisfied, and the footer says what is missing; Back and finished steps go back, and focus moves to the new step's heading.
  • The summon shortcut is recordable: a combination must include ⌘, ⌃, or ⌥, and Esc cancels; combinations the browser keeps, such as ⌘W or ⌘T, are refused.
  • Every permission waits for you to press Allow access; screen recording is refused the first time and offers Open System Settings.
  • Once in view only the entrance plays; Watch the flow runs to the permissions step and stops; a click or key stops it, and reduced motion jumps straight to permissions.
  • On the last step your summon shortcut opens a miniature CoreBox; ≥ 1200px adds a live preview, and narrow (< 640px) folds the brand rail into a top row.

Customization

  • For real sign-in, replace the timer in signIn() with an OAuth redirect or a WebAuthn call; don't add a password field, since Tuff has no password sign-in.
  • For real permissions, read the state from the system and check again after Allow access raises the system dialog; grants start only from the user's click.
  • The entrance effects (TxTuffLogoStroke with once, TxKeyframeStrokeText, TxGlowText with :repeat="false") play on mount: mount them once visible, and change key to replay.
  • TxBorderBeam's rotating family (sm, md, line) has no reduced-motion fallback, so pass :active="false" then; its theme defaults to dark and auto follows the system, not the site, so pass the site theme.
  • TxSteps emits nothing: to go back, put a native @click on TxStep and give clickable to finished steps only.
RegionComponentsRole
Brand railTxTuffLogoStroke, TxKeyframeStrokeText, TxGlowTextEntrance stroke and light sweep
StepsTxSteps / TxStep, TxProgressBarFive-step progress you can revisit
Sign inTxBorderBeam, TxButton, TxBadge, TxForm / TxFormItem, TxInputFour sign-in methods and offline
WorkspaceTxRadioGroup / TxRadio, TxFlatRadio, TxAvatar, TxTagInput, TxCardNew space or team invitation
PreferencesTxKbd, TxGradientBorder, TxFlatRadio, TxRadioGroup / TxRadio, TuffSwitchShortcut, theme, and startup options
PermissionsTxIconChip, TxTag, TxStatusBadge, TxProgressBarThree permissions and their states
DoneTxKeyframeStrokeText, TxGlowText, TxKbd, TxBorderBeam, TxGlassSurface, TxCardItemShortcut try-out and summary
Transitions and feedbackTxTransition, TxToastPanelStep transitions and result notices
Live preview (wide)TxGlassSurface, TxStatusBadgeLive preview of your choices