diff --git a/frontend/src/components/common/SubscriptionProgressMini.vue b/frontend/src/components/common/SubscriptionProgressMini.vue index b84175e9..92198c2c 100644 --- a/frontend/src/components/common/SubscriptionProgressMini.vue +++ b/frontend/src/components/common/SubscriptionProgressMini.vue @@ -69,94 +69,108 @@ - +
-
- {{ - t('subscriptionProgress.daily') - }} -
-
-
- - {{ - formatUsage(subscription.daily_usage_usd, subscription.group?.daily_limit_usd) - }} + +
+ + + {{ t('subscriptionProgress.unlimited') }}
-
- {{ - t('subscriptionProgress.weekly') - }} -
-
+ +
@@ -215,7 +229,19 @@ function getMaxUsagePercentage(sub: UserSubscription): number { return percentages.length > 0 ? Math.max(...percentages) : 0 } +function isUnlimited(sub: UserSubscription): boolean { + return ( + !sub.group?.daily_limit_usd && + !sub.group?.weekly_limit_usd && + !sub.group?.monthly_limit_usd + ) +} + function getProgressDotClass(sub: UserSubscription): string { + // Unlimited subscriptions get a special color + if (isUnlimited(sub)) { + return 'bg-emerald-500' + } const maxPercentage = getMaxUsagePercentage(sub) if (maxPercentage >= 90) return 'bg-red-500' if (maxPercentage >= 70) return 'bg-orange-500' diff --git a/frontend/src/i18n/locales/en.ts b/frontend/src/i18n/locales/en.ts index d153b553..6d1095cf 100644 --- a/frontend/src/i18n/locales/en.ts +++ b/frontend/src/i18n/locales/en.ts @@ -749,6 +749,7 @@ export default { weekly: 'Weekly', monthly: 'Monthly', noLimits: 'No limits configured', + unlimited: 'Unlimited', resetNow: 'Resetting soon', windowNotActive: 'Window not active', resetInMinutes: 'Resets in {minutes}m', @@ -1492,7 +1493,8 @@ export default { expiresToday: 'Expires today', expiresTomorrow: 'Expires tomorrow', viewAll: 'View all subscriptions', - noSubscriptions: 'No active subscriptions' + noSubscriptions: 'No active subscriptions', + unlimited: 'Unlimited' }, // Version Badge @@ -1535,6 +1537,7 @@ export default { expires: 'Expires', noExpiration: 'No expiration', unlimited: 'Unlimited', + unlimitedDesc: 'No usage limits on this subscription', daily: 'Daily', weekly: 'Weekly', monthly: 'Monthly', diff --git a/frontend/src/i18n/locales/zh.ts b/frontend/src/i18n/locales/zh.ts index c6105683..97d57051 100644 --- a/frontend/src/i18n/locales/zh.ts +++ b/frontend/src/i18n/locales/zh.ts @@ -840,6 +840,7 @@ export default { weekly: '每周', monthly: '每月', noLimits: '未配置限额', + unlimited: '无限制', resetNow: '即将重置', windowNotActive: '窗口未激活', resetInMinutes: '{minutes} 分钟后重置', @@ -1689,7 +1690,8 @@ export default { expiresToday: '今天到期', expiresTomorrow: '明天到期', viewAll: '查看全部订阅', - noSubscriptions: '暂无有效订阅' + noSubscriptions: '暂无有效订阅', + unlimited: '无限制' }, // Version Badge @@ -1731,6 +1733,7 @@ export default { expires: '到期时间', noExpiration: '无到期时间', unlimited: '无限制', + unlimitedDesc: '该订阅无用量限制', daily: '每日', weekly: '每周', monthly: '每月', diff --git a/frontend/src/views/admin/SubscriptionsView.vue b/frontend/src/views/admin/SubscriptionsView.vue index bd6a17eb..679c3275 100644 --- a/frontend/src/views/admin/SubscriptionsView.vue +++ b/frontend/src/views/admin/SubscriptionsView.vue @@ -202,16 +202,19 @@
- +
- {{ t('admin.subscriptions.noLimits') }} + + + {{ t('admin.subscriptions.unlimited') }} +
diff --git a/frontend/src/views/user/SubscriptionsView.vue b/frontend/src/views/user/SubscriptionsView.vue index dc93a9c1..b03b665a 100644 --- a/frontend/src/views/user/SubscriptionsView.vue +++ b/frontend/src/views/user/SubscriptionsView.vue @@ -230,18 +230,26 @@

- +
- {{ - t('userSubscriptions.unlimited') - }} +
+ +
+

+ {{ t('userSubscriptions.unlimited') }} +

+

+ {{ t('userSubscriptions.unlimitedDesc') }} +

+
+