diff --git a/src/app/kanban/KanbanPageClient.tsx b/src/app/kanban/KanbanPageClient.tsx
index a8f19b5..151f7a3 100644
--- a/src/app/kanban/KanbanPageClient.tsx
+++ b/src/app/kanban/KanbanPageClient.tsx
@@ -1,6 +1,7 @@
'use client';
import { useState } from 'react';
+import { useSearchParams } from 'next/navigation';
import { KanbanBoardContainer } from '@/components/kanban/BoardContainer';
import { Header } from '@/components/ui/Header';
import { TasksProvider, useTasksContext } from '@/contexts/TasksContext';
@@ -25,6 +26,8 @@ function KanbanPageContent() {
const { preferences, updateViewPreferences } = useUserPreferences();
const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);
const isMobile = useIsMobile(768); // Tailwind md breakpoint
+ const searchParams = useSearchParams();
+ const taskIdFromUrl = searchParams.get('taskId');
// Extraire les préférences du context
const showFilters = preferences.viewPreferences.showFilters;
@@ -190,6 +193,7 @@ function KanbanPageContent() {
diff --git a/src/components/daily/DailyCheckboxItem.tsx b/src/components/daily/DailyCheckboxItem.tsx
index d3f80e6..1978465 100644
--- a/src/components/daily/DailyCheckboxItem.tsx
+++ b/src/components/daily/DailyCheckboxItem.tsx
@@ -128,7 +128,7 @@ export function DailyCheckboxItem({
{/* Lien vers la tâche si liée */}
{checkbox.task && (
diff --git a/src/components/daily/PendingTasksSection.tsx b/src/components/daily/PendingTasksSection.tsx
index 039a030..512a6a9 100644
--- a/src/components/daily/PendingTasksSection.tsx
+++ b/src/components/daily/PendingTasksSection.tsx
@@ -1,6 +1,7 @@
'use client';
import { useState, useEffect, useCallback, useTransition } from 'react';
+import Link from 'next/link';
import { Card, CardHeader, CardContent } from '@/components/ui/Card';
import { Button } from '@/components/ui/Button';
import { DailyCheckbox, DailyCheckboxType } from '@/lib/types';
@@ -225,9 +226,12 @@ export function PendingTasksSection({
`Il y a ${daysAgo} jours`}
{task.task && (
-
+
🔗 {task.task.title}
-
+
)}
diff --git a/src/components/kanban/BoardContainer.tsx b/src/components/kanban/BoardContainer.tsx
index ed5c437..acc7b4f 100644
--- a/src/components/kanban/BoardContainer.tsx
+++ b/src/components/kanban/BoardContainer.tsx
@@ -1,6 +1,6 @@
'use client';
-import { useState } from 'react';
+import { useState, useEffect } from 'react';
import { EditTaskForm } from '@/components/forms/EditTaskForm';
import { useTasksContext } from '@/contexts/TasksContext';
import { useUserPreferences } from '@/contexts/UserPreferencesContext';
@@ -14,11 +14,13 @@ import { BoardRouter } from './BoardRouter';
interface KanbanBoardContainerProps {
showFilters?: boolean;
showObjectives?: boolean;
+ initialTaskIdToEdit?: string | null;
}
export function KanbanBoardContainer({
showFilters = true,
- showObjectives = true
+ showObjectives = true,
+ initialTaskIdToEdit = null
}: KanbanBoardContainerProps = {}) {
const {
filteredTasks,
@@ -37,6 +39,16 @@ export function KanbanBoardContainer({
const visibleStatuses = allStatuses.filter(status => isColumnVisible(status.key)).map(s => s.key);
const [editingTask, setEditingTask] = useState(null);
+ // Effet pour ouvrir automatiquement la popup d'édition si un taskId est fourni dans l'URL
+ useEffect(() => {
+ if (initialTaskIdToEdit && filteredTasks.length > 0) {
+ const taskToEdit = filteredTasks.find(task => task.id === initialTaskIdToEdit);
+ if (taskToEdit) {
+ setEditingTask(taskToEdit);
+ }
+ }
+ }, [initialTaskIdToEdit, filteredTasks]);
+
const handleEditTask = (task: Task) => {
setEditingTask(task);
};