feat: add swimlanes view toggle to Kanban board

- Introduced `swimlanesByTags` filter in `KanbanFilters` to toggle between swimlanes and standard Kanban view.
- Updated `BoardContainer` to conditionally render `SwimlanesBoard` or `KanbanBoard` based on the selected filter.
- Enhanced UI with a button to switch views, improving task organization and user experience.
This commit is contained in:
Julien Froidefond
2025-09-14 21:53:42 +02:00
parent 7927b0aec2
commit c4f68bb00c
3 changed files with 208 additions and 10 deletions

View File

@@ -2,6 +2,7 @@
import { useState } from 'react';
import { KanbanBoard } from './Board';
import { SwimlanesBoard } from './SwimlanesBoard';
import { KanbanFilters } from './KanbanFilters';
import { EditTaskForm } from '@/components/forms/EditTaskForm';
import { useTasksContext } from '@/contexts/TasksContext';
@@ -53,16 +54,27 @@ export function KanbanBoardContainer() {
onFiltersChange={setKanbanFilters}
/>
<KanbanBoard
tasks={filteredTasks}
onCreateTask={createTask}
onDeleteTask={deleteTask}
onEditTask={handleEditTask}
onUpdateTitle={handleUpdateTitle}
onUpdateStatus={handleUpdateStatus}
loading={loading}
compactView={kanbanFilters.compactView}
/>
{kanbanFilters.swimlanesByTags ? (
<SwimlanesBoard
tasks={filteredTasks}
onDeleteTask={deleteTask}
onEditTask={handleEditTask}
onUpdateTitle={handleUpdateTitle}
onUpdateStatus={handleUpdateStatus}
compactView={kanbanFilters.compactView}
/>
) : (
<KanbanBoard
tasks={filteredTasks}
onCreateTask={createTask}
onDeleteTask={deleteTask}
onEditTask={handleEditTask}
onUpdateTitle={handleUpdateTitle}
onUpdateStatus={handleUpdateStatus}
loading={loading}
compactView={kanbanFilters.compactView}
/>
)}
<EditTaskForm
isOpen={!!editingTask}