diff --git a/apps/admin/public/assets/locales/en-US/user.json b/apps/admin/public/assets/locales/en-US/user.json index 0127346..d03c4e2 100644 --- a/apps/admin/public/assets/locales/en-US/user.json +++ b/apps/admin/public/assets/locales/en-US/user.json @@ -79,6 +79,10 @@ "stopSubscribeDescription": "This will stop the subscription temporarily. User will not be able to use it.", "stopSubscribeSuccess": "Subscription stopped successfully", "confirmStopSubscribe": "Confirm Stop Subscription", + "resumeSubscribe": "Resume Subscription", + "resumeSubscribeDescription": "This will resume the subscription and allow the user to use it.", + "resumeSubscribeSuccess": "Subscription resumed successfully", + "confirmResumeSubscribe": "Confirm Resume Subscription", "status": "Status", "statusPending": "Pending", "statusActive": "Active", diff --git a/apps/admin/public/assets/locales/zh-CN/user.json b/apps/admin/public/assets/locales/zh-CN/user.json index e4dc3d2..5be625c 100644 --- a/apps/admin/public/assets/locales/zh-CN/user.json +++ b/apps/admin/public/assets/locales/zh-CN/user.json @@ -79,6 +79,10 @@ "stopSubscribeDescription": "这将暂时停止订阅。用户将无法使用。", "stopSubscribeSuccess": "订阅已暂停", "confirmStopSubscribe": "确认暂停订阅", + "resumeSubscribe": "恢复订阅", + "resumeSubscribeDescription": "这将恢复订阅,允许用户继续使用。", + "resumeSubscribeSuccess": "订阅已恢复", + "confirmResumeSubscribe": "确认恢复订阅", "status": "状态", "statusPending": "待处理", "statusActive": "活跃", diff --git a/apps/admin/src/sections/user/user-subscription/index.tsx b/apps/admin/src/sections/user/user-subscription/index.tsx index fd90618..7ad9554 100644 --- a/apps/admin/src/sections/user/user-subscription/index.tsx +++ b/apps/admin/src/sections/user/user-subscription/index.tsx @@ -17,7 +17,7 @@ import { deleteUserSubscribe, getUserSubscribe, resetUserSubscribeToken, - stopUserSubscribe, + toggleUserSubscribeStatus, updateUserSubscribe, } from "@workspace/ui/services/admin/user"; import { useRef, useState } from "react"; @@ -99,22 +99,43 @@ export default function UserSubscription({ userId }: { userId: number }) { { - await stopUserSubscribe({ user_subscribe_id: row.id }); + await toggleUserSubscribeStatus({ user_subscribe_id: row.id }); toast.success( - t("stopSubscribeSuccess", "Subscription stopped successfully") + row.status === 5 + ? t( + "resumeSubscribeSuccess", + "Subscription resumed successfully" + ) + : t( + "stopSubscribeSuccess", + "Subscription stopped successfully" + ) ); ref.current?.refresh(); }} - title={t("confirmStopSubscribe", "Confirm Stop Subscription")} + title={ + row.status === 5 + ? t("confirmResumeSubscribe", "Confirm Resume Subscription") + : t("confirmStopSubscribe", "Confirm Stop Subscription") + } trigger={ } />, diff --git a/packages/ui/src/services/admin/typings.d.ts b/packages/ui/src/services/admin/typings.d.ts index 87b3689..4457357 100644 --- a/packages/ui/src/services/admin/typings.d.ts +++ b/packages/ui/src/services/admin/typings.d.ts @@ -2004,10 +2004,6 @@ declare namespace API { id: number; }; - type StopUserSubscribeRequest = { - user_subscribe_id: number; - }; - type StripePayment = { method: string; client_secret: string; @@ -2167,6 +2163,10 @@ declare namespace API { enable: boolean; }; + type ToggleUserSubscribeStatusRequest = { + user_subscribe_id: number; + }; + type TosConfig = { tos_content: string; }; diff --git a/packages/ui/src/services/admin/user.ts b/packages/ui/src/services/admin/user.ts index 641b96e..39c6429 100644 --- a/packages/ui/src/services/admin/user.ts +++ b/packages/ui/src/services/admin/user.ts @@ -465,13 +465,13 @@ export async function resetUserSubscribeTraffic( ); } -/** Stop user subscribe POST /v1/admin/user/subscribe/stop */ -export async function stopUserSubscribe( - body: API.StopUserSubscribeRequest, +/** Stop user subscribe POST /v1/admin/user/subscribe/toggle */ +export async function toggleUserSubscribeStatus( + body: API.ToggleUserSubscribeStatusRequest, options?: { [key: string]: any } ) { return request( - `${import.meta.env.VITE_API_PREFIX || ""}/v1/admin/user/subscribe/stop`, + `${import.meta.env.VITE_API_PREFIX || ""}/v1/admin/user/subscribe/toggle`, { method: "POST", headers: {