feat(sidebar): replicate WorkBuddy task context menu (TODO 01)
Replace the sidebar delete button with the original task menu: pin/unpin, rename, open in a separate window, open folder, archive and delete. Source: REA ev_f5e9d71a676c453daab40928acfb33aeabae68ba57ffda342380cead7f1a1fe2 (WorkBuddy 5.8.3 task menu, open state) supplies the container/item geometry, the two dividers, danger colour and every item icon. Verified by scripts/verify-task-menu.cjs: 33 assertions in a real isolated Electron app (real preload/IPC/filesystem), including menu geometry, anchor offset, pin/rename/archive persistence, open-folder target and the separate window query. typecheck, test:conversation and build pass.
This commit is contained in:
1 parent
e365e830cf
commit
e335588826
15 files changed
+821
-31
No files matched your search
@@ -139,11 +139,16 @@ const api: YCodeApi = {
|
||||
speech: { transcribe: (payload) => ipcRenderer.invoke('speech:transcribe', payload) },
|
||||
session: {
|
||||
list: () => ipcRenderer.invoke('session:list'),
|
||||
listArchived: () => ipcRenderer.invoke('session:list-archived'),
|
||||
create: (title, context) => ipcRenderer.invoke('session:create', title, context),
|
||||
updateContext: (id, context) => ipcRenderer.invoke('session:update-context', id, context),
|
||||
messages: (sessionId: string) => ipcRenderer.invoke('session:messages', sessionId),
|
||||
rename: (sessionId: string, title: string) => ipcRenderer.invoke('session:rename', sessionId, title),
|
||||
remove: (sessionId: string) => ipcRenderer.invoke('session:delete', sessionId)
|
||||
remove: (sessionId: string) => ipcRenderer.invoke('session:delete', sessionId),
|
||||
setPinned: (sessionId: string, pinned: boolean) => ipcRenderer.invoke('session:set-pinned', sessionId, pinned),
|
||||
setArchived: (sessionId: string, archived: boolean) => ipcRenderer.invoke('session:set-archived', sessionId, archived),
|
||||
openFolder: (sessionId: string) => ipcRenderer.invoke('session:open-folder', sessionId),
|
||||
openWindow: (sessionId: string) => ipcRenderer.invoke('session:open-window', sessionId)
|
||||
},
|
||||
chat: {
|
||||
revert: (sessionId, userMessageId) => ipcRenderer.invoke('chat:revert', sessionId, userMessageId),
|
||||
|
||||
Reference in new issue
Block a user