import { ChevronRight, Clock } from "lucide-react"; import { useTranslation } from "react-i18next"; import { Checkbox } from "@/components/ui/checkbox"; import { Tooltip, TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip"; import { cn } from "@/lib/utils"; import { ProviderIcon } from "@/components/ProviderIcon"; import type { SessionMeta } from "@/types"; import { formatRelativeTime, formatSessionTitle, getProviderIconName, getProviderLabel, getSessionKey, highlightText, } from "./utils"; interface SessionItemProps { session: SessionMeta; isSelected: boolean; selectionMode: boolean; isChecked: boolean; isCheckDisabled?: boolean; searchQuery?: string; onSelect: (key: string) => void; onToggleChecked: (checked: boolean) => void; } export function SessionItem({ session, isSelected, selectionMode, isChecked, isCheckDisabled = false, searchQuery, onSelect, onToggleChecked, }: SessionItemProps) { const { t } = useTranslation(); const title = formatSessionTitle(session); const lastActive = session.lastActiveAt || session.createdAt || undefined; const sessionKey = getSessionKey(session); return (