Compare commits

..

6 Commits

12 changed files with 67 additions and 19 deletions

View File

@@ -1,4 +1,18 @@
## 1.5.10
## v1.5.11
### Features
- Meta(mihomo)内核更新 1.18.2
### Bugs Fixes
- 升级图标无法点击的问题
- 卸载时检查安装目录是否为空
- 代理界面图标重合的问题
---
## v1.5.10
### Features

View File

@@ -1,6 +1,6 @@
{
"name": "clash-verge",
"version": "1.5.10",
"version": "1.5.11",
"license": "GPL-3.0-only",
"scripts": {
"dev": "tauri dev",

2
src-tauri/Cargo.lock generated
View File

@@ -749,7 +749,7 @@ dependencies = [
[[package]]
name = "clash-verge"
version = "1.5.10"
version = "1.5.11"
dependencies = [
"anyhow",
"auto-launch",

View File

@@ -1,6 +1,6 @@
[package]
name = "clash-verge"
version = "1.5.10"
version = "1.5.11"
description = "clash verge"
authors = ["zzzgydi", "wonfen", "MystiPanda"]
license = "GPL-3.0-only"

View File

@@ -1,7 +1,7 @@
{
"package": {
"productName": "Clash Verge",
"version": "1.5.10"
"version": "1.5.11"
},
"build": {
"distDir": "../dist",

View File

@@ -743,6 +743,30 @@ Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd
Function un.isDirectoryEmpty
Exch $0
Push $1
Push $2
StrCpy $2 0
FindFirst $1 $2 "$0\*.*"
loop:
StrCmp $2 "" done
StrCmp $2 "." next
StrCmp $2 ".." next
StrCpy $0 0
goto done
next:
FindNext $1 $2
goto loop
done:
FindClose $1
StrCmp $2 "" 0 +2
StrCpy $0 1
Pop $2
Pop $1
Exch $0
FunctionEnd
Section Uninstall
!insertmacro CheckIfAppIsRunning
@@ -756,7 +780,7 @@ Section Uninstall
{{#each resources}}
Delete "$INSTDIR\\{{this.[1]}}"
{{/each}}
Delete "$INSTDIR\resources"
; Delete external binaries
{{#each binaries}}
Delete "$INSTDIR\\{{this}}"
@@ -765,13 +789,14 @@ Section Uninstall
; Delete uninstaller
Delete "$INSTDIR\uninstall.exe"
${If} $DeleteAppDataCheckboxState == 1
; Remove InstallDir
Push "$INSTDIR"
Call un.isDirectoryEmpty
Pop $0
${If} $0 == 1
RMDir /R /REBOOTOK "$INSTDIR"
${Else}
{{#each resources_ancestors}}
RMDir /REBOOTOK "$INSTDIR\\{{this}}"
{{/each}}
RMDir "$INSTDIR"
MessageBox MB_OK "Install Directory is not Empty, Please remove it manually."
${EndIf}
; Remove start menu shortcut

View File

@@ -28,13 +28,11 @@
// $maxLogo: 100px;
.the-logo {
app-region: drag;
position: relative;
flex: 1 0 58px;
// width: 100%;
display: flex;
height: 100%;
padding: 0px 20px;
flex-direction: column;
justify-content: center;
align-items: flex-start;
@@ -62,7 +60,7 @@
.the-newbtn {
position: absolute;
right: 10px;
top: 0px;
top: 15px;
border-radius: 8px;
padding: 2px 4px;
transform: scale(0.8);
@@ -103,6 +101,7 @@
box-sizing: border-box;
z-index: 2;
.the-dragbar {
margin-top: 5px;
app-region: drag;
}
}
@@ -127,7 +126,11 @@
.layout__left .the-logo {
flex: 1 0 58px;
padding-top: 40px;
margin-top: 10px;
margin-left: 10px;
padding-top: 30px;
padding-left: 10px;
padding-right: 20px;
padding-bottom: 16px;
}

View File

@@ -49,7 +49,8 @@ export const ProxyRender = (props: RenderProps) => {
async function initIconCachePath() {
if (group.icon && group.icon.trim().startsWith("http")) {
const fileName = getFileName(group.icon);
const fileName =
group.name.replaceAll(" ", "") + "-" + getFileName(group.icon);
const iconPath = await downloadIconCache(group.icon, fileName);
setIconCachePath(convertFileSrc(iconPath));
}

View File

@@ -33,7 +33,7 @@ import { LayoutViewer } from "./mods/layout-viewer";
import { UpdateViewer } from "./mods/update-viewer";
import getSystem from "@/utils/get-system";
import { routers } from "@/pages/_routers";
import { appWindow } from "@tauri-apps/api/window";
interface Props {
onError?: (err: Error) => void;
}
@@ -97,6 +97,7 @@ const SettingVerge = ({ onError }: Props) => {
<MenuItem value="zh"></MenuItem>
<MenuItem value="en">English</MenuItem>
<MenuItem value="ru">Русский</MenuItem>
<MenuItem value="fa">فارسی</MenuItem>
</Select>
</GuardState>
</SettingItem>

View File

@@ -18,7 +18,7 @@ import { Notice } from "@/components/base";
import { TestBox } from "./test-box";
import delayManager from "@/services/delay";
import { cmdTestDelay, downloadIconCache } from "@/services/cmds";
import { listen, Event, UnlistenFn } from "@tauri-apps/api/event";
import { listen, UnlistenFn } from "@tauri-apps/api/event";
import { convertFileSrc } from "@tauri-apps/api/tauri";
interface Props {
@@ -48,7 +48,7 @@ export const TestItem = (props: Props) => {
async function initIconCachePath() {
if (icon && icon.trim().startsWith("http")) {
const fileName = getFileName(icon);
const fileName = uid + "-" + getFileName(icon);
const iconPath = await downloadIconCache(icon, fileName);
setIconCachePath(convertFileSrc(iconPath));
}

1
src/locales/fa.json Normal file
View File

@@ -0,0 +1 @@
{}

View File

@@ -3,16 +3,19 @@ import { initReactI18next } from "react-i18next";
import en from "@/locales/en.json";
import ru from "@/locales/ru.json";
import zh from "@/locales/zh.json";
import fa from "@/locales/fa.json";
const resources = {
en: { translation: en },
ru: { translation: ru },
zh: { translation: zh },
fa: { translation: fa },
};
i18n.use(initReactI18next).init({
resources,
lng: "en",
fallbackLng: "en",
interpolation: {
escapeValue: false,
},