@burdenoff/microfe-organization 2026.1026.1 → 2026.1101.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/global-operations.js +57 -58
- package/dist/generated/global-operations.js.map +1 -1
- package/dist/generated/global-types.js +1 -2
- package/dist/generated/global-types.js.map +1 -1
- package/dist/node_modules/sonner/dist/index.js +2 -3
- package/dist/node_modules/sonner/dist/index.js.map +1 -1
- package/dist/node_modules/zod/v4/classic/errors.js +44 -0
- package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.js +7 -0
- package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.js +652 -0
- package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/api.js +429 -0
- package/dist/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.js +143 -0
- package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/zod/v4/core/core.js +84 -0
- package/dist/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.js +29 -0
- package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.js +90 -0
- package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js +285 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/memoizer.js +188 -0
- package/dist/node_modules/zod/v4/core/memoizer.js.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.js +159 -0
- package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.js +34 -0
- package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.js +41 -0
- package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.js +979 -0
- package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js +330 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
- package/dist/node_modules/zod/v4/core/util.js +417 -0
- package/dist/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.js +9 -0
- package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/node_modules/zod/v4/locales/en.js +96 -0
- package/dist/node_modules/zod/v4/locales/en.js.map +1 -0
- package/dist/organization-management/AdminOrganizationRoot.js +13 -10
- package/dist/organization-management/AdminOrganizationRoot.js.map +1 -1
- package/dist/organization-management/AdminOrganizationRoutes.js +8 -9
- package/dist/organization-management/AdminOrganizationRoutes.js.map +1 -1
- package/dist/organization-management/UserOrganizationRoot.js +13 -10
- package/dist/organization-management/UserOrganizationRoot.js.map +1 -1
- package/dist/organization-management/UserOrganizationRoutes.js +1 -2
- package/dist/organization-management/UserOrganizationRoutes.js.map +1 -1
- package/dist/organization-management/constants/permissions.js +1 -2
- package/dist/organization-management/constants/permissions.js.map +1 -1
- package/dist/organization-management/hooks/useOrganizationEventEmitter.js +1 -2
- package/dist/organization-management/hooks/useOrganizationEventEmitter.js.map +1 -1
- package/dist/organization-management/hooks/useOrganizationPageView.js +1 -2
- package/dist/organization-management/hooks/useOrganizationPageView.js.map +1 -1
- package/dist/organization-management/modules/members/components/BulkInviteForm.js +3 -3
- package/dist/organization-management/modules/members/components/BulkInviteForm.js.map +1 -1
- package/dist/organization-management/modules/members/components/InviteMemberForm.js +1 -2
- package/dist/organization-management/modules/members/components/InviteMemberForm.js.map +1 -1
- package/dist/organization-management/modules/members/components/InviteStatusBadge.js +1 -2
- package/dist/organization-management/modules/members/components/InviteStatusBadge.js.map +1 -1
- package/dist/organization-management/modules/members/components/MemberRoleBadge.js +1 -2
- package/dist/organization-management/modules/members/components/MemberRoleBadge.js.map +1 -1
- package/dist/organization-management/modules/members/components/MyInviteCard.js +5 -6
- package/dist/organization-management/modules/members/components/MyInviteCard.js.map +1 -1
- package/dist/organization-management/modules/members/components/PendingInvitesList.js +8 -9
- package/dist/organization-management/modules/members/components/PendingInvitesList.js.map +1 -1
- package/dist/organization-management/modules/members/hooks/useInvites.js +2 -3
- package/dist/organization-management/modules/members/hooks/useInvites.js.map +1 -1
- package/dist/organization-management/modules/members/hooks/useMembers.js +1 -2
- package/dist/organization-management/modules/members/hooks/useMembers.js.map +1 -1
- package/dist/organization-management/modules/members/hooks/useWorkspaceInvites.js +1 -2
- package/dist/organization-management/modules/members/hooks/useWorkspaceInvites.js.map +1 -1
- package/dist/organization-management/modules/members/pages/InviteMemberPage.js +16 -17
- package/dist/organization-management/modules/members/pages/InviteMemberPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/InvitePeoplePage.js +14 -15
- package/dist/organization-management/modules/members/pages/InvitePeoplePage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/MemberDetailPage.js +18 -19
- package/dist/organization-management/modules/members/pages/MemberDetailPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/MembersListPage.js +142 -143
- package/dist/organization-management/modules/members/pages/MembersListPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/MyInvitesPage.js +168 -169
- package/dist/organization-management/modules/members/pages/MyInvitesPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/OrganizationInviteAcceptancePage.js +13 -14
- package/dist/organization-management/modules/members/pages/OrganizationInviteAcceptancePage.js.map +1 -1
- package/dist/organization-management/modules/members/utils/bulkInviteCsv.js +4 -10
- package/dist/organization-management/modules/members/utils/bulkInviteCsv.js.map +1 -1
- package/dist/organization-management/modules/members/utils/workspaceInvitationDisplay.js +1 -2
- package/dist/organization-management/modules/members/utils/workspaceInvitationDisplay.js.map +1 -1
- package/dist/organization-management/modules/organizations/components/OrganizationForm.js +14 -15
- package/dist/organization-management/modules/organizations/components/OrganizationForm.js.map +1 -1
- package/dist/organization-management/modules/organizations/components/OrganizationStatusBadge.js +1 -2
- package/dist/organization-management/modules/organizations/components/OrganizationStatusBadge.js.map +1 -1
- package/dist/organization-management/modules/organizations/hooks/useOrganizations.js +2 -3
- package/dist/organization-management/modules/organizations/hooks/useOrganizations.js.map +1 -1
- package/dist/organization-management/modules/organizations/hooks/useOrgsWithPermission.js +22 -21
- package/dist/organization-management/modules/organizations/hooks/useOrgsWithPermission.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.js +18 -19
- package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js +29 -30
- package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.js +14 -15
- package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js +33 -34
- package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js.map +1 -1
- package/dist/organization-management/modules/organizations/schemas/index.js +11 -12
- package/dist/organization-management/modules/organizations/schemas/index.js.map +1 -1
- package/dist/organization-management/modules/workspaces/components/AddWorkspaceMemberDialog.js +16 -24
- package/dist/organization-management/modules/workspaces/components/AddWorkspaceMemberDialog.js.map +1 -1
- package/dist/organization-management/modules/workspaces/components/WorkspaceCard.js +5 -6
- package/dist/organization-management/modules/workspaces/components/WorkspaceCard.js.map +1 -1
- package/dist/organization-management/modules/workspaces/components/WorkspaceForm.js +31 -32
- package/dist/organization-management/modules/workspaces/components/WorkspaceForm.js.map +1 -1
- package/dist/organization-management/modules/workspaces/components/WorkspaceStatusBadge.js +1 -2
- package/dist/organization-management/modules/workspaces/components/WorkspaceStatusBadge.js.map +1 -1
- package/dist/organization-management/modules/workspaces/hooks/useWorkspaceMembers.js +1 -2
- package/dist/organization-management/modules/workspaces/hooks/useWorkspaceMembers.js.map +1 -1
- package/dist/organization-management/modules/workspaces/hooks/useWorkspaces.js +11 -12
- package/dist/organization-management/modules/workspaces/hooks/useWorkspaces.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.js +18 -19
- package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js +43 -44
- package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.js +19 -20
- package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js +240 -241
- package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/schemas/index.js +6 -7
- package/dist/organization-management/modules/workspaces/schemas/index.js.map +1 -1
- package/dist/organization-management/providers/OrgConsoleProvider.js +1 -2
- package/dist/organization-management/providers/OrgConsoleProvider.js.map +1 -1
- package/dist/organization-management/providers/OrgScopedPermissions.js +1 -2
- package/dist/organization-management/providers/OrgScopedPermissions.js.map +1 -1
- package/dist/organization-management/shared/components/dialog/ConfirmDialog.js +1 -2
- package/dist/organization-management/shared/components/dialog/ConfirmDialog.js.map +1 -1
- package/dist/organization-management/shared/components/dialog/ConfirmDialogView.js +1 -2
- package/dist/organization-management/shared/components/dialog/ConfirmDialogView.js.map +1 -1
- package/dist/organization-management/shared/components/feedback/ErrorState.js +1 -2
- package/dist/organization-management/shared/components/feedback/ErrorState.js.map +1 -1
- package/dist/organization-management/shared/components/feedback/LoadingState.js +1 -2
- package/dist/organization-management/shared/components/feedback/LoadingState.js.map +1 -1
- package/dist/organization-management/shared/components/input/SearchInput.js +1 -2
- package/dist/organization-management/shared/components/input/SearchInput.js.map +1 -1
- package/dist/organization-management/shared/components/input/SelectionCheckbox.js +1 -2
- package/dist/organization-management/shared/components/input/SelectionCheckbox.js.map +1 -1
- package/dist/organization-management/shared/hooks/useDebouncedValue.js +1 -2
- package/dist/organization-management/shared/hooks/useDebouncedValue.js.map +1 -1
- package/dist/organization-management/shared/hooks/useTr.js +1 -2
- package/dist/organization-management/shared/hooks/useTr.js.map +1 -1
- package/dist/organization-management/shared/logger.js +1 -2
- package/dist/organization-management/shared/logger.js.map +1 -1
- package/dist/organization-management/shared/recaptcha.js +1 -2
- package/dist/organization-management/shared/recaptcha.js.map +1 -1
- package/dist/organization-management/shared/types/graphql.js +1 -2
- package/dist/organization-management/shared/types/graphql.js.map +1 -1
- package/dist/utils/nativeBridge.js +1 -2
- package/package.json +7 -6
- package/dist/node_modules/zod/v3/ZodError.js +0 -82
- package/dist/node_modules/zod/v3/ZodError.js.map +0 -1
- package/dist/node_modules/zod/v3/errors.js +0 -10
- package/dist/node_modules/zod/v3/errors.js.map +0 -1
- package/dist/node_modules/zod/v3/helpers/errorUtil.js +0 -9
- package/dist/node_modules/zod/v3/helpers/errorUtil.js.map +0 -1
- package/dist/node_modules/zod/v3/helpers/parseUtil.js +0 -93
- package/dist/node_modules/zod/v3/helpers/parseUtil.js.map +0 -1
- package/dist/node_modules/zod/v3/helpers/util.js +0 -76
- package/dist/node_modules/zod/v3/helpers/util.js.map +0 -1
- package/dist/node_modules/zod/v3/locales/en.js +0 -62
- package/dist/node_modules/zod/v3/locales/en.js.map +0 -1
- package/dist/node_modules/zod/v3/types.js +0 -2441
- package/dist/node_modules/zod/v3/types.js.map +0 -1
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import { toast as e } from "../../../../node_modules/sonner/dist/index.js";
|
|
2
|
+
import { useOrgConsole as t } from "../../../providers/OrgConsoleProvider.js";
|
|
3
|
+
import { useUpdateWorkspace as n, useWorkspace as r } from "../hooks/useWorkspaces.js";
|
|
4
|
+
import { WorkspaceForm as i } from "../components/WorkspaceForm.js";
|
|
5
|
+
import { LoadingState as a } from "../../../shared/components/feedback/LoadingState.js";
|
|
6
|
+
import { ErrorState as o } from "../../../shared/components/feedback/ErrorState.js";
|
|
7
|
+
import { PERMISSIONS as s } from "../../../constants/permissions.js";
|
|
8
|
+
import { useTr as c } from "../../../shared/hooks/useTr.js";
|
|
9
9
|
import { ArrowLeft as l } from "lucide-react";
|
|
10
10
|
import { GlassCard as u, PagePurpose as d } from "@burdenoff/fe-libs/ui";
|
|
11
11
|
import { usePermissions as f } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
12
12
|
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
13
13
|
import { useParams as h } from "react-router";
|
|
14
|
-
|
|
14
|
+
// src/organization-management/modules/workspaces/pages/WorkspaceEditPage.tsx
|
|
15
15
|
function g() {
|
|
16
|
-
let g =
|
|
16
|
+
let g = c(), { id: _ } = h(), { navigate: v, basePath: y = "/organizations" } = t(), { hasPermission: b, isLoading: x } = f(), { workspace: S, loading: C, error: w } = r(_), { updateWorkspace: T, loading: E } = n(), D = async (t) => {
|
|
17
17
|
if (_) try {
|
|
18
|
-
let n = await T(_,
|
|
18
|
+
let n = await T(_, t);
|
|
19
19
|
if (n.errors?.length) throw Error(n.errors[0]?.message ?? g("workspaces.edit.failed", "Failed to update workspace"));
|
|
20
|
-
|
|
21
|
-
} catch (
|
|
22
|
-
|
|
20
|
+
e.success(g("workspaces.edit.success", "Workspace updated successfully")), v(`${y}/workspaces/${_}`);
|
|
21
|
+
} catch (t) {
|
|
22
|
+
e.error(t instanceof Error ? t.message : g("workspaces.edit.failed", "Failed to update workspace"));
|
|
23
23
|
}
|
|
24
24
|
}, O = () => {
|
|
25
25
|
v(`${y}/workspaces/${_}`);
|
|
26
26
|
};
|
|
27
27
|
return x ? /* @__PURE__ */ p("div", {
|
|
28
28
|
className: "min-h-full bg-[var(--color-bg-canvas)] p-6",
|
|
29
|
-
children: /* @__PURE__ */ p(
|
|
30
|
-
}) : b(
|
|
29
|
+
children: /* @__PURE__ */ p(a, { message: g("common.loadingPermissions", "Loading permissions...") })
|
|
30
|
+
}) : b(s.WORKSPACE_UPDATE) ? C ? /* @__PURE__ */ p("div", {
|
|
31
31
|
className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6",
|
|
32
|
-
children: /* @__PURE__ */ p(
|
|
32
|
+
children: /* @__PURE__ */ p(a, { message: g("workspaces.edit.loading", "Loading workspace...") })
|
|
33
33
|
}) : w || !S ? /* @__PURE__ */ p("div", {
|
|
34
34
|
className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6",
|
|
35
|
-
children: /* @__PURE__ */ p(
|
|
35
|
+
children: /* @__PURE__ */ p(o, {
|
|
36
36
|
message: w?.message || g("workspaces.detail.notFound", "Workspace not found"),
|
|
37
37
|
action: {
|
|
38
38
|
label: g("workspaces.create.backToWorkspaces", "Back to Workspaces"),
|
|
@@ -76,7 +76,7 @@ function g() {
|
|
|
76
76
|
treatment: "glass",
|
|
77
77
|
glow: !0,
|
|
78
78
|
className: "border-border-seam p-6",
|
|
79
|
-
children: /* @__PURE__ */ p(
|
|
79
|
+
children: /* @__PURE__ */ p(i, {
|
|
80
80
|
workspace: S,
|
|
81
81
|
onSubmit: D,
|
|
82
82
|
onCancel: O,
|
|
@@ -92,7 +92,6 @@ function g() {
|
|
|
92
92
|
})
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
|
-
//#endregion
|
|
96
95
|
export { g as WorkspaceEditPage };
|
|
97
96
|
|
|
98
97
|
//# sourceMappingURL=WorkspaceEditPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkspaceEditPage.js","names":[],"sources":["../../../../../src/organization-management/modules/workspaces/pages/WorkspaceEditPage.tsx"],"sourcesContent":["import { useParams } from 'react-router';\nimport { ArrowLeft } from 'lucide-react';\nimport { toast } from 'sonner';\nimport { GlassCard, PagePurpose } from '@burdenoff/fe-libs/ui';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useOrgConsole } from '../../../providers/OrgConsoleProvider';\nimport { useWorkspace, useUpdateWorkspace } from '../hooks/useWorkspaces';\nimport { WorkspaceForm } from '../components/WorkspaceForm';\nimport { LoadingState } from '../../../shared/components/feedback/LoadingState';\nimport { ErrorState } from '../../../shared/components/feedback/ErrorState';\nimport { PERMISSIONS } from '../../../constants/permissions';\nimport { useTr } from '../../../shared/hooks/useTr';\nimport type { UpdateWorkspaceInput } from '../types';\n\nexport function WorkspaceEditPage() {\n const tr = useTr();\n const { id } = useParams<{ id: string }>();\n const { navigate, basePath = '/organizations' } = useOrgConsole();\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const { workspace, loading: fetchLoading, error } = useWorkspace(id!);\n const { updateWorkspace, loading: updateLoading } = useUpdateWorkspace();\n\n const handleSubmit = async (data: UpdateWorkspaceInput) => {\n if (!id) return;\n\n try {\n const result = await updateWorkspace(id, data);\n if (result.errors?.length) {\n throw new Error(\n result.errors[0]?.message ?? tr('workspaces.edit.failed', 'Failed to update workspace')\n );\n }\n\n toast.success(tr('workspaces.edit.success', 'Workspace updated successfully'));\n navigate(`${basePath}/workspaces/${id}`);\n } catch (error) {\n toast.error(\n error instanceof Error\n ? error.message\n : tr('workspaces.edit.failed', 'Failed to update workspace')\n );\n }\n };\n\n const handleCancel = () => {\n navigate(`${basePath}/workspaces/${id}`);\n };\n\n if (permissionsLoading) {\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] p-6\">\n <LoadingState message={tr('common.loadingPermissions', 'Loading permissions...')} />\n </div>\n );\n }\n\n if (!hasPermission(PERMISSIONS.WORKSPACE_UPDATE)) {\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] p-6\">\n <div className=\"p-8 text-center text-[var(--color-text-secondary)]\">\n {tr('workspaces.edit.noPermission', \"You don't have permission to edit workspaces.\")}\n </div>\n </div>\n );\n }\n\n if (fetchLoading) {\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6\">\n <LoadingState message={tr('workspaces.edit.loading', 'Loading workspace...')} />\n </div>\n );\n }\n\n if (error || !workspace) {\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6\">\n <ErrorState\n message={error?.message || tr('workspaces.detail.notFound', 'Workspace not found')}\n action={{\n label: tr('workspaces.create.backToWorkspaces', 'Back to Workspaces'),\n onClick: () => navigate(`${basePath}/workspaces`),\n }}\n />\n </div>\n );\n }\n\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6 animate-in fade-in duration-200\">\n <div className=\"mb-6\">\n <button\n type=\"button\"\n onClick={handleCancel}\n className=\"\n inline-flex items-center gap-2 mb-4\n text-[var(--color-text-secondary)]\n hover:text-[var(--color-text-primary)]\n \n transition-all duration-200\n \"\n >\n <ArrowLeft size={20} />\n <span className=\"text-sm font-medium\">\n {tr('common.backTo', 'Back to')} {workspace.name}\n </span>\n </button>\n\n <h1 className=\"text-3xl font-bold text-[var(--color-text-primary)] mb-2\">\n {tr('workspaces.edit.title', 'Edit Workspace')}\n </h1>\n <p className=\"text-[var(--color-text-secondary)]\">\n {tr('workspaces.edit.subtitle', 'Update workspace information')}\n </p>\n <PagePurpose className=\"mt-2 max-w-2xl\">\n {tr(\n 'workspaces.edit.purpose',\n \"Update this workspace's name, slug, and status. Changing the status to inactive or archived controls whether members can keep working in it — use this to wind a workspace down or bring it back.\"\n )}\n </PagePurpose>\n </div>\n\n <div className=\"max-w-2xl\">\n <GlassCard treatment=\"glass\" glow className=\"border-border-seam p-6\">\n <WorkspaceForm\n workspace={workspace}\n onSubmit={handleSubmit}\n onCancel={handleCancel}\n loading={updateLoading}\n />\n </GlassCard>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAcA,
|
|
1
|
+
{"version":3,"file":"WorkspaceEditPage.js","names":["WorkspaceEditPage","tr","useTr","useParams","useOrgConsole","permissionsLoading","usePermissions","fetchLoading","useWorkspace","id","updateLoading","useUpdateWorkspace","handleSubmit","result","updateWorkspace","data","toast","navigate","basePath","error","handleCancel","LoadingState","hasPermission","PERMISSIONS","workspace","ErrorState","ArrowLeft","PagePurpose","GlassCard","WorkspaceForm"],"sources":["../../../../../src/organization-management/modules/workspaces/pages/WorkspaceEditPage.tsx"],"sourcesContent":["import { useParams } from 'react-router';\nimport { ArrowLeft } from 'lucide-react';\nimport { toast } from 'sonner';\nimport { GlassCard, PagePurpose } from '@burdenoff/fe-libs/ui';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useOrgConsole } from '../../../providers/OrgConsoleProvider';\nimport { useWorkspace, useUpdateWorkspace } from '../hooks/useWorkspaces';\nimport { WorkspaceForm } from '../components/WorkspaceForm';\nimport { LoadingState } from '../../../shared/components/feedback/LoadingState';\nimport { ErrorState } from '../../../shared/components/feedback/ErrorState';\nimport { PERMISSIONS } from '../../../constants/permissions';\nimport { useTr } from '../../../shared/hooks/useTr';\nimport type { UpdateWorkspaceInput } from '../types';\n\nexport function WorkspaceEditPage() {\n const tr = useTr();\n const { id } = useParams<{ id: string }>();\n const { navigate, basePath = '/organizations' } = useOrgConsole();\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const { workspace, loading: fetchLoading, error } = useWorkspace(id!);\n const { updateWorkspace, loading: updateLoading } = useUpdateWorkspace();\n\n const handleSubmit = async (data: UpdateWorkspaceInput) => {\n if (!id) return;\n\n try {\n const result = await updateWorkspace(id, data);\n if (result.errors?.length) {\n throw new Error(\n result.errors[0]?.message ?? tr('workspaces.edit.failed', 'Failed to update workspace')\n );\n }\n\n toast.success(tr('workspaces.edit.success', 'Workspace updated successfully'));\n navigate(`${basePath}/workspaces/${id}`);\n } catch (error) {\n toast.error(\n error instanceof Error\n ? error.message\n : tr('workspaces.edit.failed', 'Failed to update workspace')\n );\n }\n };\n\n const handleCancel = () => {\n navigate(`${basePath}/workspaces/${id}`);\n };\n\n if (permissionsLoading) {\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] p-6\">\n <LoadingState message={tr('common.loadingPermissions', 'Loading permissions...')} />\n </div>\n );\n }\n\n if (!hasPermission(PERMISSIONS.WORKSPACE_UPDATE)) {\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] p-6\">\n <div className=\"p-8 text-center text-[var(--color-text-secondary)]\">\n {tr('workspaces.edit.noPermission', \"You don't have permission to edit workspaces.\")}\n </div>\n </div>\n );\n }\n\n if (fetchLoading) {\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6\">\n <LoadingState message={tr('workspaces.edit.loading', 'Loading workspace...')} />\n </div>\n );\n }\n\n if (error || !workspace) {\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6\">\n <ErrorState\n message={error?.message || tr('workspaces.detail.notFound', 'Workspace not found')}\n action={{\n label: tr('workspaces.create.backToWorkspaces', 'Back to Workspaces'),\n onClick: () => navigate(`${basePath}/workspaces`),\n }}\n />\n </div>\n );\n }\n\n return (\n <div className=\"min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6 animate-in fade-in duration-200\">\n <div className=\"mb-6\">\n <button\n type=\"button\"\n onClick={handleCancel}\n className=\"\n inline-flex items-center gap-2 mb-4\n text-[var(--color-text-secondary)]\n hover:text-[var(--color-text-primary)]\n \n transition-all duration-200\n \"\n >\n <ArrowLeft size={20} />\n <span className=\"text-sm font-medium\">\n {tr('common.backTo', 'Back to')} {workspace.name}\n </span>\n </button>\n\n <h1 className=\"text-3xl font-bold text-[var(--color-text-primary)] mb-2\">\n {tr('workspaces.edit.title', 'Edit Workspace')}\n </h1>\n <p className=\"text-[var(--color-text-secondary)]\">\n {tr('workspaces.edit.subtitle', 'Update workspace information')}\n </p>\n <PagePurpose className=\"mt-2 max-w-2xl\">\n {tr(\n 'workspaces.edit.purpose',\n \"Update this workspace's name, slug, and status. Changing the status to inactive or archived controls whether members can keep working in it — use this to wind a workspace down or bring it back.\"\n )}\n </PagePurpose>\n </div>\n\n <div className=\"max-w-2xl\">\n <GlassCard treatment=\"glass\" glow className=\"border-border-seam p-6\">\n <WorkspaceForm\n workspace={workspace}\n onSubmit={handleSubmit}\n onCancel={handleCancel}\n loading={updateLoading}\n />\n </GlassCard>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;AAcA,SAAgBA,IAAoB;CAClC,IAAMC,IAAKC,EAAM,GACX,EAAE,UAAOC,EAA0B,GACnC,EAAE,aAAU,cAAW,qBAAqBC,EAAc,GAC1D,EAAE,kBAAe,WAAWC,MAAuBC,EAAe,GAClE,EAAE,cAAW,SAASC,GAAc,aAAUC,EAAaC,CAAG,GAC9D,EAAE,oBAAiB,SAASC,MAAkBC,EAAmB,GAEjEC,IAAe,OAAO,MAA+B;EACzD,IAAKH,GAEL,IAAI;GACF,IAAMI,IAAS,MAAMC,EAAgBL,GAAIM,CAAI;GAC7C,IAAIF,EAAO,QAAQ,QACjB,MAAU,MACRA,EAAO,OAAO,EAAE,EAAE,WAAWZ,EAAG,0BAA0B,4BAA4B,CACxF;GAIF,AADAe,EAAM,QAAQf,EAAG,2BAA2B,gCAAgC,CAAC,GAC7EgB,EAAS,GAAGC,EAAS,cAAcT,GAAI;EACzC,SAASU,GAAO;GACd,EAAM,MACJA,aAAiB,QACbA,EAAM,UACNlB,EAAG,0BAA0B,4BAA4B,CAC/D;EACF;CACF,GAEMmB,UAAqB;EACzB,EAAS,GAAGF,EAAS,cAAcT,GAAI;CACzC;CA0CA,OAxCIJ,IAEA,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAACgB,GAAD,EAAc,SAASpB,EAAG,6BAA6B,wBAAwB,EAAI,CAAA;CAChF,CAAA,IAIJqB,EAAcC,EAAY,gBAAgB,IAU3ChB,IAEA,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAACc,GAAD,EAAc,SAASpB,EAAG,2BAA2B,sBAAsB,EAAI,CAAA;CAC5E,CAAA,IAILkB,KAAS,CAACK,IAEV,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAACC,GAAD;GACE,SAASN,GAAO,WAAWlB,EAAG,8BAA8B,qBAAqB;GACjF,QAAQ;IACN,OAAOA,EAAG,sCAAsC,oBAAoB;IACpE,eAAegB,EAAS,GAAGC,EAAS,YAAY;GAClD;EACD,CAAA;CACE,CAAA,IAKP,kBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,kBAAC,OAAD;GAAK,WAAU;GAAf,UAAA;IACE,kBAAC,UAAD;KACE,MAAK;KACL,SAASE;KACT,WAAU;KAHZ,UAAA,CAWE,kBAACM,GAAD,EAAW,MAAM,GAAK,CAAA,GACtB,kBAAC,QAAD;MAAM,WAAU;MAAhB,UAAA;OACGzB,EAAG,iBAAiB,SAAS;OAAE;OAAEuB,EAAU;MACxC;KACA,CAAA,CAAA;;IAER,kBAAC,MAAD;KAAI,WAAU;KACX,UAAAvB,EAAG,yBAAyB,gBAAgB;IAC3C,CAAA;IACJ,kBAAC,KAAD;KAAG,WAAU;KACV,UAAAA,EAAG,4BAA4B,8BAA8B;IAC7D,CAAA;IACH,kBAAC0B,GAAD;KAAa,WAAU;KACpB,UAAA1B,EACC,2BACA,mMACF;IACW,CAAA;GACV;EAEL,CAAA,GAAA,kBAAC,OAAD;GAAK,WAAU;GACb,UAAA,kBAAC2B,GAAD;IAAW,WAAU;IAAQ,MAAA;IAAK,WAAU;IAC1C,UAAA,kBAACC,GAAD;KACa;KACX,UAAUjB;KACV,UAAUQ;KACV,SAASV;IACV,CAAA;GACQ,CAAA;EACR,CAAA,CACF;C,KA1EH,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAAC,OAAD;GAAK,WAAU;GACZ,UAAAT,EAAG,gCAAgC,+CAA+C;EAChF,CAAA;CACF,CAAA;AAwEX"}
|