From c1de8cd06432a6cc72942242325094d67f22cf90 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Fri, 3 Oct 2025 08:17:13 +0200 Subject: [PATCH] feat: update TODO_ARCHIVE and TODO with new features and refactoring notes - Added completed tasks for background image customization and TFS scheduler integration in TODO_ARCHIVE. - Cleaned up TODO list by removing completed items related to dark mode and background image features. - Documented new functionalities and architectural changes for better clarity and tracking. --- TODO.md | 53 ------------------------------------ TODO_ARCHIVE.md | 72 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 71 insertions(+), 54 deletions(-) diff --git a/TODO.md b/TODO.md index e1059df..9c7d54b 100644 --- a/TODO.md +++ b/TODO.md @@ -1,62 +1,9 @@ # TowerControl v2.0 - Gestionnaire de tâches moderne ## Idées à developper -- [x] Refacto et intégration design : mode sombre et clair sont souvent mal généré par défaut -- [x] Personnalisation : couleurs - [ ] Optimisations Perf : requetes DB - [ ] PWA et mode offline ---- - -## 🖼️ **IMAGE DE FOND PERSONNALISÉE** ✅ TERMINÉ - -### **Fonctionnalités implémentées :** -- [x] **Sélecteur d'images de fond** dans les paramètres généraux -- [x] **Images prédéfinies** : dégradés bleu, violet, coucher de soleil, océan, forêt -- [x] **URL personnalisée** : possibilité d'ajouter une image via URL -- [x] **Aperçu en temps réel** de l'image sélectionnée -- [x] **Application globale** : l'image s'applique sur toutes les pages -- [x] **Optimisation visuelle** : effet de flou et transparence pour la lisibilité -- [x] **Sauvegarde persistante** : préférence sauvegardée en base de données -- [x] **Interface intuitive** : sélection facile avec aperçus visuels - -### **Architecture technique :** -- **Types** : `backgroundImage` ajouté à `ViewPreferences` -- **Service** : `userPreferencesService` mis à jour -- **Actions** : `setBackgroundImage` server action créée -- **Composant** : `BackgroundImageSelector` avec presets et URL personnalisée -- **Contexte** : `BackgroundContext` pour l'application globale -- **Styles** : CSS optimisé pour la lisibilité avec images de fond - ---- - -## 🎨 **REFACTORING THÈME & PERSONNALISATION COULEURS** - -### **Phase 1: Nettoyage Architecture Thème** -- [x] **Décider de la stratégie** : CSS Variables vs Tailwind Dark Mode vs Hybride -- [x] **Configurer tailwind.config.js** avec `darkMode: 'class'` si nécessaire -- [x] **Supprimer la double application** du thème (layout.tsx + ThemeContext + UserPreferencesContext) -- [x] **Refactorer les CSS variables** : `:root` pour défaut, `.dark/.light` pour override -- [x] **Nettoyer les composants** : supprimer classes `dark:` hardcodées, utiliser uniquement CSS variables -- [ ] **Corriger les problèmes d'hydration** mismatch et flashs de thème -- [ ] **Créer un système de design cohérent** avec tokens de couleur - -### **Phase 2: Système Couleurs Personnalisées** -- [ ] **Étendre le modèle UserPreferences** pour supporter des couleurs personnalisées -- [ ] **Créer un service de gestion** des couleurs personnalisées -- [ ] **Créer une interface de configuration** des couleurs personnalisées -- [ ] **Implémenter le système CSS** pour les couleurs personnalisées dynamiques -- [ ] **Créer un système de presets** de thèmes (Tech Dark, Corporate Light, etc.) -- [ ] **Ajouter la validation des contrastes** pour les couleurs personnalisées -- [ ] **Permettre export/import** des configurations de thème personnalisées - -### **Problèmes identifiés actuellement :** -- ❌ Approche hybride incohérente (CSS Variables + Tailwind `dark:` + classes conditionnelles) -- ❌ Double application du thème (3 endroits différents) -- ❌ Pas de configuration Tailwind pour `darkMode` -- ❌ Hydration mismatch avec flashs -- ❌ CSS Variables mal optimisées (`:root` contient le thème sombre) -- ❌ Couleurs hardcodées dans certains composants --- diff --git a/TODO_ARCHIVE.md b/TODO_ARCHIVE.md index ffe2c0e..14c7913 100644 --- a/TODO_ARCHIVE.md +++ b/TODO_ARCHIVE.md @@ -370,6 +370,8 @@ src/ - [x] Page jira-dashboard : onglets analytics avancés et Qualité et collaboration : les charts sortent des cards; il faut reprendre la UI pour que ce soit consistant. - [x] Page Daily : les mots aujourd'hui et hier ne fonctionnent dans les titres que si c'est vraiment aujourd'hui :) - [x] Désactiver le hover sur les taskCard +- [x] Refacto et intégration design : mode sombre et clair sont souvent mal généré par défaut +- [x] Personnalisation : couleurs ## 🔄 Refactoring Services par Domaine @@ -478,4 +480,72 @@ src/services/ - [x] Marquage textuel [ARCHIVÉ] dans le texte de la tâche - [x] Interface pour voir les tâches archivées (visuellement distinctes) - [ ] Possibilité de désarchiver une tâche - - [ ] Champ dédié en base de données (actuellement via texte) \ No newline at end of file + - [ ] Champ dédié en base de données (actuellement via texte) + + +--- + +## 🖼️ **IMAGE DE FOND PERSONNALISÉE** ✅ TERMINÉ + +### **Fonctionnalités implémentées :** +- [x] **Sélecteur d'images de fond** dans les paramètres généraux +- [x] **Images prédéfinies** : dégradés bleu, violet, coucher de soleil, océan, forêt +- [x] **URL personnalisée** : possibilité d'ajouter une image via URL +- [x] **Aperçu en temps réel** de l'image sélectionnée +- [x] **Application globale** : l'image s'applique sur toutes les pages +- [x] **Optimisation visuelle** : effet de flou et transparence pour la lisibilité +- [x] **Sauvegarde persistante** : préférence sauvegardée en base de données +- [x] **Interface intuitive** : sélection facile avec aperçus visuels + +### **Architecture technique :** +- **Types** : `backgroundImage` ajouté à `ViewPreferences` +- **Service** : `userPreferencesService` mis à jour +- **Actions** : `setBackgroundImage` server action créée +- **Composant** : `BackgroundImageSelector` avec presets et URL personnalisée +- **Contexte** : `BackgroundContext` pour l'application globale +- **Styles** : CSS optimisé pour la lisibilité avec images de fond + +## 🔄 **SCHEDULER TFS** ✅ TERMINÉ + +### **Fonctionnalités implémentées :** +- [x] **Scheduler TFS automatique** basé sur le modèle Jira +- [x] **Configuration dans UserPreferences** : `tfsAutoSync` et `tfsSyncInterval` +- [x] **Intervalles configurables** : hourly, daily, weekly +- [x] **Auto-start du scheduler** au démarrage de l'application +- [x] **Migration douce** des champs scheduler en base de données +- [x] **Gestion des erreurs** et validation de configuration +- [x] **Status et monitoring** du scheduler + +### **Architecture technique :** +- **Service** : `TfsScheduler` dans `src/services/integrations/tfs/scheduler.ts` +- **Configuration** : Champs `tfsAutoSync` et `tfsSyncInterval` dans `UserPreferences` +- **Migration** : Méthode `ensureTfsSchedulerFields()` pour compatibilité +- **Types** : Interface `TfsSchedulerConfig` avec validation +- **Singleton** : Instance globale `tfsScheduler` avec auto-start +- **Logs** : Console logs détaillés pour monitoring + +### **Différences avec Jira :** +- **Pas de board d'équipe** : TFS se concentre sur les Pull Requests individuelles +- **Configuration simplifiée** : Pas de `ignoredProjects`, mais `ignoredRepositories` +- **Focus utilisateur** : Synchronisation basée sur les PRs assignées à l'utilisateur + +### **Interface utilisateur :** +- **TfsSchedulerConfig** : Configuration du scheduler automatique avec statut et contrôles +- **TfsSync** : Interface de synchronisation manuelle avec détails et statistiques +- **API Routes** : `/api/tfs/scheduler-config` et `/api/tfs/scheduler-status` pour la gestion +- **Même format que Jira** : Interface identique avec badges de statut, contrôles et informations + +--- + +## 🎨 **REFACTORING THÈME & PERSONNALISATION COULEURS** + +### **Phase 1: Nettoyage Architecture Thème** +- [x] **Décider de la stratégie** : CSS Variables vs Tailwind Dark Mode vs Hybride +- [x] **Configurer tailwind.config.js** avec `darkMode: 'class'` si nécessaire +- [x] **Supprimer la double application** du thème (layout.tsx + ThemeContext + UserPreferencesContext) +- [x] **Refactorer les CSS variables** : `:root` pour défaut, `.dark/.light` pour override +- [x] **Nettoyer les composants** : supprimer classes `dark:` hardcodées, utiliser uniquement CSS variables +- [ ] **Corriger les problèmes d'hydration** mismatch et flashs de thème +- [ ] **Créer un système de design cohérent** avec tokens de couleur + +--- \ No newline at end of file