Onboarding Screen

OnboardingScreen — the first-run intro. Ships as a swipeable 3-page pager built on KitOnboardingPager + KitPageIndicator. Shown once, then gated by a DataStore flag.

📱Onboarding — lightlight/docs/screens/onboarding-light.png
📱Onboarding — darkdark/docs/screens/onboarding-dark.png

feature/onboarding/OnboardingScreen.kt

How it's wired

KitNavHost shows it on first launch only — once finished, onboardingDone is written to DataStore and it never shows again. The copy lives in strings.xml:

<string name="onboarding_page1_title">Track your water</string>
<string name="onboarding_page1_desc">Log every glass and build a hydration streak.</string>
<!-- …page2, page3 -->

/kit-start-setup writes these for you from one sentence about your app.

Two onboarding modes

ModeWhenCommand
Simple 3-page introDefault — quick value pitchwritten by /kit-start-setup
Personalised questionnaireCalm / Headspace-style quiz that tailors the app/kit-design-onboarding

The questionnaire mode replaces the pager with a 10–14 screen flow (welcome → value-prop → 3–5 question screens → permission priming → social proof → personalised plan → ready). Its answers persist so the app feels personalised from first launch.

Features

  • Swipeable pager with a dot indicator
  • Per-page icon, title, description (all localizable)
  • Shown once, DataStore-gated (onboardingDone)
  • Upgradeable to a full questionnaire with one command

Configure with /kit-start-setup (simple) or /kit-design-onboarding (questionnaire).