storebound/apps/desktop
CRT 5236f002f1 desktop: tray menu panels and pinnable context menus
The tray's right-click menu is drawn by the app: one tree from tray.rs
(stable submenu keys), one frameless always-on-top menu-N window per
panel rendered by tray-menu.html with the design system, placed inside
the monitor's work area. A pure panel book keeps transient and pinned
panels apart; pinned panels (pin button, Ctrl+click, middle click) are
draggable, step aside from each other and are saved in state.json
(menuPins) and restored at start. tray_update pushes the tree to the
open panels, which update in place; closed panels are destroyed. The
native menu, rendered from the same tree, stays as the fallback and on
Linux. Only menu-* windows get the menu_* commands (menu.json).

In-app context menus get the same behaviour through a pure menu stack
(ui/menu-stack.ts): pin a menu, tear off a submenu, pinned panels
survive the next menu, are draggable and re-read their entries from
live sources so data changes update them in place.

Also drops a stray diff3 marker line from CHANGELOG.md.
2026-10-24 13:44:08 +08:00
..
build Desktop: never a blank window (frozen-prototype fix, error screens, logs, state migration, boot check) 2026-10-11 09:36:34 +08:00
public desktop: the notification plugin's refused is_permission_granted probe at page load (macOS, Linux; the webview has no plugin API) is no longer logged as a start error in webview.log 2026-10-13 02:09:58 +08:00
scripts desktop: Prices, Store art, Growth and App info tabs, exports at the top right and in the command palette, studio and fastlane steps in the first-run guide, fix hints on errors; fixtures, screenshots, tests, UX audit in docs/desktop.md 2026-10-11 07:40:59 +08:00
src desktop: tray menu panels and pinnable context menus 2026-10-24 13:44:08 +08:00
src-tauri desktop: tray menu panels and pinnable context menus 2026-10-24 13:44:08 +08:00
tests desktop: tray menu panels and pinnable context menus 2026-10-24 13:44:08 +08:00
card.html Desktop: tray mini card on left click (store status at a glance next to the tray icon; Refresh runs the main window's Refresh all) 2026-10-23 11:15:35 +08:00
index.html Desktop: never a blank window (frozen-prototype fix, error screens, logs, state migration, boot check) 2026-10-11 09:36:34 +08:00
package.json storebound 0.8.47: version in package.json and every copy, CHANGELOG 0.8.47 section 2026-10-23 16:03:29 +07:00
tray-menu.html desktop: tray menu panels and pinnable context menus 2026-10-24 13:44:08 +08:00
tsconfig.json Desktop app shell (apps/desktop): Tauri 2 + React 19 around the storebound sidecar 2026-10-11 01:57:33 +08:00
vite.config.ts desktop: tray menu panels and pinnable context menus 2026-10-24 13:44:08 +08:00