'use client'; import * as React from 'react'; import Chip from '@mui/material/Chip'; import IconButton from '@mui/material/IconButton'; import Menu from '@mui/material/Menu'; import MenuItem from '@mui/material/MenuItem'; import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; import { DotsThree as DotsThreeIcon } from '@phosphor-icons/react/dist/ssr/DotsThree'; import { usePopover } from '@/hooks/use-popover'; import { ColumnDroppable } from './column-droppable'; import type { Column, Task } from './types'; export interface ColumnItemProps { column: Omit; onColumnEdit?: (columnId: string) => void; onColumnClear?: (columnId: string) => void; onColumnDelete?: (columnId: string) => void; onTaskOpen?: (taskId: string) => void; onTaskCreate?: (columnId: string) => void; tasks: Task[]; } export function ColumnItem({ column, onColumnEdit, onColumnClear, onColumnDelete, onTaskOpen, onTaskCreate, tasks = [], }: ColumnItemProps): React.JSX.Element { const { id, name } = column; const morePopover = usePopover(); return ( {name} { onTaskCreate?.(id); }} onTaskOpen={onTaskOpen} tasks={tasks} /> { morePopover.handleClose(); onColumnEdit?.(id); }} > Edit { morePopover.handleClose(); onColumnClear?.(id); }} > Clear { morePopover.handleClose(); onColumnDelete?.(id); }} > Delete ); }