"use client"; import { useState } from "react"; import { Avatar, AvatarFallback, AvatarImage } from "~/components/ui/avatar"; import { KanbanBoard, KanbanCard, KanbanCards, KanbanHeader, KanbanProvider, } from "~/components/ui/kanban"; const columns = [ { id: "todo", name: "To Do", color: "red" }, { id: "inprogress", name: "In Progress", color: "blue" }, { id: "done", name: "Done", color: "green" }, ]; const exampleFeatures = [ { id: "1", name: "Design new homepage", column: "todo", startAt: new Date("2024-06-01"), endAt: new Date("2024-06-10"), owner: { name: "Alice", image: "https://i.pravatar.cc/150?img=1", }, }, { id: "2", name: "Implement authentication", column: "inprogress", startAt: new Date("2024-06-05"), endAt: new Date("2024-06-15"), owner: { name: "Bob", image: "https://i.pravatar.cc/150?img=2", }, }, { id: "3", name: "Set up database", column: "done", startAt: new Date("2024-05-20"), endAt: new Date("2024-05-30"), owner: { name: "Charlie", image: "https://i.pravatar.cc/150?img=3", }, }, ]; const dateFormatter = new Intl.DateTimeFormat("en-US", { month: "short", day: "numeric", year: "numeric", }); const shortDateFormatter = new Intl.DateTimeFormat("en-US", { month: "short", day: "numeric", }); const Example = () => { const [features, setFeatures] = useState(exampleFeatures); return ( {(column) => (
{column.name}
{(feature: (typeof features)[number]) => (

{feature.name}

{feature.owner && ( {feature.owner.name?.slice(0, 2)} )}

{shortDateFormatter.format(feature.startAt)} -{" "} {dateFormatter.format(feature.endAt)}

)}
)} ); }; export default Example;