"use client"; import { PanelLeftIcon } from "lucide-react"; import { memo } from "react"; import { Button } from "@/components/ui/button"; import { useSidebar } from "@/components/ui/sidebar"; import { UsageBadge } from "./usage-badge"; import { VisibilitySelector, type VisibilityType } from "./visibility-selector"; function PureChatHeader({ chatId, selectedVisibilityType, isReadonly, }: { chatId: string; selectedVisibilityType: VisibilityType; isReadonly: boolean; }) { const { state, toggleSidebar, isMobile } = useSidebar(); if (state === "collapsed" && !isMobile) { return null; } return (
{!isReadonly && ( )}
); } export const ChatHeader = memo(PureChatHeader, (prevProps, nextProps) => { return ( prevProps.chatId === nextProps.chatId && prevProps.selectedVisibilityType === nextProps.selectedVisibilityType && prevProps.isReadonly === nextProps.isReadonly ); });