@@ -4,18 +4,13 @@ import { CopyButton } from '@/components/ui/CopyButton';
44import { SearchBar } from '@/components/ui/SearchBar' ;
55import { CategoryFilter } from '@/components/ui/CategoryFilter' ;
66import { DesignDetail } from '@/components/DesignDetail' ;
7+ import { DesignCard } from '@/components/catalog/DesignCard' ;
8+ import designs from '@/data/designs' ;
79
810function 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