Files
Memoh/apps/desktop/tsconfig.web.json
T
Acbox 46365726b9 feat: introduce electron desktop app (#405)
* refactor: use Electron instead of Tauri

* feat: two level windows and self-managed vite project

* feat(desktop): macOS hidden-inset chrome and floating chat title

Apply hiddenInset titleBarStyle on darwin so the system titlebar is hidden
but native traffic lights remain. Reusable web sidebars inject a new
DesktopShellKey to reserve a 36px TopBar that holds the traffic-light
inset (drag region + right border) without colliding with the bot list,
and the sidebar stays pinned open in the Electron shell so window resize
doesn't fight the layout.

Overlay a centered "Title - BotName" header above the chat content with a
bottom shadow gradient that obscures scrolling messages, and reserve top
padding so the first message stays visible when content fits the viewport.
Route the sidebar + action by path (/settings/bots) so the chat router's
/settings/* interception forwards it to the settings window cleanly while
remaining a normal navigation in web.

* docs(desktop): add AGENTS.md for Electron shell

Document the multi-window architecture, web reuse strategy, type-stubbing
trick, macOS chrome, IPC surface, routing, icons, and packaging — captures
the non-obvious bits that bit us during the Tauri → Electron refactor so
future agents don't relearn them.
2026-04-25 12:16:23 +08:00

20 lines
482 B
JSON

{
"extends": "@vue/tsconfig/tsconfig.dom.json",
"include": [
"src/renderer/src/**/*",
"src/renderer/src/**/*.vue",
"src/renderer/types/**/*.d.ts",
"src/preload/*.d.ts"
],
"compilerOptions": {
"composite": true,
"types": ["vite/client"],
"baseUrl": ".",
"paths": {
"@renderer/*": ["src/renderer/src/*"],
"@memohai/web/*": ["src/renderer/types/web-stubs.d.ts"],
"@memohai/ui": ["src/renderer/types/ui-stubs.d.ts"]
}
}
}