From 03e165e1de17f7c31b78eef5da49c47b090e75bb Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 10 Dec 2025 17:22:34 +0800 Subject: [PATCH] feat(ui): show upgrade button in Dashboard --- ui/src/i18n/locales/en/nls.dashboard.json | 1 + ui/src/i18n/locales/zh/nls.dashboard.json | 1 + ui/src/pages/dashboard/Dashboard.tsx | 17 ++++++++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/ui/src/i18n/locales/en/nls.dashboard.json b/ui/src/i18n/locales/en/nls.dashboard.json index ad8273ad..65f0228c 100644 --- a/ui/src/i18n/locales/en/nls.dashboard.json +++ b/ui/src/i18n/locales/en/nls.dashboard.json @@ -11,6 +11,7 @@ "dashboard.shortcut.create_workflow": "Create new workflow", "dashboard.shortcut.change_account": "Change username or password", "dashboard.shortcut.configure_ca": "Configure certificate authorities", + "dashboard.shortcut.upgrade": "New version available!", "dashboard.latest_workflow_runs": "Latest workflow runs", "dashboard.latest_workflow_runs.nodata.description": "It looks like you don't have any runs. Get started by running a workflow.", diff --git a/ui/src/i18n/locales/zh/nls.dashboard.json b/ui/src/i18n/locales/zh/nls.dashboard.json index d26c29f3..b0ccec03 100644 --- a/ui/src/i18n/locales/zh/nls.dashboard.json +++ b/ui/src/i18n/locales/zh/nls.dashboard.json @@ -11,6 +11,7 @@ "dashboard.shortcut.create_workflow": "创建新的工作流", "dashboard.shortcut.change_account": "修改登录账号密码", "dashboard.shortcut.configure_ca": "配置证书颁发机构", + "dashboard.shortcut.upgrade": "新版本可升级!", "dashboard.latest_workflow_runs": "最近的工作流运行", "dashboard.latest_workflow_runs.nodata.description": "当前未找到任何工作流运行历史。请先运行一个工作流。", diff --git a/ui/src/pages/dashboard/Dashboard.tsx b/ui/src/pages/dashboard/Dashboard.tsx index 69ec7b72..405e5ecf 100644 --- a/ui/src/pages/dashboard/Dashboard.tsx +++ b/ui/src/pages/dashboard/Dashboard.tsx @@ -5,6 +5,7 @@ import { IconActivity, IconAlertHexagon, IconCirclePlus, + IconConfetti, IconExternalLink, IconHexagonLetterX, IconHistory, @@ -23,9 +24,10 @@ import { get as getStatistics } from "@/api/statistics"; import Empty from "@/components/Empty"; import WorkflowRunDetailDrawer from "@/components/workflow/WorkflowRunDetailDrawer"; import WorkflowStatus from "@/components/workflow/WorkflowStatus"; +import { APP_DOWNLOAD_URL } from "@/domain/app"; import { type Statistics } from "@/domain/statistics"; import { type WorkflowRunModel } from "@/domain/workflowRun"; -import { useBrowserTheme } from "@/hooks"; +import { useBrowserTheme, useVersionChecker } from "@/hooks"; import { get as getWorkflowRun, list as listWorkflowRuns } from "@/repository/workflowRun"; import { mergeCls } from "@/utils/css"; import { getErrMsg } from "@/utils/error"; @@ -217,6 +219,8 @@ const Shortcuts = ({ className, style }: { className?: string; style?: React.CSS const { t } = useTranslation(); + const { hasUpdate } = useVersionChecker(); + return (
@@ -247,6 +251,17 @@ const Shortcuts = ({ className, style }: { className?: string; style?: React.CSS > {t("dashboard.shortcut.configure_ca")} + {hasUpdate && ( + + )}
);