@@ -2,7 +2,7 @@ import React, { useMemo, useState } from 'react';
22import { NavLink , useLocation } from 'react-router-dom' ;
33import { FiZap , FiActivity , FiCpu , FiRadio , FiBarChart , FiMenu , FiX } from 'react-icons/fi' ;
44
5- const ResearchDomainNav = ( { domainsMeta = { } } ) => {
5+ const ResearchDomainNav = ( { domainsMeta = { } , theme = 'light' } ) => {
66 const location = useLocation ( ) ;
77 const [ mobileOpen , setMobileOpen ] = useState ( false ) ;
88
@@ -46,38 +46,68 @@ const ResearchDomainNav = ({ domainsMeta = {} }) => {
4646 } , [ location . pathname , isExperimentationActive , domains ] ) ;
4747
4848 return (
49- < div className = "bg-gradient-to-r from-[#0A0F1F] via-[#0D1425] to-[#0A0F1F] border-b border-[#1A4FFF]/20 shadow-xl" >
49+ < div
50+ className = {
51+ theme === 'dark'
52+ ? 'bg-gradient-to-r from-[#0A0F1F] via-[#0D1425] to-[#0A0F1F] border-b border-[#1A4FFF]/20 shadow-xl'
53+ : 'bg-white border-b border-gray-200 shadow-sm'
54+ }
55+ >
5056 < div className = "max-w-[1800px] mx-auto px-4 sm:px-6 py-4" >
5157 < div className = "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 mb-4" >
5258 < div >
53- < h1 className = "text-2xl font-bold text-white font-['Poppins']" >
59+ < h1
60+ className = {
61+ theme === 'dark'
62+ ? "text-2xl font-bold text-white font-['Poppins']"
63+ : "text-2xl font-bold text-gray-900 font-['Poppins']"
64+ }
65+ >
5466 Atonix Research Lab
5567 </ h1 >
56- < p className = " text-xs text-gray-400 mt-1" >
68+ < p className = { theme === 'dark' ? ' text-xs text-gray-400 mt-1' : 'text-xs text-gray-600 mt-1' } >
5769 Unified Command Center for Multi-Domain Research
5870 </ p >
5971 </ div >
6072
6173 { /* Desktop version */ }
62- < div className = "hidden sm:block text-xs text-[#00E0FF] font-semibold tracking-wider sm:text-right" >
74+ < div
75+ className = {
76+ theme === 'dark'
77+ ? 'hidden sm:block text-xs text-[#00E0FF] font-semibold tracking-wider sm:text-right'
78+ : 'hidden sm:block text-xs text-primary-700 font-semibold tracking-wider sm:text-right'
79+ }
80+ >
6381 v2.0.0
6482 </ div >
6583
6684 { /* Mobile menu toggle */ }
6785 < div className = "sm:hidden flex items-center justify-between gap-3" >
68- < div className = "text-xs text-gray-300" >
69- < span className = "font-semibold text-white" > { activeDomain ?. label } </ span >
70- < span className = "text-gray-500" > — </ span >
71- < span className = "text-gray-400" > { activeDomain ?. description } </ span >
86+ < div className = { theme === 'dark' ? 'text-xs text-gray-300' : 'text-xs text-gray-700' } >
87+ < span className = { theme === 'dark' ? 'font-semibold text-white' : 'font-semibold text-gray-900' } >
88+ { activeDomain ?. label }
89+ </ span >
90+ < span className = { theme === 'dark' ? 'text-gray-500' : 'text-gray-400' } > — </ span >
91+ < span className = { theme === 'dark' ? 'text-gray-400' : 'text-gray-600' } >
92+ { activeDomain ?. description }
93+ </ span >
7294 </ div >
7395 < button
7496 type = "button"
7597 onClick = { ( ) => setMobileOpen ( ( v ) => ! v ) }
76- className = "inline-flex items-center justify-center w-10 h-10 rounded-lg border border-white/10 bg-white/5 hover:bg-white/10"
98+ className = {
99+ theme === 'dark'
100+ ? 'inline-flex items-center justify-center w-10 h-10 rounded-lg border border-white/10 bg-white/5 hover:bg-white/10'
101+ : 'inline-flex items-center justify-center w-10 h-10 rounded-lg border border-gray-200 bg-white hover:bg-gray-50'
102+ }
77103 aria-label = { mobileOpen ? 'Close menu' : 'Open menu' }
78104 aria-expanded = { mobileOpen }
79105 >
80- { mobileOpen ? < FiX className = "text-white" /> : < FiMenu className = "text-white" /> }
106+ { mobileOpen ? (
107+ < FiX className = { theme === 'dark' ? 'text-white' : 'text-gray-700' } />
108+ ) : (
109+ < FiMenu className = { theme === 'dark' ? 'text-white' : 'text-gray-700' } />
110+ ) }
81111 </ button >
82112 </ div >
83113 </ div >
@@ -99,9 +129,13 @@ const ResearchDomainNav = ({ domainsMeta = {} }) => {
99129 return [
100130 'group flex items-center gap-3 px-4 py-3 rounded-lg transition-all duration-300' ,
101131 'border backdrop-blur-md w-full min-w-0' ,
102- isActive
103- ? 'bg-[#1A4FFF]/20 border-[#1A4FFF]'
104- : 'bg-white/5 border-white/10 hover:bg-white/10 hover:border-[#00E0FF]/50' ,
132+ theme === 'dark'
133+ ? isActive
134+ ? 'bg-[#1A4FFF]/20 border-[#1A4FFF]'
135+ : 'bg-white/5 border-white/10 hover:bg-white/10 hover:border-[#00E0FF]/50'
136+ : isActive
137+ ? 'bg-primary-50 border-primary-200'
138+ : 'bg-white border-gray-200 hover:bg-gray-50' ,
105139 ] . join ( ' ' ) ;
106140 } }
107141 >
@@ -110,19 +144,37 @@ const ResearchDomainNav = ({ domainsMeta = {} }) => {
110144 return (
111145 < >
112146 < Icon
113- className = { `text-lg transition-colors ${
114- isActive ? 'text-[#00E0FF]' : 'text-gray-400 group-hover:text-[#00E0FF]'
115- } `}
147+ className = {
148+ theme === 'dark'
149+ ? `text-lg transition-colors ${
150+ isActive ? 'text-[#00E0FF]' : 'text-gray-400 group-hover:text-[#00E0FF]'
151+ } `
152+ : `text-lg transition-colors ${
153+ isActive ? 'text-primary-700' : 'text-gray-500 group-hover:text-primary-700'
154+ } `
155+ }
116156 />
117157 < div className = "flex flex-col min-w-0" >
118158 < span
119- className = { `text-sm font-semibold transition-colors ${
120- isActive ? 'text-white' : 'text-gray-300 group-hover:text-white'
121- } `}
159+ className = {
160+ theme === 'dark'
161+ ? `text-sm font-semibold transition-colors ${
162+ isActive ? 'text-white' : 'text-gray-300 group-hover:text-white'
163+ } `
164+ : `text-sm font-semibold transition-colors ${
165+ isActive ? 'text-gray-900' : 'text-gray-700 group-hover:text-gray-900'
166+ } `
167+ }
122168 >
123169 { domain . label }
124170 </ span >
125- < span className = "text-xs text-gray-500 leading-snug truncate" >
171+ < span
172+ className = {
173+ theme === 'dark'
174+ ? 'text-xs text-gray-500 leading-snug truncate'
175+ : 'text-xs text-gray-500 leading-snug truncate'
176+ }
177+ >
126178 { domain . description }
127179 </ span >
128180 </ div >
@@ -150,9 +202,13 @@ const ResearchDomainNav = ({ domainsMeta = {} }) => {
150202 return [
151203 'group flex items-center gap-3 px-5 py-3 rounded-lg transition-all duration-300' ,
152204 'border backdrop-blur-md w-full min-w-0' ,
153- isActive
154- ? 'bg-[#1A4FFF]/20 border-[#1A4FFF] shadow-lg shadow-[#1A4FFF]/25'
155- : 'bg-white/5 border-white/10 hover:bg-white/10 hover:border-[#00E0FF]/50' ,
205+ theme === 'dark'
206+ ? isActive
207+ ? 'bg-[#1A4FFF]/20 border-[#1A4FFF] shadow-lg shadow-[#1A4FFF]/25'
208+ : 'bg-white/5 border-white/10 hover:bg-white/10 hover:border-[#00E0FF]/50'
209+ : isActive
210+ ? 'bg-primary-50 border-primary-200'
211+ : 'bg-white border-gray-200 hover:bg-gray-50' ,
156212 ] . join ( ' ' ) ;
157213 } }
158214 >
@@ -161,15 +217,27 @@ const ResearchDomainNav = ({ domainsMeta = {} }) => {
161217 return (
162218 < >
163219 < Icon
164- className = { `text-xl transition-colors ${
165- isActive ? 'text-[#00E0FF]' : 'text-gray-400 group-hover:text-[#00E0FF]'
166- } `}
220+ className = {
221+ theme === 'dark'
222+ ? `text-xl transition-colors ${
223+ isActive ? 'text-[#00E0FF]' : 'text-gray-400 group-hover:text-[#00E0FF]'
224+ } `
225+ : `text-xl transition-colors ${
226+ isActive ? 'text-primary-700' : 'text-gray-500 group-hover:text-primary-700'
227+ } `
228+ }
167229 />
168230 < div className = "flex flex-col" >
169231 < span
170- className = { `text-sm font-semibold transition-colors ${
171- isActive ? 'text-white' : 'text-gray-300 group-hover:text-white'
172- } `}
232+ className = {
233+ theme === 'dark'
234+ ? `text-sm font-semibold transition-colors ${
235+ isActive ? 'text-white' : 'text-gray-300 group-hover:text-white'
236+ } `
237+ : `text-sm font-semibold transition-colors ${
238+ isActive ? 'text-gray-900' : 'text-gray-700 group-hover:text-gray-900'
239+ } `
240+ }
173241 >
174242 { domain . label }
175243 </ span >
0 commit comments