diff --git a/dashboard/src/components/layout/app-shell.tsx b/dashboard/src/components/layout/app-shell.tsx index 8a8f9aa..d18ded4 100644 --- a/dashboard/src/components/layout/app-shell.tsx +++ b/dashboard/src/components/layout/app-shell.tsx @@ -1,11 +1,13 @@ import type { ReactNode } from "react"; import { TooltipProvider } from "@/components/ui"; +import { useApplyAccent } from "@/features/settings"; import { CommandPalette } from "./command-palette"; import { Header } from "./header"; import { RouteErrorBoundary } from "./route-error-boundary"; import { Sidebar } from "./sidebar"; export function AppShell({ children }: { children: ReactNode }) { + useApplyAccent(); return (
diff --git a/dashboard/src/components/layout/mobile-menu.tsx b/dashboard/src/components/layout/mobile-menu.tsx index e1fbf31..b827102 100644 --- a/dashboard/src/components/layout/mobile-menu.tsx +++ b/dashboard/src/components/layout/mobile-menu.tsx @@ -5,6 +5,7 @@ import { Box, CircuitBoard, Cog, + ExternalLink as ExternalLinkIcon, LayoutDashboard, ListTree, type LucideIcon, @@ -23,8 +24,8 @@ import { SheetTitle, SheetTrigger, } from "@/components/ui"; +import { useBranding, useExternalLinks } from "@/features/settings"; import { cn } from "@/lib/cn"; -import { site } from "@/lib/site"; interface NavItem { to: string; @@ -66,6 +67,8 @@ const NAV: Array<{ title: string; items: NavItem[] }> = [ export function MobileMenu() { const { pathname } = useLocation(); + const { title } = useBranding(); + const externalLinks = useExternalLinks(); const [open, setOpen] = useState(false); // Close on navigation @@ -82,7 +85,7 @@ export function MobileMenu() { - {site.name} Dashboard + {title} Dashboard
))} + {externalLinks.length > 0 ? ( +
+
+ Links +
+ +
+ ) : null} diff --git a/dashboard/src/components/layout/sidebar.tsx b/dashboard/src/components/layout/sidebar.tsx index d4a4955..ff42312 100644 --- a/dashboard/src/components/layout/sidebar.tsx +++ b/dashboard/src/components/layout/sidebar.tsx @@ -6,6 +6,7 @@ import { Box, CircuitBoard, Cog, + ExternalLink as ExternalLinkIcon, LayoutDashboard, ListTree, type LucideIcon, @@ -14,8 +15,8 @@ import { Settings2, Skull, } from "lucide-react"; +import { useBranding, useExternalLinks } from "@/features/settings"; import { cn } from "@/lib/cn"; -import { site } from "@/lib/site"; interface NavItem { to: string; @@ -62,6 +63,8 @@ const NAV: NavGroup[] = [ export function Sidebar() { const { pathname } = useLocation(); + const { title } = useBranding(); + const externalLinks = useExternalLinks(); return (