"use client" import { Calendar, CheckCircle2, Clock, ListTodo, Plus, Search, Bell, Mail, Settings, } from "lucide-react" import { Button } from "@/components/ui/button" import { Card } from "@/components/ui/card" import { Input } from "@/components/ui/input" import { ProjectSelect } from "@/components/project-select" import { TaskColumn } from "@/components/task-column" import { RichTextEditor } from "@/components/rich-text-editor" import { FileUpload } from "@/components/file-upload" import { DndContext, DragEndEvent, DragOverlay, DragStartEvent, MouseSensor, TouchSensor, useSensor, useSensors, } from "@dnd-kit/core" import { useState } from "react" import { TaskCard } from "@/components/task-card" interface Task { id: string title: string status: string dueDate: string progress: number } export default function DashboardPage() { const [tasks, setTasks] = useState([ { id: "1", title: "Design new landing page", status: "In Progress", dueDate: "2023-12-01", progress: 60 }, { id: "2", title: "Implement authentication", status: "Todo", dueDate: "2023-12-05", progress: 0 }, { id: "3", title: "Write documentation", status: "Done", dueDate: "2023-11-30", progress: 100 }, ]) const [activeTask, setActiveTask] = useState(null) const sensors = useSensors( useSensor(MouseSensor, { activationConstraint: { distance: 8, }, }), useSensor(TouchSensor, { activationConstraint: { delay: 300, tolerance: 8, }, }) ) const handleDragStart = (event: DragStartEvent) => { const { active } = event const task = tasks.find(t => t.id === active.id) if (task) { setActiveTask(task) } } const handleDragEnd = (event: DragEndEvent) => { const { active, over } = event if (over && active.id !== over.id) { setTasks(tasks => { const oldIndex = tasks.findIndex(t => t.id === active.id) const task = tasks[oldIndex] const newStatus = over.id as string if (task && (newStatus === "Todo" || newStatus === "In Progress" || newStatus === "Done")) { const updatedTasks = [...tasks] updatedTasks[oldIndex] = { ...task, status: newStatus } return updatedTasks } return tasks }) } setActiveTask(null) } return (
{/* Sidebar */} {/* Main Content */}
{/* Header */}
{/* Dashboard Content */}
{/* Stats */}
Total Tasks
12
In Progress
4
Completed
8
Upcoming
3
{/* Task Board */}

Tasks

t.status === "Todo")} /> t.status === "In Progress")} /> t.status === "Done")} />
{activeTask ? : null}
{/* Task Details */}

Task Description

console.log(content)} />

Attachments

console.log("Uploaded files:", files)} />
) }