Commit Graph

3 Commits

Author SHA1 Message Date
ZyphrZero
a6daa5d728 feat(ui): add settings menu and mask opacity control
- Add SettingsMenu component for quick navigation between settings sections
- Add mask opacity control to adjust overlay transparency
- Optimize search suggestions with immediate response and smooth animations
- Refine component styles for more compact interface
- Fix Translation interface type definition for maskOpacity
- Unify Bilibili API path to simplify environment handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 14:45:36 +08:00
ZyphrZero
7a1815069a 🐛 fix(api): add Vercel serverless function for Bilibili search suggestions
- Create api/bilibili.ts to handle Bilibili API requests in production
  - Proxy requests to https://s.search.bilibili.com/main/suggest
  - Add proper headers (User-Agent, Referer) to avoid blocking
  - Set CORS headers and cache control (60s)
  - Handle errors gracefully with fallback response
- Update src/utils/suggestions.ts to detect environment
  - Use /bilibili (Vite proxy) in development
  - Use /api/bilibili (Vercel Function) in production
  - Check import.meta.env.DEV to determine environment

This fixes the 404 error in production where Vite proxy is not available.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 10:47:35 +08:00
ZyphrZero
2993f9b859 ♻️ refactor: reorganize project structure and centralize search engine config
- Move all source files from root to src/ directory for better organization
- Create src/config/searchEngines.ts to centralize search engine configurations
  - Define unified SearchEngineConfig interface
  - Support both JSONP and Fetch request methods
  - Implement response parsers for Google, Baidu, Bing, DuckDuckGo, and Bilibili
- Refactor src/utils/suggestions.ts to use centralized config
  - Simplify code from 126 lines to 81 lines
  - Support hybrid JSONP/Fetch mode (Bilibili uses Fetch via Vite proxy)
  - Remove duplicate URL construction and parsing logic
- Update path alias configuration
  - Change @/* from ./* to ./src/* in tsconfig.json
  - Update vite.config.ts alias to point to ./src
- Add Bilibili proxy configuration in vite.config.ts for development
- Remove Bilibili rewrites from vercel.json (use Vite proxy instead)
- Add @vercel/node to devDependencies
- Remove unused files: README.md, i18n/README.md, metadata.json, vite-env.d.ts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-05 10:41:17 +08:00