"use client"; import { useMemo } from "react"; import { EyeOff, MoreHorizontal, Plus } from "lucide-react"; import { Tooltip, TooltipTrigger, TooltipContent } from "@/components/ui/tooltip"; import { useDroppable } from "@dnd-kit/core"; import { SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable"; import type { Issue, IssueStatus } from "@/shared/types"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, } from "@/components/ui/dropdown-menu"; import { STATUS_CONFIG } from "@/features/issues/config"; import { useModalStore } from "@/features/modals"; import { useViewStore, useViewStoreApi } from "@/features/issues/stores/view-store-context"; import { sortIssues } from "@/features/issues/utils/sort"; import { StatusIcon } from "./status-icon"; import { DraggableBoardCard } from "./board-card"; export function BoardColumn({ status, issues, }: { status: IssueStatus; issues: Issue[]; }) { const cfg = STATUS_CONFIG[status]; const { setNodeRef, isOver } = useDroppable({ id: status }); const viewStoreApi = useViewStoreApi(); const sortBy = useViewStore((s) => s.sortBy); const sortDirection = useViewStore((s) => s.sortDirection); const sortedIssues = useMemo( () => sortIssues(issues, sortBy, sortDirection), [issues, sortBy, sortDirection] ); const sortedIds = useMemo( () => sortedIssues.map((i) => i.id), [sortedIssues] ); return (
No issues
)}