|
|
|
@ -32,11 +32,9 @@ export function QuickstartInitialView({ |
|
|
|
</p> |
|
|
|
|
|
|
|
<div className="flex flex-col gap-2.5 mt-auto"> |
|
|
|
<a |
|
|
|
href="https://docs.nodebanana.com" |
|
|
|
target="_blank" |
|
|
|
rel="noopener noreferrer" |
|
|
|
className="flex items-center gap-2 text-sm text-neutral-400 hover:text-neutral-200 transition-colors" |
|
|
|
<span |
|
|
|
className="flex items-center gap-2 text-sm text-neutral-600 cursor-default" |
|
|
|
title="Coming soon" |
|
|
|
> |
|
|
|
<svg |
|
|
|
className="w-4 h-4" |
|
|
|
@ -51,8 +49,8 @@ export function QuickstartInitialView({ |
|
|
|
d="M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25" |
|
|
|
/> |
|
|
|
</svg> |
|
|
|
Docs |
|
|
|
</a> |
|
|
|
Docs (coming soon) |
|
|
|
</span> |
|
|
|
<a |
|
|
|
href="https://discord.com/invite/89Nr6EKkTf" |
|
|
|
target="_blank" |
|
|
|
@ -102,42 +100,43 @@ export function QuickstartInitialView({ |
|
|
|
/> |
|
|
|
|
|
|
|
<OptionButton |
|
|
|
onClick={onSelectTemplates} |
|
|
|
onClick={onSelectLoad} |
|
|
|
icon={ |
|
|
|
<path |
|
|
|
strokeLinecap="round" |
|
|
|
strokeLinejoin="round" |
|
|
|
d="M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z" |
|
|
|
d="M3.75 9.776c.112-.017.227-.026.344-.026h15.812c.117 0 .232.009.344.026m-16.5 0a2.25 2.25 0 00-1.883 2.542l.857 6a2.25 2.25 0 002.227 1.932H19.05a2.25 2.25 0 002.227-1.932l.857-6a2.25 2.25 0 00-1.883-2.542m-16.5 0V6A2.25 2.25 0 016 3.75h3.879a1.5 1.5 0 011.06.44l2.122 2.12a1.5 1.5 0 001.06.44H18A2.25 2.25 0 0120.25 9v.776" |
|
|
|
/> |
|
|
|
} |
|
|
|
title="Templates" |
|
|
|
description="Pre-built workflows" |
|
|
|
title="Load workflow" |
|
|
|
description="Open existing file" |
|
|
|
/> |
|
|
|
|
|
|
|
<OptionButton |
|
|
|
onClick={onSelectVibe} |
|
|
|
onClick={onSelectTemplates} |
|
|
|
icon={ |
|
|
|
<path |
|
|
|
strokeLinecap="round" |
|
|
|
strokeLinejoin="round" |
|
|
|
d="M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 00-2.456 2.456z" |
|
|
|
d="M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z" |
|
|
|
/> |
|
|
|
} |
|
|
|
title="Prompt a workflow" |
|
|
|
description="Describe what you want" |
|
|
|
title="Templates" |
|
|
|
description="Pre-built workflows" |
|
|
|
/> |
|
|
|
|
|
|
|
<OptionButton |
|
|
|
onClick={onSelectLoad} |
|
|
|
onClick={onSelectVibe} |
|
|
|
icon={ |
|
|
|
<path |
|
|
|
strokeLinecap="round" |
|
|
|
strokeLinejoin="round" |
|
|
|
d="M3.75 9.776c.112-.017.227-.026.344-.026h15.812c.117 0 .232.009.344.026m-16.5 0a2.25 2.25 0 00-1.883 2.542l.857 6a2.25 2.25 0 002.227 1.932H19.05a2.25 2.25 0 002.227-1.932l.857-6a2.25 2.25 0 00-1.883-2.542m-16.5 0V6A2.25 2.25 0 016 3.75h3.879a1.5 1.5 0 011.06.44l2.122 2.12a1.5 1.5 0 001.06.44H18A2.25 2.25 0 0120.25 9v.776" |
|
|
|
d="M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 00-2.456 2.456z" |
|
|
|
/> |
|
|
|
} |
|
|
|
title="Load workflow" |
|
|
|
description="Open existing file" |
|
|
|
title="Prompt a workflow" |
|
|
|
description="Describe what you want" |
|
|
|
badge="Beta" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -150,11 +149,13 @@ function OptionButton({ |
|
|
|
icon, |
|
|
|
title, |
|
|
|
description, |
|
|
|
badge, |
|
|
|
}: { |
|
|
|
onClick: () => void; |
|
|
|
icon: React.ReactNode; |
|
|
|
title: string; |
|
|
|
description: string; |
|
|
|
badge?: string; |
|
|
|
}) { |
|
|
|
return ( |
|
|
|
<button |
|
|
|
@ -174,9 +175,16 @@ function OptionButton({ |
|
|
|
</svg> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<h3 className="text-sm font-medium text-neutral-200 group-hover:text-neutral-100 transition-colors"> |
|
|
|
{title} |
|
|
|
</h3> |
|
|
|
<div className="flex items-center gap-2"> |
|
|
|
<h3 className="text-sm font-medium text-neutral-200 group-hover:text-neutral-100 transition-colors"> |
|
|
|
{title} |
|
|
|
</h3> |
|
|
|
{badge && ( |
|
|
|
<span className="px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide rounded bg-blue-500/20 text-blue-400"> |
|
|
|
{badge} |
|
|
|
</span> |
|
|
|
)} |
|
|
|
</div> |
|
|
|
<p className="text-xs text-neutral-500">{description}</p> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|