feat: add task editing and title updating features

- Introduced `onEditTask` and `onUpdateTitle` props in `KanbanBoard`, `KanbanColumn`, and `TaskCard` components for enhanced task management.
- Implemented editing functionality in `TaskCard` to allow users to update task titles directly.
- Added `EditTaskForm` in `KanbanBoardContainer` to handle task editing state and submission.
- Updated `TasksService` to ensure all task properties can be modified during updates.
This commit is contained in:
Julien Froidefond
2025-09-14 08:56:41 +02:00
parent 0b7e0edb2f
commit 64cc665f78
6 changed files with 394 additions and 16 deletions

View File

@@ -11,10 +11,12 @@ interface KanbanBoardProps {
tasks: Task[];
onCreateTask?: (data: CreateTaskData) => Promise<Task | null>;
onDeleteTask?: (taskId: string) => Promise<void>;
onEditTask?: (task: Task) => void;
onUpdateTitle?: (taskId: string, newTitle: string) => Promise<void>;
loading?: boolean;
}
export function KanbanBoard({ tasks, onCreateTask, onDeleteTask, loading = false }: KanbanBoardProps) {
export function KanbanBoard({ tasks, onCreateTask, onDeleteTask, onEditTask, onUpdateTitle, loading = false }: KanbanBoardProps) {
const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
// Organiser les tâches par statut
const tasksByStatus = useMemo(() => {
@@ -101,6 +103,8 @@ export function KanbanBoard({ tasks, onCreateTask, onDeleteTask, loading = false
tasks={column.tasks}
onCreateTask={onCreateTask ? handleCreateTask : undefined}
onDeleteTask={onDeleteTask}
onEditTask={onEditTask}
onUpdateTitle={onUpdateTitle}
/>
))}
</div>