diff --git a/surfsense_web/components/layout/ui/shell/LayoutShell.tsx b/surfsense_web/components/layout/ui/shell/LayoutShell.tsx index c7d0c5186..2f799929b 100644 --- a/surfsense_web/components/layout/ui/shell/LayoutShell.tsx +++ b/surfsense_web/components/layout/ui/shell/LayoutShell.tsx @@ -5,6 +5,7 @@ import { AnimatePresence, motion } from "motion/react"; import dynamic from "next/dynamic"; import { useCallback, useMemo, useState } from "react"; import { activeTabAtom, type Tab } from "@/atoms/tabs/tabs.atom"; +import { Logo } from "@/components/Logo"; import { Spinner } from "@/components/ui/spinner"; import { TooltipProvider } from "@/components/ui/tooltip"; import type { InboxItem } from "@/hooks/use-inbox"; @@ -502,6 +503,11 @@ export function LayoutShell({ setTheme={setTheme} renderUserProfile={false} renderCollapseButton={!isMacDesktop} + collapsedHeaderContent={ + isMacDesktop ? ( + + ) : undefined + } className={cn("flex shrink-0", isMacDesktop && "rounded-tl-xl")} isLoadingChats={isLoadingChats} sidebarWidth={sidebarWidth} diff --git a/surfsense_web/components/layout/ui/sidebar/Sidebar.tsx b/surfsense_web/components/layout/ui/sidebar/Sidebar.tsx index 9412f01fd..e0cb3072a 100644 --- a/surfsense_web/components/layout/ui/sidebar/Sidebar.tsx +++ b/surfsense_web/components/layout/ui/sidebar/Sidebar.tsx @@ -4,7 +4,7 @@ import { CreditCard, Dot, SquarePen, Zap } from "lucide-react"; import Link from "next/link"; import { useParams } from "next/navigation"; import { useTranslations } from "next-intl"; -import { useMemo, useState } from "react"; +import { type ReactNode, useMemo, useState } from "react"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Progress } from "@/components/ui/progress"; @@ -96,6 +96,7 @@ interface SidebarProps { isResizing?: boolean; renderUserProfile?: boolean; renderCollapseButton?: boolean; + collapsedHeaderContent?: ReactNode; } export function Sidebar({ @@ -134,6 +135,7 @@ export function Sidebar({ isResizing = false, renderUserProfile = true, renderCollapseButton = true, + collapsedHeaderContent, }: SidebarProps) { const t = useTranslations("sidebar"); const [openDropdownChatId, setOpenDropdownChatId] = useState(null); @@ -162,7 +164,7 @@ export function Sidebar({ )} style={{ width: isCollapsed ? collapsedWidth : sidebarWidth }} > -
+
+ {collapsedHeaderContent ? ( +
+ {collapsedHeaderContent} +
+ ) : null} {renderCollapseButton ? (