diff --git a/apps/web/public/brand/nav-approvals.svg b/apps/web/public/brand/nav-approvals.svg
new file mode 100644
index 0000000..dcb2371
--- /dev/null
+++ b/apps/web/public/brand/nav-approvals.svg
@@ -0,0 +1,4 @@
+
diff --git a/apps/web/public/brand/nav-chat.svg b/apps/web/public/brand/nav-chat.svg
new file mode 100644
index 0000000..61a9adb
--- /dev/null
+++ b/apps/web/public/brand/nav-chat.svg
@@ -0,0 +1,7 @@
+
diff --git a/apps/web/src/components/shell/sidebar.tsx b/apps/web/src/components/shell/sidebar.tsx
index 956bf91..aa803b1 100644
--- a/apps/web/src/components/shell/sidebar.tsx
+++ b/apps/web/src/components/shell/sidebar.tsx
@@ -8,23 +8,23 @@ import type { DraftRecord } from "../../lib/api-types";
import { LogoMark } from "../brand/logo";
import { NavIcon } from "../brand";
-const NAV: { href: string; label: string; external?: boolean }[] = [
- { href: "/streams", label: "Streams" },
- { href: "/compose", label: "Compose" },
- { href: "/calendar", label: "Calendar" },
- { href: "/video", label: "Video" },
- { href: "/control-room", label: "Control Room" },
- { href: "/inbox", label: "Inbox" },
- { href: "/approvals", label: "Approvals" },
- { href: "/archive", label: "Archive" },
- { href: "/files", label: "Files" },
- { href: "https://element.occupymedia.cc", label: "Chat", external: true },
- { href: "/analytics", label: "Analytics" },
- { href: "/connections", label: "Channels" },
- { href: "/team", label: "Team" },
- { href: "/audit", label: "Audit" },
- { href: "/onboarding", label: "Onboarding" },
- { href: "/settings", label: "Settings" },
+const NAV: { href: string; label: string; icon: string; external?: boolean }[] = [
+ { href: "/streams", label: "Streams", icon: "video" },
+ { href: "/control-room", label: "Control Room", icon: "video" },
+ { href: "/compose", label: "Compose", icon: "compose" },
+ { href: "/calendar", label: "Calendar", icon: "calendar" },
+ { href: "https://chat.occupymedia.cc", label: "Chat", icon: "chat", external: true },
+ { href: "/files", label: "Files", icon: "files" },
+ { href: "/archive", label: "Archive", icon: "files" },
+ { href: "/inbox", label: "Inbox", icon: "inbox" },
+ { href: "/approvals", label: "Approvals", icon: "approvals" },
+ { href: "/video", label: "Video", icon: "video" },
+ { href: "/analytics", label: "Analytics", icon: "analytics" },
+ { href: "/connections", label: "Channels", icon: "connections" },
+ { href: "/team", label: "Team", icon: "team" },
+ { href: "/audit", label: "Audit", icon: "audit" },
+ { href: "/onboarding", label: "Onboarding", icon: "home" },
+ { href: "/settings", label: "Settings", icon: "settings" },
];
const identity = (drafts: DraftRecord[]): DraftRecord[] => drafts;
@@ -54,24 +54,15 @@ export function Sidebar(): React.ReactElement {
const className = `group flex items-center justify-between rounded-md px-3 py-1.5 text-sm transition-colors duration-150 ${item.href === "/control-room" ? "min-h-11" : ""} ${
active ? "bg-accent-dim text-accent" : "text-text-dim hover:bg-surface-2 hover:text-text"
}`;
+ const icon = ;
return item.external ? (
-
-
- {item.label}
-
+ {icon}{item.label}
↗
) : (
-
- {item.href === "/video" || item.href === "/control-room" || item.href === "/files" ? (
-
- ) : (
-
- )}
- {item.label}
-
+ {icon}{item.label}
{item.href === "/approvals" && approvals > 0 && (
{approvals}
)}