From 0d53961c1846703cb3c03152ae1490dd9528a32d Mon Sep 17 00:00:00 2001 From: Zhang Minghan Date: Thu, 7 Sep 2023 23:12:43 +0800 Subject: [PATCH] update package --- app/src/App.tsx | 6 ++-- app/src/assets/package.less | 31 ++++++++++++++++++++ app/src/components/ui/badge.tsx | 36 +++++++++++++++++++++++ app/src/conversation/addition.ts | 6 +++- app/src/i18n.ts | 18 ++++++++---- app/src/routes/Package.tsx | 50 +++++++++++++++++++++++++++----- app/src/store/package.ts | 19 +++++++----- 7 files changed, 143 insertions(+), 23 deletions(-) create mode 100644 app/src/components/ui/badge.tsx diff --git a/app/src/App.tsx b/app/src/App.tsx index c69bb6a..b656933 100644 --- a/app/src/App.tsx +++ b/app/src/App.tsx @@ -28,7 +28,8 @@ import { Toaster } from "./components/ui/toaster.tsx"; import {login, tokenField} from "./conf.ts"; import { useTranslation } from "react-i18next"; import Quota from "./routes/Quota.tsx"; -import {openDialog} from "./store/quota.ts"; +import { openDialog as openQuotaDialog } from "./store/quota.ts"; +import { openDialog as openPackageDialog } from "./store/package.ts"; import Package from "./routes/Package.tsx"; function Settings() { @@ -49,7 +50,8 @@ function Settings() { {username} - dispatch(openDialog())}>{t("quota")} + dispatch(openQuotaDialog())}>{t("quota")} + dispatch(openPackageDialog())}>{t("pkg.title")} + + diff --git a/app/src/store/package.ts b/app/src/store/package.ts index c3c6c0a..c25d5aa 100644 --- a/app/src/store/package.ts +++ b/app/src/store/package.ts @@ -35,13 +35,16 @@ export const dialogSelector = (state: any): boolean => state.package.dialog; export const certSelector = (state: any): boolean => state.package.cert; export const teenagerSelector = (state: any): boolean => state.package.teenager; -export const refreshPackage = (dispatch: any) => { - setInterval(async () => { - const current = new Date().getTime(); //@ts-ignore - if (window.hasOwnProperty("package") && (current - window.package < 2500)) return; //@ts-ignore - window.package = current; +const refreshPackage = async (dispatch: any) => { + const current = new Date().getTime(); //@ts-ignore + if (window.hasOwnProperty("package") && (current - window.package < 2500)) return; //@ts-ignore + window.package = current; - const response = await getPackage(); - if (response.status) dispatch(refreshState(response)); - }, 10000); + const response = await getPackage(); + if (response.status) dispatch(refreshState(response)); +} + +export const refreshPackageTask = (dispatch: any) => { + setInterval(() => refreshPackage(dispatch), 5000); + refreshPackage(dispatch).then(); }