1+ import React from 'react' ;
2+ import { NavLink } from 'react-router-dom' ;
3+ import {
4+ LayoutDashboard ,
5+ PlayCircle ,
6+ Beaker ,
7+ PieChart ,
8+ Settings ,
9+ TrendingUp
10+ } from 'lucide-react' ;
11+
12+ export const Navigation : React . FC = ( ) => {
13+ const navItems = [
14+ { path : '/' , icon : LayoutDashboard , label : 'Dashboard' } ,
15+ { path : '/backtest' , icon : PlayCircle , label : 'Backtest Studio' } ,
16+ { path : '/research' , icon : Beaker , label : 'Research Lab' } ,
17+ { path : '/portfolio' , icon : PieChart , label : 'Portfolio Analytics' } ,
18+ { path : '/settings' , icon : Settings , label : 'Settings' }
19+ ] ;
20+
21+ return (
22+ < nav className = "navigation" >
23+ { /* Logo */ }
24+ < div className = "nav-header" >
25+ < div className = "nav-logo" >
26+ < div className = "logo-icon" >
27+ < TrendingUp size = { 20 } />
28+ </ div >
29+ < div className = "logo-text" >
30+ < h1 > CAUQuant</ h1 >
31+ < p > Research Platform</ p >
32+ </ div >
33+ </ div >
34+ </ div >
35+
36+ { /* Navigation Items */ }
37+ < div className = "nav-items" >
38+ { navItems . map ( ( item ) => {
39+ const Icon = item . icon ;
40+ return (
41+ < NavLink
42+ key = { item . path }
43+ to = { item . path }
44+ className = { ( { isActive } ) =>
45+ `nav-item ${ isActive ? 'active' : '' } `
46+ }
47+ >
48+ < Icon className = "icon" size = { 20 } />
49+ < span > { item . label } </ span >
50+ </ NavLink >
51+ ) ;
52+ } ) }
53+ </ div >
54+
55+ { /* Quick Stats */ }
56+ < div className = "nav-stats" >
57+ < div className = "stat-item" >
58+ < span > Strategies</ span >
59+ < span > 12</ span >
60+ </ div >
61+ < div className = "stat-item" >
62+ < span > Assets</ span >
63+ < span > 248</ span >
64+ </ div >
65+ < div className = "stat-item" >
66+ < span > Backtests</ span >
67+ < span > 1.2K</ span >
68+ </ div >
69+ </ div >
70+ </ nav >
71+ ) ;
72+ } ;
0 commit comments