Skip to content

Commit 9085d35

Browse files
luongnv89claude
andcommitted
Add design catalog to landing page
- Display all 5 available design systems in a responsive grid - Add hero section with site description - Add 'How to use' section showing example design URL - Update CategoryFilter to use actual design categories Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent de0a7f2 commit 9085d35

File tree

1 file changed

+31
-17
lines changed

1 file changed

+31
-17
lines changed

src/App.tsx

Lines changed: 31 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,13 @@ import { CopyButton } from '@/components/ui/CopyButton';
44
import { SearchBar } from '@/components/ui/SearchBar';
55
import { CategoryFilter } from '@/components/ui/CategoryFilter';
66
import { DesignDetail } from '@/components/DesignDetail';
7+
import { DesignCard } from '@/components/catalog/DesignCard';
8+
import designs from '@/data/designs';
79

810
function App() {
911
const [searchValue, setSearchValue] = useState('');
1012
const [selectedCategory, setSelectedCategory] = useState<string | null>(null);
1113

12-
const categories = [
13-
{ id: 'saas', label: 'SaaS', count: 42 },
14-
{ id: 'landing', label: 'Landing', count: 28 },
15-
{ id: 'portfolio', label: 'Portfolio', count: 15 },
16-
{ id: 'ecommerce', label: 'E-commerce', count: 31 },
17-
];
18-
1914
const exampleText = 'https://luongnv89.github.io/sleek-ui/designs/warm-saas.json';
2015

2116
return (
@@ -25,25 +20,26 @@ function App() {
2520
path="/"
2621
element={
2722
<div className="min-h-screen bg-background p-8">
28-
<div className="mx-auto max-w-4xl space-y-12">
29-
<section>
23+
<div className="mx-auto max-w-7xl space-y-12">
24+
<section className="text-center space-y-6 py-12 md:py-20">
3025
<h1 className="scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-6xl">
31-
Sleek UI Components
26+
Sleek UI Design Systems
3227
</h1>
33-
<p className="mt-4 text-xl text-muted-foreground">
34-
Utility components for your design system
28+
<p className="text-xl text-muted-foreground max-w-2xl mx-auto">
29+
Beautiful, ready-to-use design systems for your next project.
30+
Simply pick a design and apply it to your codebase.
3531
</p>
3632
</section>
3733

38-
{/* CopyButton Demo */}
34+
{/* Example Prompt Section */}
3935
<section className="rounded-lg border bg-card p-6 shadow-sm">
4036
<h2 className="scroll-m-20 text-2xl font-semibold tracking-tight">
41-
CopyButton
37+
How to use
4238
</h2>
4339
<p className="mt-4 text-lg text-muted-foreground">
44-
A button component that copies text to clipboard with visual feedback
40+
Copy the design URL and tell your AI agent to apply it:
4541
</p>
46-
<div className="mt-6 flex items-center gap-2 rounded-md border p-3">
42+
<div className="mt-6 flex items-center gap-2 rounded-md border bg-muted p-3">
4743
<code className="flex-1 break-all text-sm text-muted-foreground">
4844
{exampleText}
4945
</code>
@@ -55,6 +51,24 @@ function App() {
5551
</div>
5652
</section>
5753

54+
{/* Design Catalog */}
55+
<section className="space-y-6">
56+
<div className="flex items-center justify-between">
57+
<h2 className="scroll-m-20 text-2xl font-semibold tracking-tight">
58+
Available Designs
59+
</h2>
60+
<span className="text-sm text-muted-foreground">
61+
{designs.length} designs
62+
</span>
63+
</div>
64+
65+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
66+
{designs.map((design) => (
67+
<DesignCard key={design.slug} design={design} />
68+
))}
69+
</div>
70+
</section>
71+
5872
{/* SearchBar Demo */}
5973
<section className="rounded-lg border bg-card p-6 shadow-sm">
6074
<h2 className="scroll-m-20 text-2xl font-semibold tracking-tight">
@@ -82,7 +96,7 @@ function App() {
8296
</p>
8397
<div className="mt-6">
8498
<CategoryFilter
85-
categories={categories}
99+
categories={designs.map(d => d.categories).flat()}
86100
selected={selectedCategory}
87101
onChange={setSelectedCategory}
88102
/>

0 commit comments

Comments
 (0)