refactor: unify date handling with utility functions
- Replaced direct date manipulations with utility functions like `getToday`, `parseDate`, and `createDateFromParts` across various components and services for consistency. - Updated date initialization in `JiraAnalyticsService`, `BackupService`, and `DailyClient` to improve clarity and maintainability. - Enhanced date parsing in forms and API routes to ensure proper handling of date strings.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { JiraAnalytics } from './types';
|
||||
import { getToday, subtractDays, parseDate } from './date-utils';
|
||||
|
||||
export type PeriodFilter = '7d' | '30d' | '3m' | 'current';
|
||||
|
||||
@@ -9,18 +10,18 @@ export function filterAnalyticsByPeriod(
|
||||
analytics: JiraAnalytics,
|
||||
period: PeriodFilter
|
||||
): JiraAnalytics {
|
||||
const now = new Date();
|
||||
const now = getToday();
|
||||
let cutoffDate: Date;
|
||||
|
||||
switch (period) {
|
||||
case '7d':
|
||||
cutoffDate = new Date(now.getTime() - (7 * 24 * 60 * 60 * 1000));
|
||||
cutoffDate = subtractDays(now, 7);
|
||||
break;
|
||||
case '30d':
|
||||
cutoffDate = new Date(now.getTime() - (30 * 24 * 60 * 60 * 1000));
|
||||
cutoffDate = subtractDays(now, 30);
|
||||
break;
|
||||
case '3m':
|
||||
cutoffDate = new Date(now.getTime() - (90 * 24 * 60 * 60 * 1000));
|
||||
cutoffDate = subtractDays(now, 90);
|
||||
break;
|
||||
case 'current':
|
||||
default:
|
||||
@@ -56,7 +57,7 @@ function filterCurrentSprintAnalytics(analytics: JiraAnalytics): JiraAnalytics {
|
||||
function filterAnalyticsByDate(analytics: JiraAnalytics, cutoffDate: Date): JiraAnalytics {
|
||||
// Filtrer l'historique des sprints
|
||||
const filteredSprintHistory = analytics.velocityMetrics.sprintHistory.filter(sprint => {
|
||||
const sprintEndDate = new Date(sprint.endDate);
|
||||
const sprintEndDate = parseDate(sprint.endDate);
|
||||
return sprintEndDate >= cutoffDate;
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user