diff --git a/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx b/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx
index ed454c8..cb530af 100644
--- a/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx
+++ b/vibn-frontend/_onboarding/onboarding-entrepreneur.tsx
@@ -5,12 +5,11 @@ import {
WizardQ,
WizardFooter,
LANE_LABELS,
- ChipGroup,
- Field,
+ PresetGroup,
} from "./onboarding-primitives";
const ENTREP_TOTAL = 3;
-const ENTREP_STEP_NAMES = ["Idea", "Audience", "Look"];
+const ENTREP_STEP_NAMES = ["Idea", "Status", "Look"];
const IDEA_PROMPTS = [
"A community for indie game devs to swap playtesters, with weekly demo nights",
@@ -102,36 +101,43 @@ export function EntrepIdea({ value, onChange }) {
);
}
-const AUDIENCE_PRESETS = [
- "Me and people like me",
- "A small community I'm part of",
- "Local people in my city",
- "Anyone searching for this",
- "Other small businesses",
- "Hobbyists in a niche I love",
+const STATUS_OPTIONS = [
+ {
+ id: "scratch",
+ label: "We are starting from scratch",
+ desc: "No code, no wireframes, no assets. Just a clean slate and a fresh vision.",
+ },
+ {
+ id: "research",
+ label: "I've done some research I can share",
+ desc: "I have PDFs, wireframes, landing copy, or user interviews to help guide the build.",
+ },
+ {
+ id: "existing",
+ label: "I've already built some of the project",
+ desc: "I have an existing repo, database schema, or mockups to import.",
+ },
];
-function EntrepAudience({ value, onChange }) {
- const isPreset = AUDIENCE_PRESETS.includes(value);
+function EntrepStatus({ value, onChange }) {
return (
<>
- onChange(arr[arr.length - 1] || "")}
+ ({
+ id: o.id,
+ label: o.label,
+ desc: o.desc,
+ icon: undefined,
+ }))}
+ value={value}
+ onChange={onChange}
+ columns={3}
+ minimal={false}
/>
-
- onChange(e.target.value)}
- />
-
>
);
}
@@ -282,12 +288,12 @@ export function EntrepreneurPath({
canNext = (data.idea || "").trim().length >= 8;
} else if (step === 1) {
body = (
- onUpdate({ audience: v })}
+ onUpdate({ projectStatus: v })}
/>
);
- canNext = (data.audience || "").trim().length >= 3;
+ canNext = !!data.projectStatus;
} else {
body = (
onUpdate({ vibe: v })} />