From 2e7caea5a6e03d99476b4458bab34b4ebf176199 Mon Sep 17 00:00:00 2001 From: BOHA Date: Mon, 8 Jun 2026 20:41:20 +0200 Subject: [PATCH] feat(odin): use the Odin mark as the sidebar nav icon Replace the chat-bubble glyph on the "Odin" nav item with the OdinMark, and make the mark's SVG sizing !important so the nav's `& svg { width:18 }` rule can't shrink it (its `size` prop stays authoritative everywhere). Co-Authored-By: Claude Opus 4.8 (1M context) --- src/admin/components/odin/OdinMark.tsx | 6 ++++-- src/admin/ui/navData.tsx | 12 ++---------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/admin/components/odin/OdinMark.tsx b/src/admin/components/odin/OdinMark.tsx index 0db8d6c..1b43aeb 100644 --- a/src/admin/components/odin/OdinMark.tsx +++ b/src/admin/components/odin/OdinMark.tsx @@ -29,8 +29,10 @@ const glow = keyframes` const Glyph = styled("svg", { shouldForwardProp: (p) => p !== "thinking" && p !== "reduce", })<{ thinking: boolean; reduce: boolean }>(({ thinking, reduce }) => ({ - width: "70%", - height: "70%", + // !important so an ancestor `& svg { width }` rule (e.g. SidebarNav forces + // 18px) can't override the mark's own sizing — `size` stays authoritative. + width: "70% !important", + height: "70% !important", overflow: "visible", display: "block", ...(reduce diff --git a/src/admin/ui/navData.tsx b/src/admin/ui/navData.tsx index 712e5ad..ccc2079 100644 --- a/src/admin/ui/navData.tsx +++ b/src/admin/ui/navData.tsx @@ -1,4 +1,5 @@ import { type ReactNode } from "react"; +import OdinMark from "../components/odin/OdinMark"; export interface MenuItem { path: string; @@ -43,16 +44,7 @@ export const menuSections: MenuSection[] = [ label: "Odin", permission: "ai.use", end: true, - icon: ( - - - - ), + icon: , }, ], },