File size: 956 Bytes
3eae4cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
const NAV_ITEMS = [
  { id: "overview", title: "Overview" },
  { id: "simulation", title: "Simulation Lab" },
  { id: "training", title: "Training Studio" },
  { id: "comparison", title: "Model Comparison" },
];

export function Layout({ active, onChange, status, children }) {
  return (
    <div className="app-shell">
      <aside className="sidebar">
        <h1>OpenEnv RL Console</h1>
        <p className="sidebar-sub">Real-world government workflow simulation and RL training.</p>
        <nav>
          {NAV_ITEMS.map((item) => (
            <button
              key={item.id}
              className={`nav-btn ${active === item.id ? "active" : ""}`}
              onClick={() => onChange(item.id)}
            >
              {item.title}
            </button>
          ))}
        </nav>
      </aside>
      <main className="content">
        <div className="status-banner">{status}</div>
        {children}
      </main>
    </div>
  );
}