diff --git a/frontend/src/views/admin/SubscriptionsView.vue b/frontend/src/views/admin/SubscriptionsView.vue index 97282594..493b8553 100644 --- a/frontend/src/views/admin/SubscriptionsView.vue +++ b/frontend/src/views/admin/SubscriptionsView.vue @@ -144,6 +144,13 @@ + + +

{{ t('admin.subscriptions.guide.title') }}

+

{{ t('admin.subscriptions.guide.subtitle') }}

+ + +
+

+ 1 + {{ t('admin.subscriptions.guide.step1.title') }} +

+
    +
  1. {{ t('admin.subscriptions.guide.step1.line1') }}
  2. +
  3. {{ t('admin.subscriptions.guide.step1.line2') }}
  4. +
  5. {{ t('admin.subscriptions.guide.step1.line3') }}
  6. +
+
+ + {{ t('admin.subscriptions.guide.step1.link') }} + + +
+
+ + +
+

+ 2 + {{ t('admin.subscriptions.guide.step2.title') }} +

+
    +
  1. {{ t('admin.subscriptions.guide.step2.line1') }}
  2. +
  3. {{ t('admin.subscriptions.guide.step2.line2') }}
  4. +
  5. {{ t('admin.subscriptions.guide.step2.line3') }}
  6. +
+
+ + +
+

+ 3 + {{ t('admin.subscriptions.guide.step3.title') }} +

+
+ + + + + + + +
{{ row.action }}{{ row.desc }}
+
+
+ + +
+ {{ t('admin.subscriptions.guide.tip') }} +
+ +
+ +
+ + + + @@ -674,6 +760,15 @@ interface GroupOption { rate: number } +// Guide modal state +const showGuideModal = ref(false) + +const guideActionRows = computed(() => [ + { action: t('admin.subscriptions.guide.actions.adjust'), desc: t('admin.subscriptions.guide.actions.adjustDesc') }, + { action: t('admin.subscriptions.guide.actions.resetQuota'), desc: t('admin.subscriptions.guide.actions.resetQuotaDesc') }, + { action: t('admin.subscriptions.guide.actions.revoke'), desc: t('admin.subscriptions.guide.actions.revokeDesc') } +]) + // User column display mode: 'email' or 'username' const userColumnMode = ref<'email' | 'username'>('email') const USER_COLUMN_MODE_KEY = 'subscription-user-column-mode'