diff --git a/.gitea/workflows/Create Release.yml b/.gitea/workflows/Create Release.yml
index bdb54ae..072dc2c 100644
--- a/.gitea/workflows/Create Release.yml
+++ b/.gitea/workflows/Create Release.yml
@@ -140,9 +140,9 @@ jobs:
# Windows
zip gotunnel-server-${VERSION}-windows-amd64.zip gotunnel-server-windows-amd64.exe
zip gotunnel-client-${VERSION}-windows-amd64.zip gotunnel-client-windows-amd64.exe
-
- # Clean up raw binaries
- rm gotunnel-server-* gotunnel-client-* 2>/dev/null || true
+
+ # Clean up raw binaries, keep only archives and checksums
+ find . -type f ! -name "*.tar.gz" ! -name "*.zip" ! -name "SHA256SUMS" -delete
cd ..
diff --git a/web/src/App.vue b/web/src/App.vue
index 6d64738..46b17c9 100644
--- a/web/src/App.vue
+++ b/web/src/App.vue
@@ -4,11 +4,11 @@ import { RouterView, useRouter, useRoute } from 'vue-router'
import {
NLayout, NLayoutHeader, NLayoutContent, NLayoutSider, NMenu,
NButton, NIcon, NConfigProvider, NMessageProvider,
- NDialogProvider, NGlobalStyle, type GlobalThemeOverrides
+ NDialogProvider, NGlobalStyle, NDropdown, NAvatar, type GlobalThemeOverrides
} from 'naive-ui'
import {
HomeOutline, ExtensionPuzzleOutline, LogOutOutline,
- ServerOutline, MenuOutline
+ ServerOutline, MenuOutline, PersonCircleOutline
} from '@vicons/ionicons5'
import type { MenuOption } from 'naive-ui'
import { getServerStatus, removeToken, getToken } from './api'
@@ -69,6 +69,21 @@ const logout = () => {
router.push('/login')
}
+// User dropdown menu options
+const userDropdownOptions = [
+ {
+ label: '退出登录',
+ key: 'logout',
+ icon: () => h(NIcon, null, { default: () => h(LogOutOutline) })
+ }
+]
+
+const handleUserDropdown = (key: string) => {
+ if (key === 'logout') {
+ logout()
+ }
+}
+
// Theme Overrides
const themeOverrides: GlobalThemeOverrides = {
common: {
@@ -131,10 +146,13 @@ const themeOverrides: GlobalThemeOverrides = {
管理已安装扩展和浏览扩展商店
+管理已安装插件和浏览插件商店