@@ -4,50 +4,105 @@ import { InstallCommand } from '@/components/install-command';
44
55export default function HomePage ( ) {
66 return (
7- < div className = "flex flex-col items-center justify-center flex-1 px-4 py-16" >
8- < div className = "mb-8" >
9- < svg
10- width = { 80 }
11- height = { 80 }
12- viewBox = "0 0 1024 1024"
13- xmlns = "http://www.w3.org/2000/svg"
14- >
15- < defs >
16- < linearGradient id = "heroGrad" x1 = "0%" y1 = "0%" x2 = "100%" y2 = "100%" >
17- < stop
18- offset = "0%"
19- style = { { stopColor : '#5336E2' , stopOpacity : 1 } }
7+ < div className = "flex flex-col items-center flex-1 px-6 py-10 lg:py-16" >
8+ { /* Hero: two-column on desktop, stacked on mobile */ }
9+ < div className = "flex flex-col lg:flex-row items-center gap-8 lg:gap-16 max-w-5xl w-full mb-12 lg:mb-16" >
10+ { /* Left: text content */ }
11+ < div className = "flex-1 flex flex-col items-center min-w-0 w-full" >
12+ < div className = "mb-4 lg:mb-6" >
13+ < svg
14+ width = { 64 }
15+ height = { 64 }
16+ viewBox = "0 0 1024 1024"
17+ xmlns = "http://www.w3.org/2000/svg"
18+ >
19+ < defs >
20+ < linearGradient id = "heroGrad" x1 = "0%" y1 = "0%" x2 = "100%" y2 = "100%" >
21+ < stop
22+ offset = "0%"
23+ style = { { stopColor : '#5336E2' , stopOpacity : 1 } }
24+ />
25+ < stop
26+ offset = "100%"
27+ style = { { stopColor : '#8B5CF6' , stopOpacity : 1 } }
28+ />
29+ </ linearGradient >
30+ </ defs >
31+ < rect width = { 1024 } height = { 1024 } rx = { 180 } ry = { 180 } fill = "#0f0f17" />
32+ < path
33+ d = "M256 768 Q512 256 768 768"
34+ stroke = "url(#heroGrad)"
35+ strokeWidth = { 64 }
36+ fill = "none"
37+ strokeLinecap = "round"
2038 />
21- < stop
22- offset = "100%"
23- style = { { stopColor : '#8B5CF6' , stopOpacity : 1 } }
24- />
25- </ linearGradient >
26- </ defs >
27- < rect width = { 1024 } height = { 1024 } rx = { 180 } ry = { 180 } fill = "#0f0f17" />
28- < path
29- d = "M256 768 Q512 256 768 768"
30- stroke = "url(#heroGrad)"
31- strokeWidth = { 64 }
32- fill = "none"
33- strokeLinecap = "round"
34- />
35- </ svg >
36- </ div >
39+ </ svg >
40+ </ div >
41+
42+ < h1 className = "text-4xl font-bold mb-4 text-center bg-gradient-to-r from-[#5336E2] to-[#8B5CF6] bg-clip-text text-transparent" >
43+ NomadFlow
44+ </ h1 >
45+ < p className = "text-base lg:text-lg text-fd-muted-foreground mb-6 lg:mb-8 text-center" >
46+ Manage git worktrees and tmux sessions from your phone. A single Rust
47+ binary that runs on your server, paired with a mobile app for on-the-go
48+ development.
49+ </ p >
50+
51+ < div className = "mb-6 lg:mb-8 w-full overflow-hidden flex justify-center" >
52+ < InstallCommand />
53+ </ div >
3754
38- < h1 className = "text-4xl font-bold mb-4 text-center bg-gradient-to-r from-[#5336E2] to-[#8B5CF6] bg-clip-text text-transparent" >
39- NomadFlow
40- </ h1 >
41- < p className = "text-lg text-fd-muted-foreground mb-10 text-center max-w-xl" >
42- Manage git worktrees and tmux sessions from your phone. A single Rust
43- binary that runs on your server, paired with a mobile app for on-the-go
44- development.
45- </ p >
55+ < div className = "flex flex-wrap justify-center gap-4 self-center lg:self-center" >
56+ < Link
57+ href = "/docs"
58+ className = "px-6 py-3 rounded-lg bg-gradient-to-r from-[#5336E2] to-[#8B5CF6] text-white font-medium text-lg hover:opacity-90 transition-opacity"
59+ >
60+ Get Started
61+ </ Link >
62+ < a
63+ href = "https://github.com/fab-uleuh/NomadFlowCode"
64+ className = "px-6 py-3 rounded-lg border border-fd-border font-medium text-lg hover:bg-fd-accent transition-colors"
65+ target = "_blank"
66+ rel = "noopener noreferrer"
67+ >
68+ GitHub
69+ </ a >
70+ < a
71+ href = "https://apps.apple.com/fr/app/nomadflowcode/id6758987619"
72+ className = "inline-flex items-center gap-2 px-6 py-3 rounded-lg border border-fd-border font-medium text-lg hover:bg-fd-accent transition-colors"
73+ target = "_blank"
74+ rel = "noopener noreferrer"
75+ >
76+ < svg width = "20" height = "20" viewBox = "0 0 384 512" fill = "currentColor" >
77+ < path d = "M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z" />
78+ </ svg >
79+ App Store
80+ </ a >
81+ </ div >
82+ </ div >
4683
47- < div className = "mb-10 w-full max-w-lg" >
48- < InstallCommand />
84+ { /* Right: phone mockup with demo video */ }
85+ < div className = "flex-shrink-0" >
86+ < div className = "relative mx-auto w-[200px] lg:w-[280px] rounded-[2rem] lg:rounded-[3rem] border-[5px] lg:border-[6px] border-fd-foreground/20 bg-black p-1.5 lg:p-2 shadow-2xl shadow-[#5336E2]/15" >
87+ { /* Notch */ }
88+ < div className = "absolute top-0 left-1/2 -translate-x-1/2 w-20 lg:w-28 h-4 lg:h-6 bg-black rounded-b-xl lg:rounded-b-2xl z-10" />
89+ { /* Screen */ }
90+ < div className = "rounded-[1.5rem] lg:rounded-[2.25rem] overflow-hidden bg-black" >
91+ < video
92+ autoPlay
93+ loop
94+ muted
95+ playsInline
96+ className = "w-full h-auto"
97+ >
98+ < source src = "/demo.mp4" type = "video/mp4" />
99+ </ video >
100+ </ div >
101+ </ div >
102+ </ div >
49103 </ div >
50104
105+ { /* Features */ }
51106 < div className = "grid grid-cols-1 md:grid-cols-3 gap-6 max-w-3xl w-full mb-10" >
52107 < div className = "border border-fd-border rounded-xl p-5 bg-fd-card transition-colors hover:border-[#5336E2]/40" >
53108 < div className = "mb-3 text-[#5336E2] dark:text-[#8B5CF6]" >
@@ -81,23 +136,6 @@ export default function HomePage() {
81136 </ div >
82137 </ div >
83138
84- < div className = "flex gap-4" >
85- < Link
86- href = "/docs"
87- className = "px-5 py-2.5 rounded-lg bg-gradient-to-r from-[#5336E2] to-[#8B5CF6] text-white font-medium hover:opacity-90 transition-opacity"
88- >
89- Get Started
90- </ Link >
91- < a
92- href = "https://github.com/fab-uleuh/NomadFlowCode"
93- className = "px-5 py-2.5 rounded-lg border border-fd-border font-medium hover:bg-fd-accent transition-colors"
94- target = "_blank"
95- rel = "noopener noreferrer"
96- >
97- GitHub
98- </ a >
99- </ div >
100-
101139 < footer className = "mt-auto pt-16 pb-8 text-sm text-fd-muted-foreground flex gap-4" >
102140 < Link href = "/privacy" className = "hover:underline" >
103141 Privacy Policy
0 commit comments