import { PencilIcon, CheckIcon, XMarkIcon } from "@heroicons/react/20/solid"; import clsx from "clsx"; import { formatters } from "@/utils"; import { usePermissions } from "@/hooks/usePermissions"; import { Permission } from "@/types/permissions"; interface Session { id: string; mode: string; nickname?: string; identity?: string; source?: string; createdAt?: string; } interface SessionsListProps { sessions: Session[]; currentSessionId?: string; onEditNickname?: (sessionId: string) => void; onApprove?: (sessionId: string) => void; onDeny?: (sessionId: string) => void; onTransfer?: (sessionId: string) => void; formatDuration?: (createdAt: string) => string; } export default function SessionsList({ sessions, currentSessionId, onEditNickname, onApprove, onDeny, onTransfer, formatDuration = (createdAt: string) => formatters.timeAgo(new Date(createdAt)) || "" }: SessionsListProps) { const { hasPermission } = usePermissions(); return (
{session.nickname}
)} {session.identity && ({session.source === "cloud" ? "☁️ " : ""}{session.identity}
)} {session.mode === "pending" && (Awaiting approval
)}