From 63ef86136016835d64d951fa0e93713e3b0f3c52 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Thu, 2 Oct 2025 11:02:29 +0200 Subject: [PATCH] feat: add isArchived property to DailyCheckbox and related components - Introduced `isArchived` property to `DailyCheckbox` to track archived tasks. - Updated `DailyCheckboxItem`, `CheckboxItem`, and `DailySection` components to reflect archived state in UI. - Adjusted checkbox behavior to disable interactions for archived tasks and visually indicate their status. - Enhanced task management services to include archived status during task creation and updates. --- src/clients/daily-client.ts | 3 ++- src/components/daily/DailyCheckboxItem.tsx | 17 ++++++++++++----- src/components/daily/DailySection.tsx | 3 ++- src/components/ui/CheckboxItem.tsx | 20 +++++++++++++++----- src/lib/types.ts | 1 + src/services/task-management/daily.ts | 1 + src/services/task-management/tasks.ts | 1 + 7 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/clients/daily-client.ts b/src/clients/daily-client.ts index 3dd015b..a27b08c 100644 --- a/src/clients/daily-client.ts +++ b/src/clients/daily-client.ts @@ -109,7 +109,8 @@ export class DailyClient { ...checkbox, date: parseDate(checkbox.date), createdAt: parseDate(checkbox.createdAt), - updatedAt: parseDate(checkbox.updatedAt) + updatedAt: parseDate(checkbox.updatedAt), + isArchived: checkbox.text.includes('[ARCHIVÉ]') }; } diff --git a/src/components/daily/DailyCheckboxItem.tsx b/src/components/daily/DailyCheckboxItem.tsx index 884959b..cb34c04 100644 --- a/src/components/daily/DailyCheckboxItem.tsx +++ b/src/components/daily/DailyCheckboxItem.tsx @@ -102,20 +102,27 @@ export function DailyCheckboxItem({ setEditingCheckbox(null); }; + // Vérifier si la tâche est archivée + const isArchived = checkbox.isArchived; + return ( <>
+ } ${isArchived ? 'opacity-60 bg-[var(--muted)]/20' : ''}`}> {/* Checkbox */} {/* Contenu principal */} @@ -133,7 +140,7 @@ export function DailyCheckboxItem({ {/* Texte cliquable pour édition inline */} +
{/* Checkbox */} {/* Contenu principal */} @@ -138,7 +148,7 @@ export function CheckboxItem({ {/* Texte cliquable pour édition inline */}