瀏覽代碼

feat: add download button on updater dialog

#1129
MystiPanda 1 年之前
父節點
當前提交
bc5eaf34fe
共有 5 個文件被更改,包括 24 次插入2 次删除
  1. 20 2
      src/components/setting/mods/update-viewer.tsx
  2. 1 0
      src/locales/en.json
  3. 1 0
      src/locales/fa.json
  4. 1 0
      src/locales/ru.json
  5. 1 0
      src/locales/zh.json

+ 20 - 2
src/components/setting/mods/update-viewer.tsx

@@ -1,7 +1,7 @@
 import useSWR from "swr";
 import { forwardRef, useImperativeHandle, useState, useMemo } from "react";
 import { useLockFn } from "ahooks";
-import { Box, LinearProgress } from "@mui/material";
+import { Box, LinearProgress, Button } from "@mui/material";
 import { useTranslation } from "react-i18next";
 import { relaunch } from "@tauri-apps/api/process";
 import { checkUpdate, installUpdate } from "@tauri-apps/api/updater";
@@ -9,6 +9,7 @@ import { BaseDialog, DialogRef, Notice } from "@/components/base";
 import { useUpdateState, useSetUpdateState } from "@/services/states";
 import { listen, Event, UnlistenFn } from "@tauri-apps/api/event";
 import { portableFlag } from "@/pages/_layout";
+import { open as openUrl } from "@tauri-apps/api/shell";
 import ReactMarkdown from "react-markdown";
 
 let eventListener: UnlistenFn | null = null;
@@ -76,7 +77,24 @@ export const UpdateViewer = forwardRef<DialogRef>((props, ref) => {
   return (
     <BaseDialog
       open={open}
-      title={`New Version v${updateInfo?.manifest?.version}`}
+      title={
+        <Box display="flex" justifyContent="space-between">
+          {`New Version v${updateInfo?.manifest?.version}`}
+          <Box>
+            <Button
+              variant="contained"
+              size="small"
+              onClick={() => {
+                openUrl(
+                  `https://github.com/clash-verge-rev/clash-verge-rev/releases/tag/v${updateInfo?.manifest?.version}`
+                );
+              }}
+            >
+              {t("Go to Release Page")}
+            </Button>
+          </Box>
+        </Box>
+      }
       contentSx={{ minWidth: 360, maxWidth: 400, height: "50vh" }}
       okBtn={t("Update")}
       cancelBtn={t("Cancel")}

+ 1 - 0
src/locales/en.json

@@ -168,6 +168,7 @@
   "Runtime Config": "Runtime Config",
   "ReadOnly": "ReadOnly",
   "ReadOnlyMessage": "Cannot edit in read-only editor",
+  "Go to Release Page": "Go to Release Page",
   "Restart": "Restart",
   "Upgrade": "Upgrade",
 

+ 1 - 0
src/locales/fa.json

@@ -163,6 +163,7 @@
   "Runtime Config": "پیکربندی زمان اجرا",
   "ReadOnly": "فقط خواندنی",
   "ReadOnlyMessage": "نمی‌توان در ویرایشگر فقط خواندنی ویرایش کرد",
+  "Go to Release Page": "رفتن به صفحه انتشار",
   "Restart": "راه‌اندازی مجدد",
   "Upgrade": "ارتقاء",
 

+ 1 - 0
src/locales/ru.json

@@ -163,6 +163,7 @@
   "Runtime Config": "Используемый конфиг",
   "ReadOnly": "Только для чтения",
   "ReadOnlyMessage": "Невозможно редактировать в режиме только для чтения",
+  "Go to Release Page": "Перейти на страницу релизов",
   "Restart": "Перезапуск",
   "Upgrade": "Обновлять",
 

+ 1 - 0
src/locales/zh.json

@@ -168,6 +168,7 @@
   "Runtime Config": "当前配置",
   "ReadOnly": "只读",
   "ReadOnlyMessage": "无法在只读模式下编辑",
+  "Go to Release Page": "前往发布页",
   "Restart": "重启内核",
   "Upgrade": "升级内核",