feat: integrate task creation functionality in HomePageClient and Kanban components

- Added task creation modal in HomePageClient with state management for visibility.
- Implemented `handleCreateTask` function to handle task submissions.
- Updated Kanban components to accept `onCreateTask` prop for task creation, ensuring consistent task management across the application.
- Removed unused task creation UI elements from Kanban components to streamline the interface.
This commit is contained in:
Julien Froidefond
2025-09-15 21:39:56 +02:00
parent 44df8c89b8
commit c6a9e87329
6 changed files with 82 additions and 126 deletions

View File

@@ -9,7 +9,7 @@ import { KanbanFilters } from './KanbanFilters';
import { EditTaskForm } from '@/components/forms/EditTaskForm';
import { useTasksContext } from '@/contexts/TasksContext';
import { Task, TaskStatus } from '@/lib/types';
import { UpdateTaskData } from '@/clients/tasks-client';
import { UpdateTaskData, CreateTaskData } from '@/clients/tasks-client';
import { useColumnVisibility } from '@/hooks/useColumnVisibility';
import { getAllStatuses } from '@/lib/status-config';
@@ -67,6 +67,11 @@ export function KanbanBoardContainer({
// Obtenir le nom du tag épinglé pour l'affichage
const pinnedTagName = tags.find(tag => tag.isPinned)?.name;
// Wrapper pour adapter le type de createTask
const handleCreateTask = async (data: CreateTaskData): Promise<void> => {
await createTask(data);
};
return (
<>
{/* Barre de filtres - conditionnelle */}
@@ -95,7 +100,7 @@ export function KanbanBoardContainer({
kanbanFilters.swimlanesMode === 'priority' ? (
<PrioritySwimlanesBoard
tasks={filteredTasks}
onCreateTask={createTask}
onCreateTask={handleCreateTask}
onDeleteTask={deleteTask}
onEditTask={handleEditTask}
onUpdateTitle={handleUpdateTitle}
@@ -107,7 +112,7 @@ export function KanbanBoardContainer({
) : (
<SwimlanesBoard
tasks={filteredTasks}
onCreateTask={createTask}
onCreateTask={handleCreateTask}
onDeleteTask={deleteTask}
onEditTask={handleEditTask}
onUpdateTitle={handleUpdateTitle}
@@ -120,12 +125,11 @@ export function KanbanBoardContainer({
) : (
<KanbanBoard
tasks={filteredTasks}
onCreateTask={createTask}
onCreateTask={handleCreateTask}
onDeleteTask={deleteTask}
onEditTask={handleEditTask}
onUpdateTitle={handleUpdateTitle}
onUpdateStatus={handleUpdateStatus}
loading={loading}
compactView={kanbanFilters.compactView}
visibleStatuses={visibleStatuses}
/>