diff --git a/frontend/src/i18n/locales/en.ts b/frontend/src/i18n/locales/en.ts index ab576cc8..29328fe0 100644 --- a/frontend/src/i18n/locales/en.ts +++ b/frontend/src/i18n/locales/en.ts @@ -904,6 +904,8 @@ export default { failedToAssign: 'Failed to assign subscription', failedToExtend: 'Failed to extend subscription', failedToRevoke: 'Failed to revoke subscription', + pleaseSelectUser: 'Please select a user', + pleaseSelectGroup: 'Please select a group', revokeConfirm: "Are you sure you want to revoke the subscription for '{user}'? This action cannot be undone." }, diff --git a/frontend/src/i18n/locales/zh.ts b/frontend/src/i18n/locales/zh.ts index 4d3d00f5..cf4b91fc 100644 --- a/frontend/src/i18n/locales/zh.ts +++ b/frontend/src/i18n/locales/zh.ts @@ -981,6 +981,8 @@ export default { failedToAssign: '分配订阅失败', failedToExtend: '延长订阅失败', failedToRevoke: '撤销订阅失败', + pleaseSelectUser: '请选择用户', + pleaseSelectGroup: '请选择分组', revokeConfirm: "确定要撤销 '{user}' 的订阅吗?此操作无法撤销。" }, diff --git a/frontend/src/views/admin/SubscriptionsView.vue b/frontend/src/views/admin/SubscriptionsView.vue index dc05e57c..a0b78062 100644 --- a/frontend/src/views/admin/SubscriptionsView.vue +++ b/frontend/src/views/admin/SubscriptionsView.vue @@ -869,7 +869,14 @@ const closeAssignModal = () => { } const handleAssignSubscription = async () => { - if (!assignForm.user_id || !assignForm.group_id) return + if (!assignForm.user_id) { + appStore.showError(t('admin.subscriptions.pleaseSelectUser')) + return + } + if (!assignForm.group_id) { + appStore.showError(t('admin.subscriptions.pleaseSelectGroup')) + return + } submitting.value = true try { diff --git a/frontend/src/views/admin/UsageView.vue b/frontend/src/views/admin/UsageView.vue index 8d3fe19f..667f2a97 100644 --- a/frontend/src/views/admin/UsageView.vue +++ b/frontend/src/views/admin/UsageView.vue @@ -2,6 +2,21 @@
+ +
+
+
+ {{ t('admin.dashboard.granularity') }}: +
+