Skip to content
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
a46281f
docs: setup wizard for new databases (discussion #523) design spec
ericgriffin Jul 10, 2026
276acf5
docs: setup wizard implementation plan
ericgriffin Jul 10, 2026
9f902d8
refactor: move wizard step primitives to lib/shared/widgets/wizard
ericgriffin Jul 10, 2026
3d9cf07
feat(l10n): add setup wizard strings in all locales
ericgriffin Jul 10, 2026
4330ef7
feat(setup): setup wizard domain model and step computation
ericgriffin Jul 10, 2026
ae821ce
feat(setup): setup wizard draft notifier and preview locale provider
ericgriffin Jul 10, 2026
fa1639a
feat(setup): draft apply service with race-safe settings seeding
ericgriffin Jul 10, 2026
b7a264b
feat(setup): wizard shell with fork and profile steps
ericgriffin Jul 10, 2026
f4ca05d
feat(setup): units step with locale-aware preset and fine-tuning
ericgriffin Jul 10, 2026
c51414a
feat(setup): appearance step with live language preview
ericgriffin Jul 10, 2026
0bd7bb5
feat(setup): backup schedule and cloud sync connection step
ericgriffin Jul 10, 2026
42b3ae5
feat(setup): finish step applies draft and offers feature links
ericgriffin Jul 10, 2026
a5be18c
feat(setup): existing-data path with restore, sync pull, and folder a…
ericgriffin Jul 10, 2026
8e7490b
feat(setup): route first run and settings entry to the setup wizard
ericgriffin Jul 10, 2026
92e5369
docs: describe the setup wizard first-run flow
ericgriffin Jul 10, 2026
ac95d91
chore: verification fixes for setup wizard
ericgriffin Jul 10, 2026
0a778a8
fix(setup): S3 redirect bounce, back navigation, drop appearance step
ericgriffin Jul 10, 2026
85aa536
fix(setup): address PR review — settings re-entry backup state, cloud…
ericgriffin Jul 10, 2026
2fa5c69
test(setup): raise patch coverage to 90%+ for the wizard
ericgriffin Jul 10, 2026
aad17de
fix(setup): handle pull failures in the sync-connect step
ericgriffin Jul 10, 2026
673d094
fix(setup): sync-error state handling + surface iCloud-unavailable me…
ericgriffin Jul 11, 2026
a43b260
fix(setup): correct finish-screen feature routes (/gear->/equipment, …
ericgriffin Jul 11, 2026
cfd0aaf
feat(setup): let first-run users change the sync backend after connec…
ericgriffin Jul 11, 2026
cd09612
Merge remote-tracking branch 'origin/main' into worktree-523-setup-wi…
ericgriffin Jul 11, 2026
89e73ef
Merge remote-tracking branch 'origin/main' into worktree-523-setup-wi…
ericgriffin Jul 11, 2026
f5bc500
fix: restore libdivecomputer submodule pointer to main's pinned commit
ericgriffin Jul 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ submersion/
│ │ ├── dive_types/ # Custom dive types
│ │ ├── marine_life/ # Species sightings
│ │ ├── tools/ # Calculators
│ │ └── onboarding/ # First-run experience
│ │ └── setup_wizard/ # First-run setup wizard + Settings re-entry
│ │
│ └── shared/ # Reusable components
│ ├── constants/
Expand Down
7 changes: 7 additions & 0 deletions docs/FEATURE_ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -1303,6 +1303,13 @@

---

### Setup Wizard (Completed)

- [x] Setup wizard for new databases (discussion #523): first-run fork
(fresh start vs existing data), units with locale-aware preset,
appearance, backup schedule and cloud sync connect, restore/adopt
paths, feature-discovery finish screen, Settings re-entry

## 15.2 Multi-User / Family Support

| Feature | Status | Phase | Notes |
Expand Down
2 changes: 1 addition & 1 deletion docs/developer/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ lib/
│ ├── dive_types/
│ ├── marine_life/
│ ├── tools/
│ └── onboarding/
│ └── setup_wizard/
└── shared/ # Shared components
├── constants/
Expand Down
8 changes: 6 additions & 2 deletions docs/developer/navigation.md
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,8 @@ GoRoute(
| Path | Name | Screen |
|------|------|--------|
| `/welcome` | welcome | WelcomePage |
| `/welcome` | welcome | SetupWizardPage (first-run mode) |
| `/settings/setup-assistant` | setupAssistant | SetupWizardPage (re-entry mode) |
## Navigation Patterns
Expand Down Expand Up @@ -394,7 +395,10 @@ This provides instant transitions between main tabs, matching platform conventio
### First-Run Guard
The router redirects to onboarding if no divers exist:
The router redirects to the setup wizard if no divers exist. The wizard
offers a fresh-start path (profile, units, appearance, backup and sync) and
an existing-data path (restore a backup, connect cloud sync, or open an
existing storage folder):
```dart
redirect: (context, state) async {
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Submersion has five main sections accessible from the bottom navigation bar (mob

### Core Workflow

1. **Create a diver profile** - On first launch, you'll set up your diver profile
1. **Run the setup wizard** - On first launch, create your profile and pick units, appearance, and backup options (or restore existing data)
2. **Add dive sites** - Build your site database (or import existing sites)
3. **Log dives** - Manually or download from a dive computer
4. **Track gear** - Add your equipment with service reminders
Expand Down
19 changes: 12 additions & 7 deletions docs/guide/first-dive.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,23 @@

Let's log your first dive in Submersion! This quick tutorial will get you familiar with the basics.

## Step 1: Create Your Diver Profile
## Step 1: Run the Setup Wizard

When you first launch Submersion, you'll be asked to create a diver profile.
When you first launch Submersion, a short setup wizard walks you through
creating your logbook. If you already have Submersion data, choose
**I have existing Submersion data** to restore a backup, connect cloud
sync, or open an existing folder instead.

<div class="screenshot-placeholder">
<strong>Screenshot: Welcome/Onboarding Screen</strong><br>
<em>The welcome screen where you create your first diver profile</em>
<strong>Screenshot: Setup Wizard Welcome Screen</strong><br>
<em>The welcome screen where setup begins</em>
</div>

1. Enter your **name**
2. Optionally add your **email** and **phone**
3. Tap **Create Profile**
1. Choose **Set up a new logbook**
2. Enter your **name**
3. Pick your **units** (Metric or Imperial), appearance, and backup
preferences - every step after the name can be skipped
4. Tap **Start logging**

<div class="tip">
<strong>Tip:</strong> You can add more details to your profile later, including emergency contacts, medical info, and insurance details.
Expand Down
3,620 changes: 3,620 additions & 0 deletions docs/superpowers/plans/2026-07-10-setup-wizard.md

Large diffs are not rendered by default.

Loading