'use client' import { Button } from '../../ui/button/button' import { TicketStatusTag, resolveTicketStatus } from '../../ui/ticket-status-tag' import { TouchFriendlyTooltip } from '../../ui/touch-friendly-tooltip' import { Arrow02LeftIcon, Arrow02RightIcon, BoxArchiveIcon, InfoCircleIcon, PlusIcon } from '../../icons-v2-generated' import type { BoardColumnDef } from './types' export interface BoardColumnHeaderProps { column: BoardColumnDef collapsed?: boolean onToggleCollapse: () => void onAddTicket?: () => void onArchive?: () => void } export function BoardColumnHeader({ column, collapsed = false, onToggleCollapse, onAddTicket, onArchive, }: BoardColumnHeaderProps) { const count = column.total ?? column.tickets.length const tagStatus = column.statusKey ?? column.id // Known statuses (ACTIVE, RESOLVED, …) render with their canonical Tag // variant/icon; only unrecognized ids (custom-status UUIDs) fall back to `color`. const useStatusVariant = resolveTicketStatus(tagStatus) !== null if (collapsed) { return (
{count}
) } return (
{count}
{column.tooltip && ( )} {onArchive && ( )} {onAddTicket && ( )}
) }