Initial ui theming (#2145)
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Introduces initial UI theming with per-app theme selection and a default
theme in settings. Theme rules are added to prompts so generated UIs
follow the chosen design.
- **New Features**
- Theme picker in AuxiliaryActionsMenu with app-specific selection and
visual check.
- New hooks: useThemes and useAppTheme (React Query) with IPC get/set
handlers.
- Themes data and prompts added (includes “No Theme” and “Default
Theme”).
- Theme prompt appended to system and local-agent prompts; included in
token counting.
- Settings now support a default theme (selectedThemeId) applied to new
apps.
- **Migration**
- Adds apps.theme_id (NULL means no theme).
<sup>Written for commit f4ef96ccd02a3d9148bd4e570d2204c7b5a12c10.
Summary will update on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Introduces initial theming with persistence and prompt influence.
>
> - UI: Adds Themes submenu in `AuxiliaryActionsMenu` (supports "No
Theme" and `default`, app-specific or global via settings)
> - Data/IPC: New `apps.theme_id` column (nullable), hooks
`useThemes`/`useAppTheme`, IPC handlers (`get-themes`, `set-app-theme`,
`get-app-theme`) wired through `ipc_client`, `ipc_host`, and `preload`
> - Settings: Adds `selectedThemeId` with default applied to newly
created apps
> - Prompting: Appends theme prompt (`getThemePrompt`) to
system/local-agent prompts and token counting
> - Integration: `ChatInput` passes `appId` to menu; `schema.ts` updated
> - Tests: E2E verifies default and per-app theme persistence
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
ee9ba34aad48f8dc49013e01247cfdcff1b77fad. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
正在显示
drizzle/0021_kind_luckman.sql
0 → 100644
drizzle/meta/0021_snapshot.json
0 → 100644
差异被折叠。
e2e-tests/theme_selection.spec.ts
0 → 100644
src/hooks/useAppTheme.ts
0 → 100644
src/hooks/useThemes.ts
0 → 100644
src/shared/themes.ts
0 → 100644
请
注册
或者
登录
后发表评论