Catalyst / admin/Apex 14.8 GB / 57.8 GB 40.0 GB free
Help Sign in

admin / Apex

public

Bid Management and Orchestration Tool with AI Capability

Code Issues Pull requests Pipelines Packages Security Insights Wiki Settings
Apex / Synapse-Apexv2 / frontend / src / components / Layout.tsx 1119 B · main
 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
import { NavLink } from "react-router-dom";
import { useAuth } from "../lib/auth";

export default function Layout({ children }: { children: React.ReactNode }) {
  const { user, logout, has } = useAuth();
  return (
    <div className="shell">
      <aside className="sidebar">
        <div className="brand">
          <img src="/icon.svg" width={28} height={28} alt="" />
          Synapse-Apex
        </div>
        <NavLink to="/" end>Dashboard</NavLink>
        <NavLink to="/capabilities">Capability library</NavLink>
        <NavLink to="/library">Answer Library</NavLink>
        {has("administrator", "finance", "bid_manager") && (
          <NavLink to="/admin">Administration</NavLink>
        )}
        <div style={{ marginTop: 24, fontSize: 12, color: "#b9c0e6" }}>
          {user?.name}
          <br />
          {user?.roles.join(", ")}
        </div>
        <button className="ghost" style={{ marginTop: 16, color: "#fff", borderColor: "rgba(255,255,255,0.3)" }} onClick={logout}>
          Sign out
        </button>
      </aside>
      <main className="main">{children}</main>
    </div>
  );
}