From 9c4208bb89174f9cc4347277b43b50a5a36a287a Mon Sep 17 00:00:00 2001 From: Petr Date: Tue, 10 Mar 2026 11:06:11 +0100 Subject: [PATCH] Unify onboarding into single-column stepper with inline registration Merge the two-column layout (setup steps + registration form) into one unified flow. Step 4 now contains the registration form inline, creating a natural top-to-bottom progression through the setup process. --- webapp/templates/dashboard.html | 186 ++++++++++++++++++++------------ 1 file changed, 118 insertions(+), 68 deletions(-) diff --git a/webapp/templates/dashboard.html b/webapp/templates/dashboard.html index 5495f67..e8d2cc2 100644 --- a/webapp/templates/dashboard.html +++ b/webapp/templates/dashboard.html @@ -1267,41 +1267,49 @@ /* ── New User Layout ── */ .new-user-grid { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 24px; + max-width: 640px; + margin: 0 auto; } .setup-card { - padding: 32px; + padding: 36px 40px; } .setup-card h3 { - font-size: 18px; - font-weight: 600; + font-size: 20px; + font-weight: 700; color: var(--text-primary); - margin: 0 0 12px 0; + margin: 0 0 6px 0; } .setup-description { color: var(--text-secondary); - margin-bottom: 24px; + margin-bottom: 28px; + font-size: 14px; } .setup-steps { display: flex; flex-direction: column; - gap: 20px; + gap: 0; } .step-item { - padding-left: 40px; + padding-left: 44px; + padding-bottom: 24px; position: relative; + border-left: 2px solid var(--border); + margin-left: 13px; + } + + .step-item:last-child { + border-left-color: transparent; + padding-bottom: 0; } .step-number { position: absolute; - left: 0; + left: -15px; top: 0; width: 28px; height: 28px; @@ -1313,10 +1321,15 @@ justify-content: center; font-size: 13px; font-weight: 600; + z-index: 1; + } + + .step-item.step-done .step-number { + background: var(--success); } .step-header strong { - font-size: 14px; + font-size: 15px; color: var(--text-primary); } @@ -1335,10 +1348,12 @@ display: block; background: var(--background); padding: 12px 16px; + padding-right: 40px; border-radius: 6px; font-family: var(--font-mono); font-size: 13px; color: var(--text-primary); + overflow-x: auto; } .btn-copy-code { @@ -1365,6 +1380,7 @@ .btn-copy-v2 { display: inline-flex; align-items: center; + gap: 8px; padding: 12px 24px; background: var(--primary); color: white; @@ -1390,6 +1406,38 @@ color: var(--text-secondary); } + /* ── Inline registration in step 4 ── */ + .step-registration { + background: var(--background); + border-radius: 8px; + padding: 20px; + margin-top: 12px; + } + + .step-registration .info-box-v2 { + margin-bottom: 16px; + } + + .step-registration .form-group-v2 textarea { + background: white; + } + + .step-registration .form-row-v2 { + margin-top: 4px; + } + + .step-success-msg { + margin-top: 12px; + padding: 12px 16px; + background: rgba(16, 183, 127, 0.08); + border-radius: 6px; + font-size: 13px; + color: var(--success); + display: flex; + align-items: center; + gap: 8px; + } + /* ── Registration Card ── */ .registration-card h3 { font-size: 18px; @@ -1587,7 +1635,7 @@ } .new-user-grid { - grid-template-columns: 1fr; + max-width: 100%; } } @@ -2068,19 +2116,33 @@
-
-

Setup with your AI assistant

+

Get Started

- Follow these steps to set up your data analyst workspace. + Set up your data analyst workspace in 5 steps.

+ + {% if not username_available %} +
+ ! +
+

Username Not Available

+

{{ username_error }}

+

Your email generates username {{ username }}, which cannot be used.

+

Contact an administrator to create your account manually.

+
+
+ {% endif %} +
+ {# ── Step 1: Create folder ── #}
1
Create your project folder
+

Open your terminal:

mkdir -p data-analyst && cd data-analyst
+ + {# ── Step 2: SSH key ── #}
2
@@ -2109,6 +2173,8 @@
+ + {# ── Step 3: Copy public key ── #}
3
@@ -2124,24 +2190,49 @@
-

Paste the key into the registration form →

+ + {# ── Step 4: Create account (inline registration) ── #}
4
Create your account
-

Click Create Account in the form on the right.

+ {% if username_available %} +
+
+ Your username: + {{ username }} +
+
+
+ + +
+
+
+ Username: + {{ username }} +
+ +
+
+
+ {% endif %}
+ + {# ── Step 5: Claude Code ── #}
5
- Start Claude Code and set up workspace + Start Claude Code
+

Launch Claude Code in your project folder and paste the setup instructions:

claude
-

Paste the setup instructions into Claude Code:

+
+ Claude Code will: configure SSH, download data & docs via rsync, + set up Python + DuckDB, and create your project context. +
-
- Claude Code will: configure SSH, download data & docs via rsync, - set up Python + DuckDB, and create your project context. -
- - - {% if not username_available %} -
- ! -
-

Username Not Available

-

{{ username_error }}

-

Your email generates username {{ username }}, which cannot be used.

-

Contact an administrator to create your account manually.

-
-
- {% else %} -
-

Create Your Account

-

- You're being guided here from Claude Code setup. - Paste your SSH public key below to create your account. -

-
- Your username will be: - {{ username }} -
-
-
- - -

Claude Code should have shown you this key. Copy and paste it here.

-
-
-
- Username: - {{ username }} -
- -
-
-

- After creating your account, copy your username above and return to Claude Code to continue setup. -

-
- {% endif %} -
{{ config.INSTANCE_NAME }} - need help? Contact your platform team.