Commit Graph

23 Commits

Author SHA1 Message Date
xintaofei
268b33d2ee fix(macos): update TRAFFIC_LIGHT_Y 2026-04-13 21:01:20 +08:00
xintaofei
41b28001af fix(frontend,macos): reduce dark mode white flash on window open
Detect dark/light mode before React hydrates to eliminate the visible
white-to-dark flash when opening windows in dark mode.

Frontend:
- Inline script now reads next-themes localStorage key and applies
  .dark class, colorScheme, and backgroundColor on <html> before first
  paint
- Add CSS-only fallback via prefers-color-scheme media query in an
  inline <style> tag that fires before any JS executes

macOS backend:
- Detect system dark mode via `defaults read -g AppleInterfaceStyle`
  (cached with OnceLock) and set native window background color to
  match dark theme in apply_platform_window_style
- Persist user appearance mode preference (dark/light/system) to DB
  alongside zoom level so new windows use the correct background
- Add update_appearance_mode Tauri command; frontend syncs on mount,
  on settings change, and on cross-window storage events

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 11:15:13 +08:00
xintaofei
e05ae76453 fix(macos): persist zoom level to DB so traffic lights use correct position on launch
Previously the welcome window (or any startup window) always used the
default CURRENT_ZOOM of 100, ignoring the user's saved zoom preference
stored in frontend localStorage. Now update_traffic_light_position also
writes the zoom value to the app_metadata DB, and setup() reads it back
before creating any window.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 10:10:09 +08:00
xintaofei
17bae372a1 fix(macos): adjust traffic-light Y baseline from 18 to 17 for better vertical alignment
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 09:38:37 +08:00
xintaofei
843cf8df19 feat(macos): set traffic-light position via Tauri builder API and sync with zoom
Use Tauri's native `traffic_light_position()` builder method to position
macOS window controls instead of runtime objc2 calls. A global AtomicU32
tracks the current zoom level so newly created windows reflect the latest
zoom. The frontend syncs zoom changes to the backend via a new
`update_traffic_light_position` command.

- Add `traffic_light_position()` to `apply_platform_window_style` builder
- Add `CURRENT_ZOOM` atomic and `traffic_light_position()` helper
- Register `update_traffic_light_position` Tauri command
- Add `syncTrafficLightPosition` in appearance-provider to sync on zoom
  change, mount, and cross-tab storage events
- Consolidate `ensure_windows_undecorated` calls into `post_window_setup`
- Remove dead `on_window_resized` no-op and its Resized event listener

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 18:11:40 +08:00
xintaofei
c34eb84caa fix(settings): default to appearance section instead of system
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 17:38:18 +08:00
xintaofei
080a16f26c 支持无GUI的Server运行模式 2026-03-29 18:36:30 +08:00
xintaofei
ea77c5b0e8 folder增加项目启动器入口,优化窗口跳转 2026-03-27 15:25:55 +08:00
xintaofei
c2f850532a 优化创建项目的后端处理 2026-03-27 13:17:26 +08:00
xintaofei
7c89e150f9 初始化项目启动器代码 2026-03-27 13:05:27 +08:00
xintaofei
20c5bb4944 去掉设置窗口打开时强制置顶逻辑,以及去掉禁用其它窗口逻辑 2026-03-25 23:42:08 +08:00
xintaofei
ac09d3db9e 初始化web服务功能 2026-03-25 14:26:26 +08:00
xintaofei
d9032f1c82 添加git推送窗口,显示待提交列表和查看文件差异 2026-03-21 20:37:19 +08:00
xintaofei
d03be55c6b 增强git贮藏(stash)功能,支持可视化操作 2026-03-15 22:09:05 +08:00
xintaofei
2b679b5ba8 优化代码冲突解决 2026-03-14 21:17:26 +08:00
xintaofei
4129f02985 支持git冲突时弹出窗口合并代码解决冲突 2026-03-14 20:55:15 +08:00
xintaofei
46b276443b 代码警告消除和优化 2026-03-09 10:05:22 +08:00
xintaofei
5b416bd3bf 修复folder窗口的大小状态未保持上次的位置和状态 2026-03-08 20:40:59 +08:00
xintaofei
b1ea16fae0 移除Unknown错误码 2026-03-07 17:55:06 +08:00
xintaofei
349845c137 folders.rs多语言处理 2026-03-07 15:59:14 +08:00
xintaofei
07963e9706 后端通用错误处理 2026-03-07 12:51:23 +08:00
xintaofei
6c48be023c 欢迎页面支持多语言 2026-03-07 12:17:57 +08:00
xggz
54d1097b41 Initial commit 2026-03-06 22:56:13 +08:00