// SP14 / M14 — Onboarding wizard // Multi-step first-run experience: welcome → workspace → invites → integrations // → sample data → done + first-run checklist. const { useState: useStateOB, useEffect: useEffectOB } = React; const Onboarding = ({ setPage }) => { const [step, setStep] = React.useState(0); const [data, setData] = React.useState({ role: 'founder', workspaceName: 'My Studio', subdomain: 'mystudio', brandColor: '#d4ff3a', logo: null, invites: [ { email: '', role: 'Editor' }, { email: '', role: 'Editor' }, ], integrations: { stripe:false, resend:true, posthog:false, slack:false, sentry:false }, seed: 'studio', }); const steps = [ { id:'welcome', label:'Welcome', sub:'Tell us who you are' }, { id:'workspace', label:'Workspace', sub:'Name, URL, brand' }, { id:'invite', label:'Invite', sub:'Add your team' }, { id:'integrate', label:'Integrate', sub:'Connect what you use' }, { id:'seed', label:'Sample data', sub:'Pick a starting point' }, { id:'done', label:'Ready', sub:"You're all set" }, ]; const update = (patch) => setData(d => ({ ...d, ...patch })); const next = () => setStep(s => Math.min(s+1, steps.length-1)); const back = () => setStep(s => Math.max(s-1, 0)); return (
Five quick steps. Takes about two minutes. Nothing you choose here is permanent — you can change everything later.
This is what your team sees in the sidebar and what shows up on shared links. You can change it any time.
Send invite emails now or skip this step — you can always invite people later from Team & roles. Each invite uses 1 seat.
Connect now and we'll pre-wire the integration. Skip and you can add any of these from Settings later — nothing's locked in.
Pre-loaded content makes it easier to see how SolidAtoms works. Everything's safe to delete or modify.
{data.invites.filter(i=>i.email).length > 0 ? `We sent invites to ${data.invites.filter(i=>i.email).length} teammate${data.invites.filter(i=>i.email).length > 1 ? 's' : ''}. They'll get a welcome email from your shiny new Email Studio.` : 'Your workspace is ready. Here are a few things you can do next.'}