mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-08-01 16:43:37 +08:00
Native buttons across the five directories: 37 -> 14. This is where the badges and empty states were densest. `ConfirmPopover` moves in from `shared/` to `tasks/` — one caller. - `InstallStateBadge` and `SecurityBadge` become their status maps and nothing else, which is what `Badge` exists for. Both also had `success` text on a `success-container` fill; the tone pair fixes a contrast failure neither had noticed. - Long-content badges (hook matchers, package specifiers, file paths) needed `wrap` — badges are single-line by default and these overflowed. - `TaskRow`'s hand-rolled `mousedown` becomes two `useDismissable` calls, one per overlay. Escape now closes them, which it did not before. - `MarketHome`'s error banner keeps its layout but drops `border-[…]/35` + `bg-[…]/25` for solid tokens and gains `role="alert"`. Those alpha modifiers meant the banner had no panel at all on Safari 15. One real regression fixed: `FilterBar`'s filter chips were dead. When `Dropdown` started cloning its trigger to attach ref, aria state and its own `onClick`, `FilterTrigger` — a plain function component forwarding none of it — silently swallowed them, and clicking a chip did nothing. It now forwards. `FilterBar.test.tsx` is the regression anchor; verified it fails with the spread removed. Left native (14): `role="tab"` and `role="option"` elements, whole-card and whole-row click targets, and `DayOfWeekPicker`'s circular day toggles.
Claude Code Haha Desktop
基于 Tauri 2 + React 的桌面客户端。
开发
bun install
bun run tauri dev
构建
# macOS (Apple Silicon)
./scripts/build-macos-arm64.sh
# Windows (x64, MSI only)
.\scripts\build-windows-x64.ps1
构建产物位于 build-artifacts/ 目录,文件名会显式包含平台、架构和包类型。
常见问题
macOS 提示"已损坏,无法打开"
xattr -cr /Applications/Claude\ Code\ Haha.app