@@ -15,49 +15,55 @@ const NAV_ITEMS = [
1515 id : "dashboard" ,
1616 label : "Dashboard" ,
1717 icon : DashboardIcon ,
18- size : 42 ,
19- color : "text-rose-400" ,
20- glow : "rgba(59,130,246,0.35)" ,
18+ size : 24 ,
19+ color : "text-rose-500" ,
20+ glow : "rgba(244,63,94,0.1)" ,
21+ activeGlow : "rgba(244,63,94,0.25)" ,
2122 } ,
2223 {
2324 id : "hql" ,
2425 label : "HQL" ,
2526 icon : HQLIcon ,
26- size : 42 ,
27+ size : 24 ,
2728 color : "text-emerald-500" ,
28- glow : "rgba(16,185,129,0.35)" ,
29+ glow : "rgba(16,185,129,0.1)" ,
30+ activeGlow : "rgba(16,185,129,0.25)" ,
2931 } ,
3032 {
3133 id : "queries" ,
3234 label : "Queries" ,
3335 icon : QueriesIcon ,
34- size : 42 ,
35- color : "text-yellow-500" ,
36- glow : "rgba(245,158,11,0.35)" ,
36+ size : 24 ,
37+ color : "text-amber-500" ,
38+ glow : "rgba(245,158,11,0.1)" ,
39+ activeGlow : "rgba(245,158,11,0.25)" ,
3740 } ,
3841 {
3942 id : "editor" ,
4043 label : "Modeler" ,
4144 icon : ModelerIcon ,
42- size : 42 ,
45+ size : 24 ,
4346 color : "text-orange-500" ,
44- glow : "rgba(249,115,22,0.35)" ,
47+ glow : "rgba(249,115,22,0.1)" ,
48+ activeGlow : "rgba(249,115,22,0.25)" ,
4549 } ,
4650 {
4751 id : "schema" ,
4852 label : "Schema" ,
4953 icon : SchemaIcon ,
50- size : 42 ,
54+ size : 24 ,
5155 color : "text-indigo-500" ,
52- glow : "rgba(99,102,241,0.35)" ,
56+ glow : "rgba(99,102,241,0.1)" ,
57+ activeGlow : "rgba(99,102,241,0.25)" ,
5358 } ,
5459 {
5560 id : "graph" ,
5661 label : "Graph" ,
5762 icon : GraphIcon ,
58- size : 42 ,
63+ size : 24 ,
5964 color : "text-purple-500" ,
60- glow : "rgba(168,85,247,0.35)" ,
65+ glow : "rgba(168,85,247,0.1)" ,
66+ activeGlow : "rgba(168,85,247,0.25)" ,
6167 } ,
6268] as const ;
6369
@@ -72,10 +78,10 @@ const ConnectionButton = (props: { isConnected: boolean; onClick: () => void })
7278 style = { { "-webkit-tap-highlight-color" : "transparent" } }
7379 title = { props . isConnected ? `Connected to ${ active . name } - Click to disconnect` : "Disconnected - Click to configure" }
7480 >
75- < div class = "relative w-12 h-11 flex items-center justify-center" >
81+ < div class = "relative w-12 h-9 flex items-center justify-center" >
7682 < ConnectionIcon
7783 connected = { props . isConnected }
78- size = { 42 }
84+ size = { 24 }
7985 class = { `transition-all duration-300 ${ props . isConnected ? "scale-105 drop-shadow-[0_0_8px_rgba(16,185,129,0.4)]" : "text-native-tertiary grayscale" } group-hover:scale-110` }
8086 />
8187 </ div >
@@ -89,18 +95,20 @@ const ConnectionButton = (props: { isConnected: boolean; onClick: () => void })
8995 ) ;
9096} ;
9197
92- const NavButton = ( props : { label : string ; icon : any ; color : string ; glow ? : string ; size ?: number ; isActive : boolean ; onClick : ( ) => void } ) => {
98+ const NavButton = ( props : { label : string ; icon : any ; color : string ; glow : string ; activeGlow : string ; size ?: number ; isActive : boolean ; onClick : ( ) => void } ) => {
9399 return (
94100 < button
95101 onClick = { props . onClick }
96102 class = "flex flex-col items-center justify-center min-w-[72px] h-[52px] pb-px transition-all group relative outline-none select-none"
97103 style = { { "-webkit-tap-highlight-color" : "transparent" } }
98104 >
99105 < div
100- class = { `relative w-12 h-11 flex items-center justify-center transition-all duration-300 ${ props . isActive ? "text-accent scale-110" : props . color + " group-hover:scale-110" } ` }
101- style = { { filter : props . glow ? `drop-shadow(0 2px 6px ${ props . glow } )` : undefined } }
106+ class = { `relative w-12 h-9 flex items-center justify-center transition-all duration-300 ${ props . isActive ? "text-accent scale-110" : props . color + " group-hover:scale-110" } ` }
107+ style = { {
108+ filter : `drop-shadow(0 2px ${ props . isActive ? "6px" : "3px" } ${ props . isActive ? props . activeGlow : props . glow } )` ,
109+ } }
102110 >
103- < props . icon size = { props . size || 42 } theme = { props . isActive ? "dark" : "light" } />
111+ < props . icon size = { props . size || 24 } theme = { props . isActive ? "dark" : "light" } />
104112 </ div >
105113
106114 < span
@@ -138,7 +146,16 @@ export const TopNav = (props: TopNavProps) => {
138146 < div class = "flex items-center gap-0.5" >
139147 < For each = { NAV_ITEMS } >
140148 { ( item ) => (
141- < NavButton label = { item . label } icon = { item . icon } color = { item . color } glow = { item . glow } size = { item . size } isActive = { props . activeView === item . id } onClick = { ( ) => props . onSelectView ( item . id ) } />
149+ < NavButton
150+ label = { item . label }
151+ icon = { item . icon }
152+ color = { item . color }
153+ glow = { item . glow }
154+ activeGlow = { item . activeGlow }
155+ size = { item . size }
156+ isActive = { props . activeView === item . id }
157+ onClick = { ( ) => props . onSelectView ( item . id ) }
158+ />
142159 ) }
143160 </ For >
144161 </ div >
0 commit comments