11import {
2+ ArrowDown ,
23 ArrowRight ,
3- Cloud ,
4+ ArrowUp ,
45 Cpu ,
56 Database ,
6- GitFork ,
7- Layers ,
8- Palette ,
7+ Github ,
98 PlayCircle ,
109 Rocket ,
1110 Share2 ,
1211 Workflow ,
13- Zap ,
1412} from "lucide-react" ;
1513import { Link , Navigate } from "react-router" ;
1614
@@ -30,58 +28,43 @@ export function HomePage() {
3028
3129 const features = [
3230 {
33- icon : (
34- < Workflow className = "h-8 w-8 text-indigo-600 dark:text-indigo-400" />
35- ) ,
31+ icon : < Workflow className = "h-8 w-8 text-rose-600 dark:text-rose-400" /> ,
3632 title : "Visual Workflow Editor" ,
3733 description :
3834 "A drag-and-drop interface so easy, even your cat could automate your chores. (Results may vary.)" ,
3935 } ,
4036 {
41- icon : < Cpu className = "h-8 w-8 text-indigo -600 dark:text-indigo -400" /> ,
37+ icon : < Cpu className = "h-8 w-8 text-rose -600 dark:text-rose -400" /> ,
4238 title : "AI-Powered Nodes" ,
4339 description :
4440 "Jump on the AI bandwagon: text summarization, image analysis, and more, all without reading a single research paper." ,
4541 } ,
4642 {
47- icon : < Share2 className = "h-8 w-8 text-indigo -600 dark:text-indigo -400" /> ,
43+ icon : < Share2 className = "h-8 w-8 text-rose -600 dark:text-rose -400" /> ,
4844 title : "Serverless Execution" ,
4945 description :
5046 "Run workflows on Cloudflare's edge, where servers are just a rumor. Deploy, forget, and hope for the best." ,
5147 } ,
5248 {
53- icon : (
54- < PlayCircle className = "h-8 w-8 text-indigo-600 dark:text-indigo-400" />
55- ) ,
49+ icon : < PlayCircle className = "h-8 w-8 text-rose-600 dark:text-rose-400" /> ,
5650 title : "Real-time Monitoring" ,
5751 description :
5852 "Watch your workflows succeed, fail, or do something in between—all in real time, for your viewing pleasure." ,
5953 } ,
6054 {
61- icon : (
62- < Database className = "h-8 w-8 text-indigo-600 dark:text-indigo-400" />
63- ) ,
55+ icon : < Database className = "h-8 w-8 text-rose-600 dark:text-rose-400" /> ,
6456 title : "Persistent Storage" ,
6557 description :
6658 "Store your workflows with Cloudflare D1. Because sometimes, you actually want your data to stick around." ,
6759 } ,
6860 {
69- icon : < Rocket className = "h-8 w-8 text-indigo -600 dark:text-indigo -400" /> ,
61+ icon : < Rocket className = "h-8 w-8 text-rose -600 dark:text-rose -400" /> ,
7062 title : "Modern & Performant" ,
7163 description :
7264 "Built with all the latest buzzwords: React, TailwindCSS, and Shadcn UI. Fast, beautiful, and probably over-engineered." ,
7365 } ,
7466 ] ;
7567
76- const techStack = [
77- { name : "React" , icon : < Layers className = "h-6 w-6" /> } ,
78- { name : "TypeScript" , icon : < Zap className = "h-6 w-6" /> } ,
79- { name : "TailwindCSS" , icon : < Palette className = "h-6 w-6" /> } ,
80- { name : "Shadcn UI" , icon : < Layers className = "h-6 w-6" /> } ,
81- { name : "React Flow" , icon : < GitFork className = "h-6 w-6" /> } ,
82- { name : "Cloudflare" , icon : < Cloud className = "h-6 w-6" /> } ,
83- ] ;
84-
8568 return (
8669 < div className = "overflow-x-hidden" >
8770 { /* <HomeHeader /> */ }
@@ -93,12 +76,12 @@ export function HomePage() {
9376 < img
9477 src = "/logo.svg"
9578 alt = "dafthunk"
96- className = "h-16 dark:invert mb-6"
79+ className = "h-12 sm:h- 16 dark:invert mb-6"
9780 />
9881 < div className = "max-w-prose mx-auto" >
9982 < div className = "text-3xl sm:text-4xl md:text-5xl font-bold tracking-tight mb-4 relative text-center" >
10083 < h1 className = "relative" >
101- < span className = "bg-gradient-to-r from-indigo -600 to-purple-700 dark:from-indigo -500 dark:to-purple-400 bg-clip-text text-transparent" >
84+ < span className = "bg-gradient-to-r from-rose -600 to-purple-700 dark:from-rose -500 dark:to-purple-400 bg-clip-text text-transparent" >
10285 Workflows
10386 </ span > { " " }
10487 no one asked for.
@@ -109,14 +92,32 @@ export function HomePage() {
10992 automate automating.
11093 </ p >
11194 </ div >
112- < div className = "flex flex-col sm:flex-row justify-center w-full items-center gap-3 sm:gap-4 mb-10" >
95+ < div className = "flex flex-col sm:flex-row justify-center w-full items-center gap-2 sm:gap-3 mb-10" >
11396 < Button
11497 asChild
11598 size = "default"
11699 className = "bg-indigo-600 hover:bg-indigo-700 dark:bg-indigo-500 dark:hover:bg-indigo-600 text-white font-medium w-full sm:w-auto"
117100 >
118101 < Link to = "/workflows/playground" >
119- Start Building < ArrowRight className = "ms-1 size-4" />
102+ Break it < ArrowUp className = "ml-1 h-4 w-4" />
103+ </ Link >
104+ </ Button >
105+ < Button
106+ asChild
107+ size = "default"
108+ className = "bg-gradient-to-b sm:bg-gradient-to-r from-indigo-600 to-rose-600 hover:from-indigo-700 hover:to-rose-700 dark:bg-gradient-to-r dark:from-indigo-500 dark:to-rose-500 dark:hover:from-indigo-600 dark:hover:to-rose-600 text-white font-medium w-full sm:w-auto"
109+ >
110+ < Link to = "/workflows/playground" >
111+ Fix it < ArrowDown className = "ml-1 h-4 w-4" />
112+ </ Link >
113+ </ Button >
114+ < Button
115+ asChild
116+ size = "default"
117+ className = "bg-rose-600 hover:bg-rose-700 dark:bg-rose-500 dark:hover:bg-rose-600 text-white font-medium w-full sm:w-auto"
118+ >
119+ < Link to = "/workflows/playground" >
120+ Prompt it < ArrowRight className = "ml-1 h-4 w-4" />
120121 </ Link >
121122 </ Button >
122123 </ div >
@@ -144,7 +145,7 @@ export function HomePage() {
144145 { features . map ( ( feature ) => (
145146 < Card key = { feature . title } className = "h-full" >
146147 < CardHeader className = "flex flex-row items-start gap-3 p-5" >
147- < div className = "mt-1 text-indigo -600 dark:text-indigo -400" >
148+ < div className = "mt-1 text-rose -600 dark:text-rose -400" >
148149 { feature . icon }
149150 </ div >
150151 < div >
@@ -168,43 +169,38 @@ export function HomePage() {
168169 < span className = "text-indigo-600 dark:text-indigo-400 font-medium uppercase tracking-wider text-xs" >
169170 Crafted in Public (So You Can Witness the Chaos)
170171 </ span >
171- < h2 className = "text-2xl md:text-3xl lg:text-4xl font-semibold tracking-tight mt-2 mb-10 " >
172+ < h2 className = "text-2xl md:text-3xl lg:text-4xl font-semibold tracking-tight mt-1 mb-2 " >
172173 Built with Open Source Technologies
173174 </ h2 >
174- < div className = "flex flex-wrap justify-center items-center gap-x-6 gap-y-8 md:gap-x-8 lg:gap-x-10 max-w-3xl mx-auto" >
175- { techStack . map ( ( tech ) => (
176- < div
177- key = { tech . name }
178- className = "group flex flex-col items-center gap-2 text-muted-foreground transition-colors"
179- >
180- < div className = "p-4 bg-neutral-200/75 dark:bg-neutral-800/75 rounded-full border-2 border-transparent group-hover:border-indigo-600 dark:group-hover:border-indigo-400 transition-colors" >
181- < div className = "group-hover:text-indigo-600 dark:group-hover:text-indigo-400 transition-colors" >
182- { tech . icon }
183- </ div >
184- </ div >
185- < span className = "text-sm font-medium group-hover:text-indigo-600 dark:group-hover:text-indigo-400" >
186- { tech . name }
187- </ span >
188- </ div >
189- ) ) }
190- </ div >
175+ < p className = "text-muted-foreground mb-6" >
176+ Join the community and help us build the future of workflows.
177+ </ p >
178+ < Button
179+ asChild
180+ size = "default"
181+ className = "bg-indigo-600 hover:bg-indigo-700 dark:bg-indigo-500 dark:hover:bg-indigo-600 text-white font-medium"
182+ >
183+ < Link to = "https://github.com/dafthunk-com/dafthunk" >
184+ Contribute to the Project < Github className = "ml-1 h-4 w-4" />
185+ </ Link >
186+ </ Button >
191187 </ div >
192188 </ section >
193189
194190 { /* Call to Action Section */ }
195191 < section className = "relative py-16 md:py-20" >
196192 { /* Blurred balls background */ }
197193 < div className = "container mx-auto text-center px-6 max-w-prose" >
198- < h2 className = "text-2xl sm:text-3xl md:text-4xl font-semibold tracking-tight mb-4 text-indigo -600 dark:text-indigo -400" >
194+ < h2 className = "text-2xl sm:text-3xl md:text-4xl font-semibold tracking-tight mb-4 text-rose -600 dark:text-rose -400" >
199195 Alright, Enough Procrastinating
200196 </ h2 >
201- < p className = "text-base sm:text-lg text-muted-foreground mb-8 " >
197+ < p className = "text-base sm:text-lg text-muted-foreground mb-6 " >
202198 Start solving imaginary problems, and break the playground.
203199 </ p >
204200 < Button
205201 asChild
206202 size = "default"
207- className = "bg-indigo -600 hover:bg-indigo -700 dark:bg-indigo -500 dark:hover:bg-indigo -600 text-white font-medium"
203+ className = "bg-rose -600 hover:bg-rose -700 dark:bg-rose -500 dark:hover:bg-rose -600 text-white font-medium"
208204 >
209205 < Link to = "/workflows/playground" >
210206 Start Building Now < ArrowRight className = "ml-2 h-4 w-4" />
0 commit comments