diff --git a/src/lib/api.ts b/src/lib/api.ts index 3df6360..12e308c 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -135,18 +135,15 @@ export function calculateTimeRemaining(endDate: string): { const minutes = Math.floor((totalSeconds % 3600) / 60); const seconds = totalSeconds % 60; - // Pad numbers to 2 digits for consistent width - const pad = (n: number) => n.toString().padStart(2, '0'); + // Fixed-width formatting: %3dd %2dh %2dm %2ds or %2dh %2dm %2ds + const pad2 = (n: number) => n.toString().padStart(2, '0'); + const pad3 = (n: number) => n.toString().padStart(3, ' '); let formatted: string; if (days > 0) { - formatted = `${days}d ${pad(hours)}h ${pad(minutes)}m ${pad(seconds)}s`; - } else if (hours > 0) { - formatted = `${pad(hours)}h ${pad(minutes)}m ${pad(seconds)}s`; - } else if (minutes > 0) { - formatted = `${pad(minutes)}m ${pad(seconds)}s`; + formatted = `${pad3(days)}d ${pad2(hours)}h ${pad2(minutes)}m ${pad2(seconds)}s`; } else { - formatted = `${pad(seconds)}s`; + formatted = `${pad2(hours)}h ${pad2(minutes)}m ${pad2(seconds)}s`; } // Status based on time remaining