- Thread workspaceId into fetchDomains() so X-Workspace-Id header is sent
- Guard useEffect against null workspaceId with early return; add workspaceId to dep array
- Add catch block in handleCreate to surface errors via setError
- Remove console.log from handleEdit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Implement create domain dialog on settings/domains page with name,
slug (auto-generated from name), and description fields
- Add workspaceId parameter to createDomain, updateDomain, and
deleteDomain API functions so the X-Workspace-Id header is sent
- Use useWorkspaceId hook in domains page so the workspace context
is available for all domain mutations
Project creation (SS-WS-002) already passes workspaceId via
useWorkspaceId hook in projects/page.tsx — no changes needed there.
Fixes#534
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>