feat(invite): show toast when invited to workspace
member:added event now includes workspace_name. Frontend shows a toast notification when the current user is invited. Also clears stale member list on workspace switch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4914f1d5dd
commit
8d34e079e8
4 changed files with 11 additions and 4 deletions
|
|
@ -96,11 +96,13 @@ export function useRealtimeSync(ws: WSClient | null) {
|
|||
});
|
||||
|
||||
const unsubMemberAdded = ws.on("member:added", (p) => {
|
||||
const { member } = p as MemberAddedPayload;
|
||||
const { member, workspace_name } = p as MemberAddedPayload;
|
||||
const myUserId = useAuthStore.getState().user?.id;
|
||||
if (member.user_id === myUserId) {
|
||||
// I was invited to a new workspace — refresh workspace list
|
||||
useWorkspaceStore.getState().refreshWorkspaces();
|
||||
toast.info(
|
||||
`You were invited to ${workspace_name ?? "a workspace"}`,
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ export const useWorkspaceStore = create<WorkspaceStore>((set, get) => ({
|
|||
// Clear stale data from other stores before switching
|
||||
useIssueStore.getState().setIssues([]);
|
||||
useInboxStore.getState().setItems([]);
|
||||
set({ agents: [], skills: [] });
|
||||
set({ members: [], agents: [], skills: [] });
|
||||
|
||||
await hydrateWorkspace(workspaces, ws.id);
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue