diff --git a/frontend/src/components/account/AccountStatusIndicator.vue b/frontend/src/components/account/AccountStatusIndicator.vue index 8d019bcf7..7d19b784a 100644 --- a/frontend/src/components/account/AccountStatusIndicator.vue +++ b/frontend/src/components/account/AccountStatusIndicator.vue @@ -95,7 +95,7 @@ > {{ t('admin.accounts.status.creditsExhausted') }} - {{ formatModelResetTime(item.reset_at) }} + {{ formatCountdown(item.reset_at) }} ⚡ {{ formatScopeName(item.model) }} - {{ formatModelResetTime(item.reset_at) }} + {{ formatCountdown(item.reset_at) }} {{ formatScopeName(item.model) }} - {{ formatModelResetTime(item.reset_at) }} + {{ formatCountdown(item.reset_at) }}
{{ item.kind === 'credits_exhausted' - ? t('admin.accounts.status.creditsExhaustedUntil', { time: formatTime(item.reset_at) }) + ? t('admin.accounts.status.creditsExhaustedUntil', { time: formatDateTimeToMinute(item.reset_at) }) : item.kind === 'credits_active' - ? t('admin.accounts.status.modelCreditOveragesUntil', { model: formatScopeName(item.model), time: formatTime(item.reset_at) }) - : t('admin.accounts.status.modelRateLimitedUntil', { model: formatScopeName(item.model), time: formatTime(item.reset_at) }) + ? t('admin.accounts.status.modelCreditOveragesUntil', { model: formatScopeName(item.model), time: formatDateTimeToMinute(item.reset_at) }) + : t('admin.accounts.status.modelRateLimitedUntil', { model: formatScopeName(item.model), time: formatDateTimeToMinute(item.reset_at) }) }}
{ return aliases[scope] || scope } -const formatModelResetTime = (resetAt: string): string => { - const date = new Date(resetAt) - const now = new Date() - const diffMs = date.getTime() - now.getTime() - if (diffMs <= 0) return '' - const totalSecs = Math.floor(diffMs / 1000) - const h = Math.floor(totalSecs / 3600) - const m = Math.floor((totalSecs % 3600) / 60) - const s = totalSecs % 60 - if (h > 0) return `${h}h${m}m` - if (m > 0) return `${m}m${s}s` - return `${s}s` -} - // Computed: is overloaded (529) const isOverloaded = computed(() => { if (!props.account.overload_until) return false