feat(bases): drop cards onto empty kanban columns / below last card

This commit is contained in:
Philipinho
2026-05-24 15:38:34 +01:00
parent bdfd0413b4
commit d97d8108d2
3 changed files with 64 additions and 1 deletions
@@ -4,6 +4,7 @@ import { KanbanCard } from "./kanban-card";
import { KanbanColumnHeader } from "./kanban-column-header";
import { KanbanAddCardButton } from "./kanban-add-card-button";
import type { CardDropPayload } from "@/features/base/hooks/use-kanban-card-drag";
import { useKanbanColumnDrop } from "@/features/base/hooks/use-kanban-column-drop";
import classes from "@/features/base/styles/kanban.module.css";
type KanbanColumnProps = {
@@ -21,6 +22,11 @@ export function KanbanColumn({
onAddCard,
onCardDrop,
}: KanbanColumnProps) {
const { ref: bodyRef, isOver } = useKanbanColumnDrop({
columnKey: column.key,
onDrop: onCardDrop,
});
return (
<div className={classes.column} data-column-key={column.key}>
<KanbanColumnHeader
@@ -28,7 +34,12 @@ export function KanbanColumn({
color={column.color}
count={column.rows.length}
/>
<div className={classes.columnBody} data-column-body={column.key}>
<div
ref={bodyRef}
className={classes.columnBody}
data-column-body={column.key}
data-over={isOver || undefined}
>
{column.rows.map((row) => (
<KanbanCard
key={row.id}