From da13c7b75909a973b0095a103a9e6ed05f31faad Mon Sep 17 00:00:00 2001 From: Savoki <7021254@gmail.com> Date: Mon, 1 Sep 2025 15:24:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(Header):=20=E2=9C=A8=20Add=20drag=20and=20?= =?UTF-8?q?no-drag=20regions=20for=20desktop=20app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Implemented `.hd-drag` and `.hd-btns` classes for better window management in the Electron app. * Updated `Header.tsx` to utilize these new classes for improved user experience. --- .gitignore | 5 ++++- package.json | 4 +++- scripts/{build-desktop.js => build-desktop.cjs} | 6 +++--- src/components/Header.tsx | 6 +++--- src/index.css | 10 ++++++++++ vite.config.ts | 2 ++ 6 files changed, 25 insertions(+), 8 deletions(-) rename scripts/{build-desktop.js => build-desktop.cjs} (95%) diff --git a/.gitignore b/.gitignore index 7ceb59f..58c7279 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,8 @@ pnpm-debug.log* lerna-debug.log* node_modules -dist +dist/* + dist-ssr *.local @@ -23,3 +24,5 @@ dist-ssr *.sln *.sw? .env +release +electron \ No newline at end of file diff --git a/package.json b/package.json index 5ededb5..6601157 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "build": "vite build", "lint": "eslint .", "preview": "vite preview", - "build:desktop": "node scripts/build-desktop.js", + "build:desktop": "node scripts/build-desktop.cjs", "electron": "electron electron/main.js", "electron:dev": "NODE_ENV=development electron electron/main.js", "dist": "electron-builder", @@ -28,6 +28,8 @@ "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", "autoprefixer": "^10.4.18", + "electron": "^37.4.0", + "electron-builder": "^26.0.12", "eslint": "^9.9.1", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.11", diff --git a/scripts/build-desktop.js b/scripts/build-desktop.cjs similarity index 95% rename from scripts/build-desktop.js rename to scripts/build-desktop.cjs index 3e23174..61a9b91 100644 --- a/scripts/build-desktop.js +++ b/scripts/build-desktop.cjs @@ -8,7 +8,7 @@ console.log('🚀 开始构建桌面应用...'); // 1. 构建Web应用 console.log('📦 构建Web应用...'); -execSync('npm run build', { stdio: 'inherit' }); +execSync('pnpm run build', { stdio: 'inherit' }); // 2. 创建Electron目录和文件 console.log('⚡ 设置Electron环境...'); @@ -37,7 +37,7 @@ function createWindow() { enableRemoteModule: false, webSecurity: true }, - icon: path.join(__dirname, '../dist/vite.svg'), + icon: path.join(__dirname, '../dist/icon.svg'), titleBarStyle: process.platform === 'darwin' ? 'hiddenInset' : 'default', show: false }); @@ -162,7 +162,7 @@ fs.writeFileSync( // 5. 安装Electron依赖 console.log('📥 安装Electron依赖...'); try { - execSync('npm install --save-dev electron electron-builder', { stdio: 'inherit' }); + execSync('pnpm install --save-dev electron electron-builder', { stdio: 'inherit' }); } catch (error) { console.error('安装依赖失败:', error.message); process.exit(1); diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 9da4b81..8483cd7 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -98,7 +98,7 @@ export const Header: React.FC = () => { const t = (zh: string, en: string) => language === 'zh' ? zh : en; return ( -
+
{/* Logo and Title */} @@ -121,7 +121,7 @@ export const Header: React.FC = () => {
{/* Navigation */} -