@@ -19,35 +19,35 @@ export const Home = () => {
1919 const [ activeCategory , setActiveCategory ] = useState < string > ( 'Layouts' ) ;
2020
2121 return (
22- < div className = "min-h-screen bg-gradient-to-br from-slate-50 via-white to-indigo-50 text-gray-900 " >
22+ < div className = "min-h-screen bg-background text-foreground " >
2323 { /* Hero Section */ }
2424 < header className = "bg-white/80 backdrop-blur-md border-b border-gray-200/50 sticky top-0 z-20 shadow-sm" >
2525 < div className = "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between" >
2626 < div className = "flex items-center gap-3" >
27- < div className = "bg-gradient-to-br from-indigo-600 to-purple-600 p-2 rounded-xl shadow-lg shadow-indigo-200 " >
28- < Box className = "w-5 h-5 text-white " />
27+ < div className = "bg-primary p-2 rounded-xl shadow-lg" >
28+ < Box className = "w-5 h-5 text-primary-foreground " />
2929 </ div >
30- < span className = "font-bold text-xl tracking-tight bg-gradient-to-r from-gray-900 to-gray-600 bg-clip-text text-transparent " > Object UI Studio</ span >
30+ < span className = "font-bold text-xl tracking-tight" > Object UI Studio</ span >
3131 </ div >
3232 < div className = "flex items-center gap-3" >
3333 < button
3434 onClick = { ( ) => navigate ( '/studio/new' ) }
35- className = "flex items-center gap-2 px-4 py-2 text-sm font-semibold text-indigo-600 bg-indigo-50 hover:bg-indigo-100 border border-indigo-200 rounded-lg transition-all shadow-sm hover:shadow"
35+ className = "flex items-center gap-2 px-4 py-2 text-sm font-semibold bg-primary text-primary-foreground hover:bg-primary/90 rounded-lg transition-all shadow-sm hover:shadow"
3636 >
3737 < Plus className = "w-4 h-4" />
3838 New Design
3939 </ button >
4040 < button
4141 onClick = { ( ) => navigate ( '/my-designs' ) }
42- className = "flex items-center gap-2 px-4 py-2 text-sm font-semibold text-gray-700 hover: text-gray-900 bg-white/50 hover:bg-white border border-gray-200 rounded-lg transition-all shadow-sm hover:shadow"
42+ className = "flex items-center gap-2 px-4 py-2 text-sm font-semibold bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-border rounded-lg transition-all shadow-sm hover:shadow"
4343 >
4444 < FolderOpen className = "w-4 h-4" />
4545 My Designs
4646 </ button >
4747 < a
4848 href = "https://github.com/objectql/objectui"
4949 target = "_blank"
50- className = "flex items-center gap-2 px-4 py-2 text-sm font-medium text-gray-700 hover: text-gray-900 bg-white/50 hover:bg-white border border-gray-200 rounded-lg transition-all shadow-sm hover:shadow"
50+ className = "flex items-center gap-2 px-4 py-2 text-sm font-medium bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-border rounded-lg transition-all shadow-sm hover:shadow"
5151 >
5252 < svg className = "w-4 h-4" fill = "currentColor" viewBox = "0 0 24 24" >
5353 < path fillRule = "evenodd" d = "M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clipRule = "evenodd" />
@@ -62,39 +62,39 @@ export const Home = () => {
6262 < div className = "text-center mb-20 relative" >
6363 { /* Decorative elements */ }
6464 < div className = "absolute inset-0 -z-10 overflow-hidden" >
65- < div className = "absolute top-0 left-1/4 w-96 h-96 bg-gradient-to-br from-indigo-200 to-purple-200 rounded-full blur-3xl opacity-30 animate-pulse" > </ div >
66- < div className = "absolute top-20 right-1/4 w-80 h-80 bg-gradient-to-br from-blue-200 to-cyan-200 rounded-full blur-3xl opacity-30 animate-pulse" > </ div >
65+ < div className = "absolute top-0 left-1/4 w-96 h-96 bg-muted/20 rounded-full blur-3xl opacity-30 animate-pulse" > </ div >
66+ < div className = "absolute top-20 right-1/4 w-80 h-80 bg-muted/30 rounded-full blur-3xl opacity-30 animate-pulse" > </ div >
6767 </ div >
6868
69- < div className = "inline-flex items-center gap-2 px-4 py-2 bg-indigo-50 border border-indigo-200 rounded-full text-sm font-semibold text-indigo-700 mb-6 shadow-sm" >
69+ < div className = "inline-flex items-center gap-2 px-4 py-2 bg-muted border border-border rounded-full text-sm font-semibold text-muted-foreground mb-6 shadow-sm" >
7070 < span className = "relative flex h-2 w-2" >
71- < span className = "animate-ping absolute inline-flex h-full w-full rounded-full bg-indigo-400 opacity-75" > </ span >
72- < span className = "relative inline-flex rounded-full h-2 w-2 bg-indigo-500 " > </ span >
71+ < span className = "animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75" > </ span >
72+ < span className = "relative inline-flex rounded-full h-2 w-2 bg-primary " > </ span >
7373 </ span >
7474 Interactive Visual Editor
7575 </ div >
7676
77- < h1 className = "text-5xl md:text-6xl lg:text-7xl font-black tracking-tight text-gray-900 mb-6 leading-tight" >
77+ < h1 className = "text-5xl md:text-6xl lg:text-7xl font-black tracking-tight mb-6 leading-tight" >
7878 Build Stunning Interfaces,< br />
79- < span className = "bg-gradient-to-r from-indigo-600 via-purple-600 to-pink-600 bg-clip- text text-transparent " > Purely from JSON.</ span >
79+ < span className = "text-primary " > Purely from JSON.</ span >
8080 </ h1 >
81- < p className = "max-w-2xl mx-auto text-xl text-gray-600 leading-relaxed mb-8" >
81+ < p className = "max-w-2xl mx-auto text-xl text-muted-foreground leading-relaxed mb-8" >
8282 Object UI transforms JSON schemas into fully functional, accessible, and responsive React applications.
8383 < br className = "hidden sm:block" />
84- < span className = "font-semibold text-gray-700 " > Select a template below or start from scratch.</ span >
84+ < span className = "font-semibold" > Select a template below or start from scratch.</ span >
8585 </ p >
8686
8787 < div className = "flex justify-center gap-4" >
8888 < button
8989 onClick = { ( ) => navigate ( '/studio/new' ) }
90- className = "flex items-center gap-2 px-6 py-3 text-lg font-bold text-white bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 rounded-xl shadow-lg shadow-indigo-300/50 transition-all transform hover:scale-105"
90+ className = "flex items-center gap-2 px-6 py-3 text-lg font-bold bg-primary text-primary-foreground hover:bg-primary/90 rounded-xl shadow-lg transition-all transform hover:scale-105"
9191 >
9292 < Plus className = "w-5 h-5" />
9393 Start New Design
9494 </ button >
9595 < button
9696 onClick = { ( ) => navigate ( '/my-designs' ) }
97- className = "flex items-center gap-2 px-6 py-3 text-lg font-bold text-gray-700 bg-white hover:bg-gray-50 border-2 border-gray-200 rounded-xl shadow-lg transition-all transform hover:scale-105"
97+ className = "flex items-center gap-2 px-6 py-3 text-lg font-bold bg-secondary text-secondary-foreground hover:bg-secondary/80 border-2 border-border rounded-xl shadow-lg transition-all transform hover:scale-105"
9898 >
9999 < FolderOpen className = "w-5 h-5" />
100100 Open Saved
@@ -111,14 +111,14 @@ export const Home = () => {
111111 className = { `
112112 group flex items-center gap-2 px-5 py-2.5 rounded-xl text-sm font-semibold transition-all duration-200
113113 ${ activeCategory === category
114- ? 'bg-gradient-to-r from-indigo-600 to-purple-600 text-white shadow-lg shadow-indigo-300/50 scale-105'
115- : 'bg-white text-gray-700 hover:bg-gray-50 border-2 border-gray-200 hover: border-indigo-200 hover:shadow-md' }
114+ ? 'bg-primary text-primary-foreground shadow-lg scale-105'
115+ : 'bg-secondary text-secondary-foreground hover:bg-secondary/80 border-2 border-border hover:shadow-md' }
116116 ` }
117117 >
118118 < CategoryIcon name = { category } />
119119 { category }
120120 { activeCategory === category && (
121- < span className = "ml-1 px-2 py-0.5 bg-white /20 rounded-full text-xs font-bold" >
121+ < span className = "ml-1 px-2 py-0.5 bg-primary-foreground /20 rounded-full text-xs font-bold" >
122122 { exampleCategories [ category as keyof typeof exampleCategories ] . length }
123123 </ span >
124124 ) }
@@ -136,42 +136,42 @@ export const Home = () => {
136136 < div
137137 key = { key }
138138 onClick = { ( ) => navigate ( `/${ key } ` ) }
139- className = "group relative bg-white rounded-2xl border-2 border-gray-200 overflow-hidden hover:shadow-2xl hover:shadow-indigo-500/20 transition-all duration-300 cursor-pointer hover:border-indigo-400 hover:-translate-y-1 flex flex-col h-72"
139+ className = "group relative bg-card rounded-2xl border-2 border-border overflow-hidden hover:shadow-2xl transition-all duration-300 cursor-pointer hover:border-primary hover:-translate-y-1 flex flex-col h-72"
140140 >
141- { /* Gradient overlay on hover */ }
142- < div className = "absolute inset-0 bg-gradient-to-br from-indigo-500 /0 via-purple-500/0 to-pink-500/0 group-hover:from-indigo-500/5 group-hover:via-purple-500/5 group-hover:to-pink-500 /5 transition-all duration-500 pointer-events-none z-10" > </ div >
141+ { /* Overlay on hover */ }
142+ < div className = "absolute inset-0 bg-primary /0 group-hover:bg-primary /5 transition-all duration-500 pointer-events-none z-10" > </ div >
143143
144144 { /* Mock Preview Window */ }
145- < div className = "bg-gradient-to-br from-gray-50 to-slate-100 border-b border-gray-200 p-6 flex-1 flex items-center justify-center overflow-hidden relative" >
145+ < div className = "bg-muted border-b border-border p-6 flex-1 flex items-center justify-center overflow-hidden relative" >
146146 { /* Decorative grid */ }
147147 < div className = "absolute inset-0 opacity-20 bg-dot-pattern-sm" > </ div >
148148
149- < div className = "relative w-3/4 h-3/4 bg-white shadow-xl border-2 border-gray-300 rounded-xl flex flex-col group-hover:scale-110 transition-transform duration-500" >
150- < div className = "h-5 border-b-2 border-gray-200 bg-gradient-to-b from-gray-100 to-gray-50 flex items-center px-2 gap-1.5 rounded-t-xl" >
149+ < div className = "relative w-3/4 h-3/4 bg-card shadow-xl border-2 border-border rounded-xl flex flex-col group-hover:scale-110 transition-transform duration-500" >
150+ < div className = "h-5 border-b-2 border-border bg-muted flex items-center px-2 gap-1.5 rounded-t-xl" >
151151 < div className = "w-2 h-2 rounded-full bg-red-500 shadow-sm" > </ div >
152152 < div className = "w-2 h-2 rounded-full bg-yellow-500 shadow-sm" > </ div >
153153 < div className = "w-2 h-2 rounded-full bg-green-500 shadow-sm" > </ div >
154154 </ div >
155155 < div className = "flex-1 p-3" >
156156 < div className = "space-y-2.5" >
157- < div className = "h-2.5 bg-gradient-to-r from-indigo-200 to-purple-200 rounded-full w-1/2 animate-pulse" > </ div >
158- < div className = "h-2.5 bg-gradient-to-r from-blue-200 to-cyan-200 rounded-full w-3/4 animate-pulse [animation-delay:75ms]" > </ div >
159- < div className = "h-2.5 bg-gradient-to-r from-purple-200 to-pink-200 rounded-full w-full animate-pulse [animation-delay:150ms]" > </ div >
157+ < div className = "h-2.5 bg-muted rounded-full w-1/2 animate-pulse" > </ div >
158+ < div className = "h-2.5 bg-muted rounded-full w-3/4 animate-pulse [animation-delay:75ms]" > </ div >
159+ < div className = "h-2.5 bg-muted rounded-full w-full animate-pulse [animation-delay:150ms]" > </ div >
160160 </ div >
161161 </ div >
162162 </ div >
163163 </ div >
164164
165- < div className = "p-6 relative z-10 bg-white border-t border-gray-100 " >
166- < h3 className = "text-lg font-bold text-gray-900 group-hover:text-indigo-600 transition-colors mb-2" >
165+ < div className = "p-6 relative z-10 bg-card border-t border-border " >
166+ < h3 className = "text-lg font-bold group-hover:text-primary transition-colors mb-2" >
167167 { title }
168168 </ h3 >
169169 < div className = "flex items-center justify-between" >
170- < div className = "flex items-center text-sm font-semibold text-gray-500 group-hover:text-indigo-600 transition-colors" >
170+ < div className = "flex items-center text-sm font-semibold text-muted-foreground group-hover:text-primary transition-colors" >
171171 Launch Studio
172172 < ArrowRight className = "w-4 h-4 ml-2 transform group-hover:translate-x-2 transition-transform" />
173173 </ div >
174- < div className = "px-3 py-1 bg-indigo-50 text-indigo-700 rounded-full text-xs font-bold group-hover:bg-indigo-600 group-hover:text-white transition-colors" >
174+ < div className = "px-3 py-1 bg-muted text-muted-foreground rounded-full text-xs font-bold group-hover:bg-primary group-hover:text-primary-foreground transition-colors" >
175175 Try Now
176176 </ div >
177177 </ div >
0 commit comments