Add org switcher with create, switch, and delete
The sidebar org button was inert: clicking it did nothing. Add a real dropdown menu listing every organization, a "New organization" entry that re-enters onboarding without resetting the database, and a per-org delete affordance with inline confirmation. Active org is now persisted in a single-row app_state table so the snapshot keeps a stable selection across restarts and the renderer drives switching via two new IPC channels (setActiveOrganization, deleteOrganization). - migration 006 adds app_state(id=1, active_org_id, updated_at) - snapshot resolves active org from app_state with the first-org fallback - OrganizationService gains setActive + delete + bootstrap upsert - new OrgSwitcher renderer component keeps Shell.tsx lean
This commit is contained in:
1 parent
060fddf852
commit
f2ac1be5de
14 files changed
+385
-16
No files matched your search
@@ -67,6 +67,8 @@ export function registerIpcHandlers(deps: IpcDeps): void {
|
||||
});
|
||||
|
||||
ipcMain.handle(IPC_CHANNELS.createOrganization, (_event, input) => mutate(() => organization.createOrganization(input)));
|
||||
ipcMain.handle(IPC_CHANNELS.setActiveOrganization, (_event, input) => mutate(() => organization.setActiveOrganization(input.orgId)));
|
||||
ipcMain.handle(IPC_CHANNELS.deleteOrganization, (_event, input) => mutate(() => organization.deleteOrganization(input.orgId)));
|
||||
ipcMain.handle(IPC_CHANNELS.createAgent, (_event, input) => mutate(() => organization.createAgent(input)));
|
||||
ipcMain.handle(IPC_CHANNELS.createTask, (_event, input) => mutate(() => organization.createTask(input)));
|
||||
ipcMain.handle(IPC_CHANNELS.updateTaskStatus, (_event, input) => mutate(() => organization.updateTaskStatus(input.orgId, input.taskId, input.status)));
|
||||
|
||||
Reference in new issue
Block a user