import { Show } from "solid-js" import Kbd from "./kbd" import { useI18n } from "../lib/i18n" const METRIC_CHIP_CLASS = "inline-flex items-center gap-1 rounded-full border border-base px-2 py-0.5 text-xs text-primary" const METRIC_LABEL_CLASS = "uppercase text-[10px] tracking-wide text-muted" interface MessageListHeaderProps { usedTokens: number availableTokens?: number | null connectionStatus: "connected" | "connecting" | "error" | "disconnected" | "unknown" | null onCommandPalette: () => void formatTokens: (value: number) => string showSidebarToggle?: boolean onSidebarToggle?: () => void forceCompactStatusLayout?: boolean } export default function MessageListHeader(props: MessageListHeaderProps) { const { t } = useI18n() const hasAvailableTokens = () => typeof props.availableTokens === "number" const availableDisplay = () => (hasAvailableTokens() ? props.formatTokens(props.availableTokens as number) : "--") return (
{t("messageListHeader.metrics.usedLabel")} {props.formatTokens(props.usedTokens)}
{t("messageListHeader.metrics.availableLabel")} {hasAvailableTokens() ? availableDisplay() : "--"}
{t("messageListHeader.connection.connected")} {t("messageListHeader.connection.connecting")} {t("messageListHeader.connection.disconnected")}
) }