Skip to content

Commit 1490366

Browse files
committed
rm shadcn content
1 parent 6ef3708 commit 1490366

File tree

1 file changed

+0
-234
lines changed

1 file changed

+0
-234
lines changed

src/pages/index.tsx

Lines changed: 0 additions & 234 deletions
Original file line numberDiff line numberDiff line change
@@ -1,245 +1,11 @@
1-
import { ArrowRight, Boxes, GitBranch, Sparkles, Terminal } from 'lucide-react';
2-
import Layout from '@theme/Layout';
3-
import Link from '@docusaurus/Link';
41

5-
import { Badge } from '@/components/ui/badge';
6-
import { Button } from '@/components/ui/button';
7-
import {
8-
Card,
9-
CardContent,
10-
CardDescription,
11-
CardHeader,
12-
CardTitle,
13-
} from '@/components/ui/card';
142
import { useEffect } from 'react';
153

16-
const featureCards = [
17-
{
18-
title: 'Opinionated building blocks',
19-
description:
20-
'Compose production-ready stacks with recipes for apps, workers, and data pipelines using a few lines of YAML.',
21-
icon: Boxes,
22-
href: '/docs/category/providers',
23-
cta: 'Explore providers',
24-
},
25-
{
26-
title: 'Developer-first workflows',
27-
description:
28-
'Preview, ship, and roll back from the CLI while Defang manages infrastructure, secrets, and observability.',
29-
icon: Terminal,
30-
href: '/docs/category/cli',
31-
cta: 'See CLI guides',
32-
},
33-
{
34-
title: 'AI-compatible by default',
35-
description:
36-
'Spin up AI agents, flows, and scheduled jobs with batteries-included examples and best practices.',
37-
icon: Sparkles,
38-
href: '/docs/category/use-cases',
39-
cta: 'Build an agent',
40-
},
41-
];
42-
43-
const timeline = [
44-
{
45-
title: 'Get started in minutes',
46-
description:
47-
'Follow the quickstart to install the CLI, authenticate, and deploy your first service without touching the console.',
48-
href: '/docs/getting-started',
49-
},
50-
{
51-
title: 'Scale to production',
52-
description:
53-
'Define infrastructure once and promote through environments with declarative blueprints and guardrails built in.',
54-
href: '/docs/category/concepts',
55-
},
56-
{
57-
title: 'Automate everything',
58-
description:
59-
'Leverage managed pipelines, build triggers, and cloud events so your team ships reliable software every day.',
60-
href: '/docs/category/tutorials',
61-
},
62-
];
634

645
export default function Home() {
656
useEffect(() => {
667
window.location.href = '/docs';
678
}, []);
689

6910
return null;
70-
return (
71-
<Layout>
72-
<main className="relative overflow-hidden">
73-
<div className="pointer-events-none absolute inset-0 -z-10 bg-hero-grid opacity-70 dark:opacity-45 dark:mix-blend-screen" />
74-
<section data-testid="landing-hero" className="container flex flex-col gap-12 py-16 md:py-24 lg:py-28">
75-
<div className="flex flex-col gap-8 text-center md:text-left">
76-
<div className="flex flex-col items-center gap-3 md:flex-row md:gap-4">
77-
<Badge data-testid="hero-badge" className="bg-primary/10 text-primary shadow-none">
78-
Built for calm, cloud-native shipping
79-
</Badge>
80-
<span className="text-sm text-muted-foreground">
81-
Updated {new Date().toLocaleDateString('en-US', { month: 'long', year: 'numeric' })}
82-
</span>
83-
</div>
84-
<h1 className="text-4xl font-semibold tracking-tight text-foreground sm:text-5xl md:text-6xl lg:text-7xl">
85-
Shipping calm cloud software is finally the default
86-
</h1>
87-
<p className="mx-auto max-w-2xl text-lg text-muted-foreground md:mx-0 md:text-xl">
88-
Defang abstracts the noisy parts of infrastructure so you can focus on features.
89-
These docs walk through the workflows, architecture patterns, and reference deployments that power modern teams.
90-
</p>
91-
<div className="flex flex-col items-center gap-4 md:flex-row md:items-center md:gap-6">
92-
<Button asChild size="lg" className="w-full md:w-auto hover:text-white">
93-
<Link to="/docs/getting-started">
94-
Launch quickstart
95-
<ArrowRight className="ml-2 h-4 w-4" aria-hidden="true" />
96-
</Link>
97-
</Button>
98-
<Button asChild variant="ghost" className="w-full md:w-auto">
99-
<Link to="/docs/samples">
100-
Browse production samples
101-
<ArrowRight className="ml-2 h-4 w-4" aria-hidden="true" />
102-
</Link>
103-
</Button>
104-
</div>
105-
<div className="mt-4 flex flex-wrap items-center justify-center gap-6 md:justify-start">
106-
{['AWS', 'GCP', 'Docker', 'Pulumi', 'OpenAI'].map((logo) => (
107-
<div
108-
key={logo}
109-
className="text-sm font-medium text-muted-foreground/80 transition-colors hover:text-foreground"
110-
>
111-
{logo}
112-
</div>
113-
))}
114-
</div>
115-
</div>
116-
</section>
117-
118-
<section data-testid="feature-grid" className="container grid gap-6 pb-20 md:grid-cols-2 md:gap-8 lg:grid-cols-3">
119-
{featureCards.map(({ title, description, icon: Icon, href, cta }) => (
120-
<Card key={title} data-testid="feature-card" className="group">
121-
<CardHeader>
122-
<div className="flex h-12 w-12 items-center justify-center rounded-2xl bg-primary/10 text-primary transition-all group-hover:bg-primary group-hover:text-primary-foreground">
123-
<Icon className="h-6 w-6" aria-hidden="true" />
124-
</div>
125-
<CardTitle>{title}</CardTitle>
126-
<CardDescription>{description}</CardDescription>
127-
</CardHeader>
128-
<CardContent className="pt-2">
129-
<Button asChild variant="ghost" className="gap-2 px-0 text-sm font-semibold">
130-
<Link to={href}>
131-
{cta}
132-
<ArrowRight className="h-4 w-4" aria-hidden="true" />
133-
</Link>
134-
</Button>
135-
</CardContent>
136-
</Card>
137-
))}
138-
</section>
139-
140-
<section data-testid="timeline" className="border-y border-border/60 bg-card/30 dark:bg-background/70 py-16 md:py-20">
141-
<div className="container grid gap-12 md:grid-cols-[1.15fr_0.85fr] md:items-center">
142-
<div className="flex flex-col gap-6">
143-
<Badge data-testid="timeline-badge" variant="outline" className="w-fit border-primary/40 bg-primary/5 text-primary">
144-
Guided track
145-
</Badge>
146-
<h2 className="text-3xl font-semibold tracking-tight md:text-4xl">
147-
A documentation experience that mirrors the way you ship
148-
</h2>
149-
<p className="max-w-xl text-base text-muted-foreground md:text-lg">
150-
Move from hello world to production in a straight line. Each stage links to runnable samples, infrastructure definitions, and launch checklists.
151-
</p>
152-
<div className="grid gap-4">
153-
{timeline.map(({ title, description, href }) => (
154-
<Link
155-
key={title}
156-
data-testid="timeline-step"
157-
to={href}
158-
className="group flex w-full items-start gap-4 rounded-2xl border border-border/60 bg-background/70 p-5 transition-all hover:-translate-y-1 hover:border-primary/60 hover:shadow-xl hover:shadow-primary/15"
159-
>
160-
<div className="mt-1 flex h-10 w-10 items-center justify-center rounded-full border border-primary/40 bg-primary/10 text-primary transition-all group-hover:bg-primary group-hover:text-primary-foreground">
161-
<GitBranch className="h-4 w-4" aria-hidden="true" />
162-
</div>
163-
<div className="flex flex-col gap-2">
164-
<h3 className="text-lg font-semibold text-foreground">{title}</h3>
165-
<p className="text-sm text-muted-foreground">{description}</p>
166-
</div>
167-
</Link>
168-
))}
169-
</div>
170-
</div>
171-
<div className="relative isolate flex flex-col gap-4 rounded-3xl border border-border/70 bg-background/90 dark:bg-card/60 p-6 shadow-xl shadow-primary/10">
172-
<div className="absolute right-6 top-6 h-20 w-20 rounded-full bg-primary/20 blur-2xl" />
173-
<h3 className="text-xl font-semibold">What’s inside</h3>
174-
<ul className="grid gap-4 text-sm text-muted-foreground">
175-
<li className="rounded-2xl border border-border/60 bg-card/80 p-4 shadow-sm">
176-
✅ Environment-aware deploy workflows with automatic rollbacks
177-
</li>
178-
<li className="rounded-2xl border border-border/60 bg-card/80 p-4 shadow-sm">
179-
✅ Infrastructure blueprints for web apps, workers, and agents
180-
</li>
181-
<li className="rounded-2xl border border-border/60 bg-card/80 p-4 shadow-sm">
182-
✅ Samples that pair CLI commands with production-grade configs
183-
</li>
184-
</ul>
185-
<Button asChild className="self-start">
186-
<Link to="/docs/Intro">
187-
Dive into the docs
188-
<ArrowRight className="ml-2 h-4 w-4" aria-hidden="true" />
189-
</Link>
190-
</Button>
191-
</div>
192-
</div>
193-
</section>
194-
195-
<section data-testid="updates" className="container flex flex-col gap-8 py-16 md:py-20">
196-
<div className="flex flex-col gap-3 text-center">
197-
<Badge data-testid="updates-badge" variant="outline" className="mx-auto border-primary/30 bg-primary/10 text-primary">
198-
Recently refreshed
199-
</Badge>
200-
<h2 className="text-3xl font-semibold md:text-4xl">
201-
New launches, walkthroughs, and templates every month
202-
</h2>
203-
<p className="mx-auto max-w-2xl text-base text-muted-foreground md:text-lg">
204-
Stay in the flow with product updates, migration notes, and real-world sample apps built by the Defang community.
205-
</p>
206-
</div>
207-
<div className="grid gap-6 md:grid-cols-3">
208-
{[
209-
{
210-
title: 'Deploy your first agent with Crew AI',
211-
href: '/blog/2025/06/16/crew-ai-sample',
212-
description: 'Use Defang workflows to bootstrap retrieval-augmented agents that scale beyond experiments.',
213-
},
214-
{
215-
title: 'May 2025 product highlights',
216-
href: '/blog/2025/06/06/may-product-updates',
217-
description: 'Ship features faster with environment-aware deploys, project templates, and richer metrics.',
218-
},
219-
{
220-
title: 'Opinionated Docker Compose to Defang migration',
221-
href: '/blog/2025/06/16/docker-compose-defang',
222-
description: 'A guided path for teams standardizing on Defang after years running compose in production.',
223-
},
224-
].map(({ title, href, description }) => (
225-
<Card key={title} data-testid="update-card" className="group border-border/70 bg-background/90">
226-
<CardHeader>
227-
<CardTitle className="text-lg">{title}</CardTitle>
228-
<CardDescription>{description}</CardDescription>
229-
</CardHeader>
230-
<CardContent className="pt-2">
231-
<Button asChild variant="ghost" className="gap-2 px-0 text-sm font-semibold hover:bg-transparent">
232-
<Link to={href}>
233-
Read the update
234-
<ArrowRight className="h-4 w-4" aria-hidden="true" />
235-
</Link>
236-
</Button>
237-
</CardContent>
238-
</Card>
239-
))}
240-
</div>
241-
</section>
242-
</main>
243-
</Layout>
244-
);
24511
}

0 commit comments

Comments
 (0)