import { useCallback } from "react"; import { RiMoonFill, RiSunFill } from "react-icons/ri"; import { NavLink, type NavLinkRenderProps } from "react-router-dom"; import { useTheme } from "../contexts/ThemeProvider"; import ConnectionStatusIcon from "./ConnectionStatus"; export function Header() { const { screenWidth, toggleTheme, isDarkMode, appTitle, setAppTitle } = useTheme(); const handleTitleChange = useCallback( (newTitle: string) => { setAppTitle(newTitle.replace(/\n/g, "").trim().substring(0, 64) || "llama-swap"); }, [setAppTitle] ); const navLinkClass = ({ isActive }: NavLinkRenderProps) => `text-gray-600 hover:text-black dark:text-gray-300 dark:hover:text-gray-100 p-1 ${isActive ? "font-semibold" : ""}`; return (
{screenWidth !== "xs" && screenWidth !== "sm" && (

handleTitleChange(e.currentTarget.textContent || "(set title)")} onKeyDown={(e) => { if (e.key === "Enter") { e.preventDefault(); handleTitleChange(e.currentTarget.textContent || "(set title)"); e.currentTarget.blur(); } }} > {appTitle}

)} Logs Models Activity
); }