Skip to content

Commit 1c0e464

Browse files
fab-uleuhclaude
andcommitted
feat(docs): redesign homepage with demo video and App Store link
Rework the hero into a two-column layout with a phone mockup playing a demo video. Move CTA buttons above the fold and add an App Store button linking to the iOS app listing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7e6ba75 commit 1c0e464

2 files changed

Lines changed: 94 additions & 56 deletions

File tree

docs/app/(home)/page.tsx

Lines changed: 94 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -4,50 +4,105 @@ import { InstallCommand } from '@/components/install-command';
44

55
export 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

docs/public/demo.mp4

21.8 MB
Binary file not shown.

0 commit comments

Comments
 (0)