From eeea165f7e6f4e5b2ddb73c4b66b1a9233aa53a6 Mon Sep 17 00:00:00 2001 From: "web@ppanel" Date: Sat, 4 Jan 2025 20:57:37 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(subscribe):=20Add=20reset=5Fti?= =?UTF-8?q?me=20to=20API=20typings=20and=20update=20unsubscribe=20logic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/admin/services/admin/index.ts | 2 +- apps/admin/services/admin/typings.d.ts | 1 + apps/admin/services/common/typings.d.ts | 1 + apps/user/app/(main)/(user)/dashboard/content.tsx | 6 +++++- apps/user/components/subscribe/unsubscribe.tsx | 10 +++++++--- apps/user/services/common/typings.d.ts | 1 + apps/user/services/user/typings.d.ts | 1 + 7 files changed, 17 insertions(+), 5 deletions(-) diff --git a/apps/admin/services/admin/index.ts b/apps/admin/services/admin/index.ts index 32cbdf0..944988e 100644 --- a/apps/admin/services/admin/index.ts +++ b/apps/admin/services/admin/index.ts @@ -1,5 +1,5 @@ // @ts-ignore - + // API 更新时间: // API 唯一标识: import * as announcement from './announcement'; diff --git a/apps/admin/services/admin/typings.d.ts b/apps/admin/services/admin/typings.d.ts index afd36b2..9ced54f 100644 --- a/apps/admin/services/admin/typings.d.ts +++ b/apps/admin/services/admin/typings.d.ts @@ -1067,6 +1067,7 @@ declare namespace API { subscribe: Subscribe; start_time: number; expire_time: number; + reset_time: number; traffic: number; download: number; upload: number; diff --git a/apps/admin/services/common/typings.d.ts b/apps/admin/services/common/typings.d.ts index c465373..a48b504 100644 --- a/apps/admin/services/common/typings.d.ts +++ b/apps/admin/services/common/typings.d.ts @@ -473,6 +473,7 @@ declare namespace API { subscribe: Subscribe; start_time: number; expire_time: number; + reset_time: number; traffic: number; download: number; upload: number; diff --git a/apps/user/app/(main)/(user)/dashboard/content.tsx b/apps/user/app/(main)/(user)/dashboard/content.tsx index 26680b7..4f7c833 100644 --- a/apps/user/app/(main)/(user)/dashboard/content.tsx +++ b/apps/user/app/(main)/(user)/dashboard/content.tsx @@ -171,7 +171,11 @@ export default function Content() {
  • {t('nextResetDays')} - {t('unknown')} + + {item.reset_time + ? differenceInDays(new Date(item.reset_time), new Date()) + : t('unknown')} +
  • {t('expirationDays')} diff --git a/apps/user/components/subscribe/unsubscribe.tsx b/apps/user/components/subscribe/unsubscribe.tsx index c58e5fe..df15749 100644 --- a/apps/user/components/subscribe/unsubscribe.tsx +++ b/apps/user/components/subscribe/unsubscribe.tsx @@ -1,5 +1,6 @@ 'use client'; +import useGlobalStore from '@/config/use-global'; import { preUnsubscribe, unsubscribe } from '@/services/user/user'; import { useQuery } from '@tanstack/react-query'; import { Button } from '@workspace/ui/components/button'; @@ -24,9 +25,12 @@ interface UnsubscribeProps { } export default function Unsubscribe({ id, allowDeduction }: Readonly) { - const [open, setOpen] = useState(false); - const router = useRouter(); const t = useTranslations('subscribe.unsubscribe'); + const router = useRouter(); + const { common } = useGlobalStore(); + const single_model = common.subscribe.single_model; + + const [open, setOpen] = useState(false); const { data } = useQuery({ enabled: Boolean(open && id && allowDeduction), @@ -53,7 +57,7 @@ export default function Unsubscribe({ id, allowDeduction }: Readonly diff --git a/apps/user/services/common/typings.d.ts b/apps/user/services/common/typings.d.ts index c465373..a48b504 100644 --- a/apps/user/services/common/typings.d.ts +++ b/apps/user/services/common/typings.d.ts @@ -473,6 +473,7 @@ declare namespace API { subscribe: Subscribe; start_time: number; expire_time: number; + reset_time: number; traffic: number; download: number; upload: number; diff --git a/apps/user/services/user/typings.d.ts b/apps/user/services/user/typings.d.ts index 16ec50e..df2f473 100644 --- a/apps/user/services/user/typings.d.ts +++ b/apps/user/services/user/typings.d.ts @@ -654,6 +654,7 @@ declare namespace API { subscribe: Subscribe; start_time: number; expire_time: number; + reset_time: number; traffic: number; download: number; upload: number;