feat: update dashboard components and analytics for 7-day summaries

- Modified `ManagerWeeklySummary`, `MetricsTab`, and `ProductivityAnalytics` to reflect a focus on the last 7 days instead of the current week.
- Enhanced `ManagerSummaryService` and `MetricsService` to calculate metrics over a sliding 7-day window, improving data relevance.
- Added a new utility function `formatDistanceToNow` for better date formatting in French.
- Updated comments and documentation to clarify changes in timeframes.
This commit is contained in:
Julien Froidefond
2025-09-23 21:22:59 +02:00
parent 336b5c1006
commit fd3827214f
14 changed files with 738 additions and 32 deletions

View File

@@ -3,7 +3,7 @@
* Regroupe toutes les fonctions de formatage, manipulation et validation de dates
*/
import { format, startOfDay, endOfDay, isValid } from 'date-fns';
import { format, startOfDay, endOfDay, isValid, formatDistanceToNow as formatDistanceToNowFns } from 'date-fns';
import { fr } from 'date-fns/locale';
// Re-export des utilitaires workday existants
@@ -244,3 +244,17 @@ export function generateDateTitle(date: Date, emoji: string = '📅'): string {
return `${emoji} ${formatDateShort(date)}`;
}
/**
* Formate la distance depuis maintenant en français
*/
export function formatDistanceToNow(date: Date, options?: { addSuffix?: boolean }): string {
if (!isValid(date)) {
throw new Error('Date invalide fournie à formatDistanceToNow');
}
return formatDistanceToNowFns(date, {
locale: fr,
addSuffix: options?.addSuffix ?? true
});
}