From a0e2a783721767c6c7943b65ed680a15b8641a53 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Sun, 21 Sep 2025 10:49:39 +0200 Subject: [PATCH] feat: update Daily and Jira dashboard pages with dynamic titles and improved UI - Implemented `getTodayTitle` and `getYesterdayTitle` functions in `DailyPageClient` to dynamically set section titles based on the current date. - Updated `TODO.md` to mark completed tasks related to the Jira dashboard UI consistency. - Enhanced card content in `JiraDashboardPageClient` to ensure charts are responsive and maintain consistent styling. - Removed unused date formatting function in `DailySection` for cleaner code. --- TODO.md | 4 +- src/app/daily/DailyPageClient.tsx | 24 +- .../JiraDashboardPageClient.tsx | 210 ++++++++++-------- src/components/daily/DailySection.tsx | 9 +- 4 files changed, 147 insertions(+), 100 deletions(-) diff --git a/TODO.md b/TODO.md index 43c97a0..976b291 100644 --- a/TODO.md +++ b/TODO.md @@ -6,8 +6,8 @@ - [x] backups : ne backuper que si il y a eu un changement entre le dernier backup et la base actuelle - [ ] refacto des dates avec le utils qui pour l'instant n'est pas utilisé - [ ] split de certains gros composants. -- [ ] Page manager : onglets analytics avancés et Qualité et collaboration : les charts sortent des cards; il faut reprendre la UI pour que ce soit consistant. -- [ ] Page Daily : les mots aujourd'hui et hier ne fonctionnent dans les titres que si c'est vraiment aujourd'hui :) +- [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 :) ## 🔧 Phase 6: Fonctionnalités avancées (Priorité 6) diff --git a/src/app/daily/DailyPageClient.tsx b/src/app/daily/DailyPageClient.tsx index 69d2709..19b5bd1 100644 --- a/src/app/daily/DailyPageClient.tsx +++ b/src/app/daily/DailyPageClient.tsx @@ -125,6 +125,26 @@ export function DailyPageClient({ return currentDate.toDateString() === today.toDateString(); }; + const getTodayTitle = () => { + const today = new Date(); + if (currentDate.toDateString() === today.toDateString()) { + return "🎯 Aujourd'hui"; + } + return `🎯 ${currentDate.toLocaleDateString('fr-FR', { day: '2-digit', month: '2-digit', year: '2-digit' })}`; + }; + + const getYesterdayTitle = () => { + const today = new Date(); + const yesterday = new Date(today); + yesterday.setDate(yesterday.getDate() - 1); + + const yesterdayDate = getYesterdayDate(); + if (yesterdayDate.toDateString() === yesterday.toDateString()) { + return "📋 Hier"; + } + return `📋 ${yesterdayDate.toLocaleDateString('fr-FR', { day: '2-digit', month: '2-digit', year: '2-digit' })}`; + }; + if (loading) { return (
@@ -217,7 +237,7 @@ export function DailyPageClient({
{/* Section Hier */}

📉 Burndown Chart

- - + +
+ +
@@ -482,11 +484,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

📈 Throughput

- - + +
+ +
@@ -496,11 +500,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

🎯 Métriques de qualité

- - + +
+ +
@@ -509,11 +515,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

📊 Predictabilité

- - + +
+ +
@@ -522,11 +530,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

🤝 Matrice de collaboration

- - + +
+ +
@@ -535,11 +545,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

📊 Comparaison inter-sprints

- - + +
+ +
@@ -548,12 +560,14 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

🔥 Heatmap d'activité de l'équipe

- - + +
+ +
@@ -566,12 +580,14 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

🚀 Vélocité des sprints

- - + +
+ +
@@ -581,11 +597,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

📉 Burndown Chart

- - + +
+ +
@@ -593,11 +611,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

📊 Throughput

- - + +
+ +
@@ -607,11 +627,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

📊 Comparaison des sprints

- - + +
+ +
@@ -625,11 +647,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

⏱️ Cycle Time par type

- - + +
+ +
{analytics.cycleTimeMetrics.averageCycleTime.toFixed(1)} @@ -645,12 +669,14 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

🔥 Heatmap d'activité

- - + +
+ +
@@ -661,11 +687,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

🎯 Métriques de qualité

- - + +
+ +
@@ -673,11 +701,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

📈 Predictabilité

- - + +
+ +
@@ -692,11 +722,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

👥 Répartition de l'équipe

- - + +
+ +
@@ -704,11 +736,13 @@ export function JiraDashboardPageClient({ initialJiraConfig }: JiraDashboardPage

🤝 Matrice de collaboration

- - + +
+ +
diff --git a/src/components/daily/DailySection.tsx b/src/components/daily/DailySection.tsx index 2615067..30d89ac 100644 --- a/src/components/daily/DailySection.tsx +++ b/src/components/daily/DailySection.tsx @@ -40,13 +40,6 @@ export function DailySection({ }: DailySectionProps) { const [activeId, setActiveId] = useState(null); const [items, setItems] = useState(checkboxes); - const formatShortDate = (date: Date) => { - return date.toLocaleDateString('fr-FR', { - day: '2-digit', - month: '2-digit', - year: 'numeric' - }); - }; // Mettre à jour les items quand les checkboxes changent React.useEffect(() => { @@ -99,7 +92,7 @@ export function DailySection({

- {title} ({formatShortDate(date)}) + {title} {refreshing && (
)}