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