- {/* Aurora Glow */}
-
+
onChange(e.target.value)}
/>
- {/* Frosted Card */}
-
-
-
- {wireLine(18, 0.5)}
-
- {wireLine("80%", 0.3)}
- {wireLine("40%", 0.15)}
-
-
- );
- } else if (styleId === "minimal") {
- // Classic Minimal: parchment background, gridded rule lines
- content = (
-
-
- {wireLine(24, 0.6)}
- {wireLine(12, 0.4)}
-
-
-
- {wireLine("90%", 0.5)}
- {wireLine("50%", 0.25)}
-
-
- {wireLine("100%", 0.5)}
- {wireLine("70%", 0.25)}
-
-
-
- );
- } else if (styleId === "bento") {
- // Dark bento grid
- content = (
-
-
- {wireLine("50%", 0.4)}
-
-
-
- {wireLine("80%", 0.3)}
- {wireLine("40%", 0.15)}
-
-
- {wireLine("100%", 0.3)}
-
-
- );
- } else if (styleId === "swiss") {
- // Editorial swiss: White background, bold geometric layouts
- content = (
-
-
-
- VIBN.
-
- {wireLine(16, 0.6)}
-
-
-
-
-
- {wireLine("100%", 0.4)}
- {wireLine("100%", 0.4)}
- {wireLine("60%", 0.2)}
-
-
-
- );
- } else if (styleId === "brutalist") {
- // Neo-brutalist yellow card, thick borders, heavy offsets
- content = (
-
-
-
-
-
- {wireLine(24, 0.85)}
-
- {wireLine("60%", 0.6)}
-
-
- );
- } else {
- // I'm not sure / Undecided
- content = (
-
-
-
- Automatic
-
-
- );
- }
-
- return (
-
- {content}
-
- );
-}
-
-interface StyleOption {
- id: string;
- label: string;
- desc: string;
- illustration: React.ReactNode;
- fullWidth?: boolean;
-}
-
-const SAAS_STYLES: StyleOption[] = [
- {
- id: "sidebar_light",
- label: "Vertical Sidebar — Light",
- desc: "Clean light sidebar + light dashboard layouts.",
- illustration:
,
- },
- {
- id: "sidebar_dark",
- label: "Vertical Sidebar — Dark",
- desc: "Full dark sidebar + dark dashboard layouts.",
- illustration:
,
- },
- {
- id: "topbar_light",
- label: "Top Horizontal — Light",
- desc: "Sleek dark topbar + light dashboard layouts.",
- illustration:
,
- },
- {
- id: "topbar_dark",
- label: "Top Horizontal — Dark",
- desc: "Full dark topbar + dark dashboard layouts.",
- illustration:
,
- },
- {
- id: "not_sure",
- label: "I'm not sure",
- desc: "Let Vibn help you decide based on your description",
- fullWidth: true,
- illustration:
,
- },
-];
-
-const MARKETPLACE_STYLES: StyleOption[] = [
- {
- id: "flux",
- label: "Dark Glass / Flux",
- desc: "Modern dark-glass panels with glowing fuchsia aurora backdrops.",
- illustration:
,
- },
- {
- id: "minimal",
- label: "Classic Minimal",
- desc: "Warm parchment neutrals, high-contrast typography and clean grids.",
- illustration:
,
- },
-];
-
-const GENERAL_STYLES: StyleOption[] = [
- {
- id: "bento",
- label: "Dark Bento",
- desc: "Modern dark UI, bento-box card clusters.",
- illustration:
,
- },
- {
- id: "swiss",
- label: "Editorial Swiss",
- desc: "Type-led, gridded, lots of white space — clean and academic.",
- illustration:
,
- },
- {
- id: "brutalist",
- label: "Neo-Brutalist",
- desc: "Bold offsets, thick hand-drawn borders, highly tactile and organic.",
- illustration:
,
- },
-];
-
-function EntrepStyle({ productType, value, onChange }) {
- // Dynamically tailor the styles array based on what they picked on Page 2
- const isSaas = productType === "saas";
- const isMarketplace = productType === "marketplace";
-
- const styles = isSaas
- ? SAAS_STYLES
- : isMarketplace
- ? MARKETPLACE_STYLES
- : GENERAL_STYLES;
-
- return (
- <>
-
-
({
- id: s.id,
- label: s.label,
- desc: s.desc,
- icon: undefined,
- illustration: s.illustration,
- fullWidth: s.fullWidth,
- }))}
- value={value}
- onChange={onChange}
- columns={2}
- minimal
- />
+
>
);
}
@@ -2496,23 +273,6 @@ export function EntrepreneurPath({
canNext,
onSkip = null;
if (step === 0) {
- body = (
- onUpdate({ productType: v })}
- />
- );
- canNext = !!data.productType;
- } else if (step === 1) {
- body = (
- onUpdate({ designStyle: v })}
- />
- );
- canNext = !!data.designStyle;
- } else if (step === 2) {
body = (
);
canNext = (data.idea || "").trim().length >= 8;
+ } else if (step === 1) {
+ body = (
+ onUpdate({ audience: v })}
+ />
+ );
+ canNext = (data.audience || "").trim().length >= 3;
} else {
body = (
onUpdate({ vibe: v })} />
@@ -2531,7 +299,7 @@ export function EntrepreneurPath({
};
}
- // 5 total: fork(1) + 4 path steps
+ // 4 total: fork(1) + 3 path steps
return (
<>
-
+
{body}
>