Skip to content

Commit 77998ee

Browse files
chore: navigation bar implemented (#73)
Closes #73
1 parent 8e49335 commit 77998ee

File tree

1 file changed

+72
-0
lines changed
  • src/quant_research_starter/frontend/cauweb/src/components

1 file changed

+72
-0
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
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

Comments
 (0)