export function formatRelativeTime(isoTimestamp: string): string { const date = new Date(isoTimestamp); const now = new Date(); const diffMs = now.getTime() - date.getTime(); const diffMinutes = Math.floor(diffMs / (1000 * 60)); const diffHours = Math.floor(diffMs / (1000 * 60 * 60)); const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24)); if (diffMinutes < 1) { return "à l'instant"; } if (diffMinutes < 60) { return `il y a ${diffMinutes} min`; } if (diffHours < 24) { return `il y a ${diffHours} h`; } const yesterday = new Date(now); yesterday.setDate(yesterday.getDate() - 1); if ( date.getDate() === yesterday.getDate() && date.getMonth() === yesterday.getMonth() && date.getFullYear() === yesterday.getFullYear() ) { return 'hier'; } if (diffDays < 7) { return `il y a ${diffDays} ${diffDays === 1 ? 'jour' : 'jours'}`; } const day = String(date.getDate()).padStart(2, '0'); const month = String(date.getMonth() + 1).padStart(2, '0'); const year = date.getFullYear(); return `${day}/${month}/${year}`; } export function useRelativeTime() { return { formatRelativeTime }; }