@burdenoff/microfe-organization 2026.625.3 → 2026.626.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/organization-management/modules/members/pages/InviteMemberPage.js +58 -53
- package/dist/organization-management/modules/members/pages/InviteMemberPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/InvitePeoplePage.js +47 -40
- package/dist/organization-management/modules/members/pages/InvitePeoplePage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/MemberDetailPage.js +72 -68
- package/dist/organization-management/modules/members/pages/MemberDetailPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/MembersListPage.js +216 -208
- package/dist/organization-management/modules/members/pages/MembersListPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/MyInvitesPage.js +164 -158
- package/dist/organization-management/modules/members/pages/MyInvitesPage.js.map +1 -1
- package/dist/organization-management/modules/members/pages/OrganizationInviteAcceptancePage.js +132 -128
- package/dist/organization-management/modules/members/pages/OrganizationInviteAcceptancePage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.js +42 -37
- package/dist/organization-management/modules/organizations/pages/OrganizationCreatePage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js +310 -258
- package/dist/organization-management/modules/organizations/pages/OrganizationDetailPage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.js +52 -47
- package/dist/organization-management/modules/organizations/pages/OrganizationEditPage.js.map +1 -1
- package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js +66 -59
- package/dist/organization-management/modules/organizations/pages/OrganizationsListPage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.js +43 -38
- package/dist/organization-management/modules/workspaces/pages/WorkspaceCreatePage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js +315 -258
- package/dist/organization-management/modules/workspaces/pages/WorkspaceDetailPage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.js +50 -45
- package/dist/organization-management/modules/workspaces/pages/WorkspaceEditPage.js.map +1 -1
- package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js +246 -238
- package/dist/organization-management/modules/workspaces/pages/WorkspacesListPage.js.map +1 -1
- package/package.json +2 -2
|
@@ -10,12 +10,12 @@ import { useWorkspacesByOrganization as c } from "../../workspaces/hooks/useWork
|
|
|
10
10
|
import { WorkspaceCard as l } from "../../workspaces/components/WorkspaceCard.js";
|
|
11
11
|
import { useMemo as u, useState as d } from "react";
|
|
12
12
|
import { ArrowLeft as f, Briefcase as p, Building as m, Edit as h, UserPlus as g, Users as _ } from "lucide-react";
|
|
13
|
-
import { CTAOverflowMenu as v, EmphasisPanel as y, GlassCard as b, IllustratedEmptyState as x } from "@burdenoff/fe-libs/ui";
|
|
14
|
-
import { usePermissions as
|
|
15
|
-
import { jsx as
|
|
16
|
-
import { useParams as
|
|
13
|
+
import { CTAOverflowMenu as v, EmphasisPanel as y, GlassCard as b, IllustratedEmptyState as x, NextSteps as S, PagePurpose as C } from "@burdenoff/fe-libs/ui";
|
|
14
|
+
import { usePermissions as w } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
15
|
+
import { jsx as T, jsxs as E } from "react/jsx-runtime";
|
|
16
|
+
import { useParams as D } from "react-router-dom";
|
|
17
17
|
//#region src/organization-management/modules/organizations/pages/OrganizationDetailPage.tsx
|
|
18
|
-
function
|
|
18
|
+
function O(e) {
|
|
19
19
|
return new Date(e).toLocaleDateString("en-US", {
|
|
20
20
|
year: "numeric",
|
|
21
21
|
month: "long",
|
|
@@ -24,295 +24,347 @@ function E(e) {
|
|
|
24
24
|
minute: "2-digit"
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
function
|
|
28
|
-
let
|
|
29
|
-
s("organizations.detail", { organizationId:
|
|
30
|
-
let { navigate:
|
|
27
|
+
function k() {
|
|
28
|
+
let k = r(), { id: A } = D();
|
|
29
|
+
s("organizations.detail", { organizationId: A });
|
|
30
|
+
let { navigate: j, basePath: M = "/organizations" } = e(), { hasPermission: N, isLoading: P } = w(), { organization: F, loading: I, error: L } = t(A ?? ""), [R, z] = d("overview"), { workspaces: B, loading: V, error: H, refetch: U } = c(R === "workspaces" && A ? A ?? "" : "", 50, 0), W = u(() => [{
|
|
31
31
|
id: "overview",
|
|
32
|
-
label:
|
|
32
|
+
label: k("organizations.detail.tab.overview", "Overview")
|
|
33
33
|
}, {
|
|
34
34
|
id: "workspaces",
|
|
35
|
-
label: `${
|
|
35
|
+
label: `${k("organizations.detail.tab.workspaces", "Workspaces")} (${R === "workspaces" ? B.length : F?.workspaceCount ?? 0})`
|
|
36
36
|
}], [
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
R,
|
|
38
|
+
F?.workspaceCount,
|
|
39
|
+
k,
|
|
40
|
+
B.length
|
|
41
41
|
]);
|
|
42
|
-
return
|
|
42
|
+
return P ? /* @__PURE__ */ T("div", {
|
|
43
43
|
className: "min-h-full bg-[var(--color-bg-canvas)] p-6",
|
|
44
|
-
children: /* @__PURE__ */
|
|
45
|
-
}) :
|
|
44
|
+
children: /* @__PURE__ */ T(i, { message: k("common.loadingPermissions", "Loading permissions...") })
|
|
45
|
+
}) : N(o.ORG_READ) ? I ? /* @__PURE__ */ T("div", {
|
|
46
46
|
className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6",
|
|
47
|
-
children: /* @__PURE__ */
|
|
48
|
-
}) :
|
|
47
|
+
children: /* @__PURE__ */ T(i, { message: k("organizations.detail.loading", "Loading organization details...") })
|
|
48
|
+
}) : L || !F ? /* @__PURE__ */ T("div", {
|
|
49
49
|
className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6",
|
|
50
|
-
children: /* @__PURE__ */
|
|
51
|
-
message:
|
|
50
|
+
children: /* @__PURE__ */ T(a, {
|
|
51
|
+
message: L?.message || k("organizations.detail.notFound", "Organization not found"),
|
|
52
52
|
action: {
|
|
53
|
-
label:
|
|
54
|
-
onClick: () =>
|
|
53
|
+
label: k("organizations.create.back", "Back to Organizations"),
|
|
54
|
+
onClick: () => j(M)
|
|
55
55
|
}
|
|
56
56
|
})
|
|
57
|
-
}) : /* @__PURE__ */
|
|
57
|
+
}) : /* @__PURE__ */ T("div", {
|
|
58
58
|
className: "min-h-full bg-[var(--color-bg-canvas)] px-4 py-6 sm:px-6 animate-in fade-in duration-200",
|
|
59
|
-
children: /* @__PURE__ */
|
|
59
|
+
children: /* @__PURE__ */ E("div", {
|
|
60
60
|
className: "mx-auto flex w-full max-w-7xl flex-col gap-6",
|
|
61
|
-
children: [
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ E("div", {
|
|
63
|
+
className: "space-y-4",
|
|
64
|
+
children: [/* @__PURE__ */ E("button", {
|
|
65
|
+
type: "button",
|
|
66
|
+
onClick: () => j(M),
|
|
67
|
+
className: "inline-flex min-h-10 items-center gap-2 text-[var(--color-text-secondary)] transition-all duration-200 hover:text-[var(--color-text-primary)]",
|
|
68
|
+
children: [/* @__PURE__ */ T(f, {
|
|
69
|
+
size: 20,
|
|
70
|
+
"aria-hidden": "true"
|
|
71
|
+
}), /* @__PURE__ */ T("span", {
|
|
72
|
+
className: "text-sm font-medium",
|
|
73
|
+
children: k("organizations.create.back", "Back to Organizations")
|
|
74
|
+
})]
|
|
75
|
+
}), /* @__PURE__ */ E(y, {
|
|
76
|
+
className: "flex flex-col gap-4 p-5 lg:flex-row lg:items-start lg:justify-between",
|
|
77
|
+
children: [/* @__PURE__ */ E("div", {
|
|
78
|
+
className: "flex min-w-0 items-start gap-4",
|
|
79
|
+
children: [/* @__PURE__ */ T("div", {
|
|
80
|
+
className: "flex size-16 items-center justify-center rounded-xl bg-[var(--color-status-info-bgSubtle)] text-[var(--color-status-info-text)]",
|
|
81
|
+
children: /* @__PURE__ */ T(m, {
|
|
82
|
+
size: 28,
|
|
83
|
+
"aria-hidden": "true"
|
|
84
|
+
})
|
|
85
|
+
}), /* @__PURE__ */ E("div", {
|
|
86
|
+
className: "min-w-0 space-y-2",
|
|
87
|
+
children: [
|
|
88
|
+
/* @__PURE__ */ E("div", {
|
|
89
|
+
className: "flex flex-wrap items-start gap-3",
|
|
90
|
+
children: [/* @__PURE__ */ T("h1", {
|
|
91
|
+
className: "text-3xl font-bold text-[var(--color-text-primary)]",
|
|
92
|
+
children: F.name
|
|
93
|
+
}), /* @__PURE__ */ T(n, { status: F.status })]
|
|
94
|
+
}),
|
|
95
|
+
/* @__PURE__ */ E("p", {
|
|
96
|
+
className: "break-all font-mono text-sm text-[var(--color-text-secondary)]",
|
|
97
|
+
children: ["/", F.slug]
|
|
98
|
+
}),
|
|
99
|
+
F.description ? /* @__PURE__ */ T("p", {
|
|
100
|
+
className: "max-w-2xl text-sm text-[var(--color-text-secondary)]",
|
|
101
|
+
children: F.description
|
|
102
|
+
}) : null,
|
|
103
|
+
/* @__PURE__ */ T(C, {
|
|
104
|
+
className: "max-w-2xl",
|
|
105
|
+
children: k("organizations.detail.purpose", "This is the home for one organization — review its profile and metadata here, jump into the Workspaces tab to see where teams collaborate, or manage who belongs. Use this page to keep an organization healthy and growing.")
|
|
106
|
+
})
|
|
107
|
+
]
|
|
108
|
+
})]
|
|
109
|
+
}), /* @__PURE__ */ T(v, {
|
|
110
|
+
primary: N(o.ORG_UPDATE) ? {
|
|
111
|
+
label: k("organizations.edit.title", "Edit Organization"),
|
|
112
|
+
icon: /* @__PURE__ */ T(h, {
|
|
113
|
+
size: 16,
|
|
114
|
+
"aria-hidden": "true"
|
|
93
115
|
}),
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
116
|
+
onSelect: () => j(`${M}/${A}/edit`)
|
|
117
|
+
} : void 0,
|
|
118
|
+
actions: [...N(o.MEMBER_LIST) ? [{
|
|
119
|
+
label: N(o.MEMBER_INVITE) ? k("organizations.detail.manageMembers", "Manage Members") : k("organizations.detail.viewMembers", "View Members"),
|
|
120
|
+
icon: /* @__PURE__ */ T(_, {
|
|
121
|
+
size: 16,
|
|
122
|
+
"aria-hidden": "true"
|
|
123
|
+
}),
|
|
124
|
+
onSelect: () => j(`${M}/${A}/members`)
|
|
125
|
+
}] : [], ...N(o.MEMBER_INVITE) ? [{
|
|
126
|
+
label: k("members.invite.button", "Invite Member"),
|
|
127
|
+
icon: /* @__PURE__ */ T(g, {
|
|
128
|
+
size: 16,
|
|
129
|
+
"aria-hidden": "true"
|
|
97
130
|
}),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
children: N.description
|
|
101
|
-
}) : null
|
|
102
|
-
]
|
|
131
|
+
onSelect: () => j(`${M}/${A}/members/invite`)
|
|
132
|
+
}] : []]
|
|
103
133
|
})]
|
|
104
|
-
})
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
134
|
+
})]
|
|
135
|
+
}),
|
|
136
|
+
/* @__PURE__ */ T(S, {
|
|
137
|
+
storageKey: "organization-org-detail",
|
|
138
|
+
steps: [
|
|
139
|
+
...N(o.MEMBER_INVITE) ? [{
|
|
140
|
+
id: "invite",
|
|
141
|
+
label: k("organizations.detail.next.invite", "Invite a member"),
|
|
142
|
+
description: k("organizations.detail.next.inviteDesc", "Bring people into this organization so they can access its workspaces."),
|
|
143
|
+
icon: /* @__PURE__ */ T(g, {
|
|
108
144
|
size: 16,
|
|
109
145
|
"aria-hidden": "true"
|
|
110
146
|
}),
|
|
111
|
-
|
|
112
|
-
} :
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
147
|
+
onClick: () => j(`${M}/${A}/members/invite`)
|
|
148
|
+
}] : [],
|
|
149
|
+
...N(o.WORKSPACE_CREATE) ? [{
|
|
150
|
+
id: "workspace",
|
|
151
|
+
label: k("organizations.detail.next.workspace", "Create a workspace"),
|
|
152
|
+
description: k("organizations.detail.next.workspaceDesc", "Give a team or project its own space to collaborate in."),
|
|
153
|
+
icon: /* @__PURE__ */ T(p, {
|
|
116
154
|
size: 16,
|
|
117
155
|
"aria-hidden": "true"
|
|
118
156
|
}),
|
|
119
|
-
|
|
120
|
-
}] : [],
|
|
121
|
-
|
|
122
|
-
|
|
157
|
+
onClick: () => j(`${M}/workspaces/new?organizationId=${A}`)
|
|
158
|
+
}] : [],
|
|
159
|
+
...N(o.MEMBER_LIST) ? [{
|
|
160
|
+
id: "members",
|
|
161
|
+
label: k("organizations.detail.next.members", "Review members"),
|
|
162
|
+
description: k("organizations.detail.next.membersDesc", "See who belongs to this organization and manage their roles."),
|
|
163
|
+
icon: /* @__PURE__ */ T(_, {
|
|
123
164
|
size: 16,
|
|
124
165
|
"aria-hidden": "true"
|
|
125
166
|
}),
|
|
126
|
-
|
|
127
|
-
}] : []
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
167
|
+
onClick: () => j(`${M}/${A}/members`)
|
|
168
|
+
}] : [],
|
|
169
|
+
...N(o.ORG_UPDATE) ? [{
|
|
170
|
+
id: "edit",
|
|
171
|
+
label: k("organizations.detail.next.edit", "Edit organization profile"),
|
|
172
|
+
description: k("organizations.detail.next.editDesc", "Update the name, slug, website, or description."),
|
|
173
|
+
icon: /* @__PURE__ */ T(h, {
|
|
174
|
+
size: 16,
|
|
175
|
+
"aria-hidden": "true"
|
|
176
|
+
}),
|
|
177
|
+
onClick: () => j(`${M}/${A}/edit`)
|
|
178
|
+
}] : []
|
|
179
|
+
]
|
|
180
|
+
}),
|
|
181
|
+
/* @__PURE__ */ E(b, {
|
|
182
|
+
treatment: "plain",
|
|
183
|
+
className: "border-border-seam p-0",
|
|
184
|
+
children: [/* @__PURE__ */ T("div", {
|
|
185
|
+
className: "overflow-x-auto border-b border-[var(--color-border-seam)]",
|
|
186
|
+
children: /* @__PURE__ */ T("div", {
|
|
187
|
+
className: "flex min-w-max gap-2 px-4 pt-4 sm:px-6",
|
|
188
|
+
children: W.map((e) => {
|
|
189
|
+
let t = R === e.id;
|
|
190
|
+
return /* @__PURE__ */ T("button", {
|
|
191
|
+
type: "button",
|
|
192
|
+
onClick: () => z(e.id),
|
|
193
|
+
className: `inline-flex min-h-11 items-center rounded-t-lg border-b-2 px-4 py-3 text-sm font-medium transition-colors ${t ? "border-[var(--color-action-primary-bg)] text-[var(--color-action-primary-bg)]" : "border-transparent text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)]"}`,
|
|
194
|
+
"aria-pressed": t,
|
|
195
|
+
children: e.label
|
|
196
|
+
}, e.id);
|
|
197
|
+
})
|
|
146
198
|
})
|
|
147
|
-
})
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("dt", {
|
|
162
|
-
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
163
|
-
children: D("common.name", "Name")
|
|
164
|
-
}), /* @__PURE__ */ C("dd", {
|
|
165
|
-
className: "mt-1 text-sm text-[var(--color-text-primary)]",
|
|
166
|
-
children: N.name
|
|
167
|
-
})] }),
|
|
168
|
-
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("dt", {
|
|
169
|
-
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
170
|
-
children: D("common.slug", "Slug")
|
|
171
|
-
}), /* @__PURE__ */ C("dd", {
|
|
172
|
-
className: "mt-1 break-all font-mono text-sm text-[var(--color-text-primary)]",
|
|
173
|
-
children: N.slug
|
|
174
|
-
})] }),
|
|
175
|
-
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("dt", {
|
|
176
|
-
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
177
|
-
children: D("common.status", "Status")
|
|
178
|
-
}), /* @__PURE__ */ C("dd", {
|
|
179
|
-
className: "mt-1",
|
|
180
|
-
children: /* @__PURE__ */ C(n, { status: N.status })
|
|
181
|
-
})] }),
|
|
182
|
-
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("dt", {
|
|
183
|
-
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
184
|
-
children: D("organizations.detail.workspaceCount", "Workspace count")
|
|
185
|
-
}), /* @__PURE__ */ C("dd", {
|
|
186
|
-
className: "mt-1 text-sm text-[var(--color-text-primary)]",
|
|
187
|
-
children: N.workspaceCount ?? 0
|
|
188
|
-
})] }),
|
|
189
|
-
N.website ? /* @__PURE__ */ w("div", {
|
|
190
|
-
className: "sm:col-span-2",
|
|
191
|
-
children: [/* @__PURE__ */ C("dt", {
|
|
199
|
+
}), /* @__PURE__ */ T("div", {
|
|
200
|
+
className: "p-4 sm:p-6",
|
|
201
|
+
children: R === "overview" ? /* @__PURE__ */ E("div", {
|
|
202
|
+
className: "grid grid-cols-1 gap-6 xl:grid-cols-[minmax(0,1fr)_320px]",
|
|
203
|
+
children: [/* @__PURE__ */ E(b, {
|
|
204
|
+
treatment: "plain",
|
|
205
|
+
className: "border-border-seam bg-[var(--color-bg-canvas)] p-5",
|
|
206
|
+
children: [/* @__PURE__ */ T("h2", {
|
|
207
|
+
className: "text-lg font-semibold text-[var(--color-text-primary)]",
|
|
208
|
+
children: k("organizations.detail.detailsSection", "Organization details")
|
|
209
|
+
}), /* @__PURE__ */ E("dl", {
|
|
210
|
+
className: "mt-5 grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
211
|
+
children: [
|
|
212
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
|
|
192
213
|
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
193
|
-
children:
|
|
194
|
-
}), /* @__PURE__ */
|
|
195
|
-
className: "mt-1
|
|
196
|
-
children:
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
rel: "noreferrer",
|
|
200
|
-
className: "text-[var(--color-action-primary-bg)] underline-offset-2 hover:underline",
|
|
201
|
-
children: N.website
|
|
202
|
-
})
|
|
203
|
-
})]
|
|
204
|
-
}) : null,
|
|
205
|
-
N.description ? /* @__PURE__ */ w("div", {
|
|
206
|
-
className: "sm:col-span-2",
|
|
207
|
-
children: [/* @__PURE__ */ C("dt", {
|
|
214
|
+
children: k("common.name", "Name")
|
|
215
|
+
}), /* @__PURE__ */ T("dd", {
|
|
216
|
+
className: "mt-1 text-sm text-[var(--color-text-primary)]",
|
|
217
|
+
children: F.name
|
|
218
|
+
})] }),
|
|
219
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
|
|
208
220
|
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
209
|
-
children:
|
|
210
|
-
}), /* @__PURE__ */
|
|
211
|
-
className: "mt-1
|
|
212
|
-
children:
|
|
213
|
-
})]
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
className: "
|
|
259
|
-
children:
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
221
|
+
children: k("common.slug", "Slug")
|
|
222
|
+
}), /* @__PURE__ */ T("dd", {
|
|
223
|
+
className: "mt-1 break-all font-mono text-sm text-[var(--color-text-primary)]",
|
|
224
|
+
children: F.slug
|
|
225
|
+
})] }),
|
|
226
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
|
|
227
|
+
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
228
|
+
children: k("common.status", "Status")
|
|
229
|
+
}), /* @__PURE__ */ T("dd", {
|
|
230
|
+
className: "mt-1",
|
|
231
|
+
children: /* @__PURE__ */ T(n, { status: F.status })
|
|
232
|
+
})] }),
|
|
233
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
|
|
234
|
+
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
235
|
+
children: k("organizations.detail.workspaceCount", "Workspace count")
|
|
236
|
+
}), /* @__PURE__ */ T("dd", {
|
|
237
|
+
className: "mt-1 text-sm text-[var(--color-text-primary)]",
|
|
238
|
+
children: F.workspaceCount ?? 0
|
|
239
|
+
})] }),
|
|
240
|
+
F.website ? /* @__PURE__ */ E("div", {
|
|
241
|
+
className: "sm:col-span-2",
|
|
242
|
+
children: [/* @__PURE__ */ T("dt", {
|
|
243
|
+
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
244
|
+
children: k("organizations.detail.website", "Website")
|
|
245
|
+
}), /* @__PURE__ */ T("dd", {
|
|
246
|
+
className: "mt-1 break-all text-sm",
|
|
247
|
+
children: /* @__PURE__ */ T("a", {
|
|
248
|
+
href: F.website,
|
|
249
|
+
target: "_blank",
|
|
250
|
+
rel: "noreferrer",
|
|
251
|
+
className: "text-[var(--color-action-primary-bg)] underline-offset-2 hover:underline",
|
|
252
|
+
children: F.website
|
|
253
|
+
})
|
|
254
|
+
})]
|
|
255
|
+
}) : null,
|
|
256
|
+
F.description ? /* @__PURE__ */ E("div", {
|
|
257
|
+
className: "sm:col-span-2",
|
|
258
|
+
children: [/* @__PURE__ */ T("dt", {
|
|
259
|
+
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
260
|
+
children: k("common.description", "Description")
|
|
261
|
+
}), /* @__PURE__ */ T("dd", {
|
|
262
|
+
className: "mt-1 text-sm leading-6 text-[var(--color-text-primary)]",
|
|
263
|
+
children: F.description
|
|
264
|
+
})]
|
|
265
|
+
}) : null
|
|
266
|
+
]
|
|
267
|
+
})]
|
|
268
|
+
}), /* @__PURE__ */ E(b, {
|
|
269
|
+
treatment: "plain",
|
|
270
|
+
className: "border-border-seam bg-[var(--color-bg-canvas)] p-5 xl:sticky xl:top-6 xl:self-start",
|
|
271
|
+
children: [/* @__PURE__ */ T("h2", {
|
|
272
|
+
className: "text-lg font-semibold text-[var(--color-text-primary)]",
|
|
273
|
+
children: k("common.metadata", "Metadata")
|
|
274
|
+
}), /* @__PURE__ */ E("dl", {
|
|
275
|
+
className: "mt-5 space-y-4",
|
|
276
|
+
children: [
|
|
277
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
|
|
278
|
+
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
279
|
+
children: k("common.created", "Created")
|
|
280
|
+
}), /* @__PURE__ */ T("dd", {
|
|
281
|
+
className: "mt-1 text-sm text-[var(--color-text-primary)]",
|
|
282
|
+
children: O(F.createdAt)
|
|
283
|
+
})] }),
|
|
284
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
|
|
285
|
+
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
286
|
+
children: k("common.lastUpdated", "Last updated")
|
|
287
|
+
}), /* @__PURE__ */ T("dd", {
|
|
288
|
+
className: "mt-1 text-sm text-[var(--color-text-primary)]",
|
|
289
|
+
children: O(F.updatedAt)
|
|
290
|
+
})] }),
|
|
291
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("dt", {
|
|
292
|
+
className: "text-sm font-medium text-[var(--color-text-secondary)]",
|
|
293
|
+
children: k("organizations.detail.tenantId", "Tenant ID")
|
|
294
|
+
}), /* @__PURE__ */ T("dd", {
|
|
295
|
+
className: "mt-1 break-all font-mono text-sm text-[var(--color-text-primary)]",
|
|
296
|
+
children: F.tenantId
|
|
297
|
+
})] })
|
|
298
|
+
]
|
|
299
|
+
})]
|
|
268
300
|
})]
|
|
269
|
-
})
|
|
270
|
-
className: "
|
|
271
|
-
children: /* @__PURE__ */
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
}) : R.length > 0 ? /* @__PURE__ */ C("div", {
|
|
281
|
-
className: "grid grid-cols-1 gap-4 xl:grid-cols-2",
|
|
282
|
-
children: R.map((e) => /* @__PURE__ */ C(l, {
|
|
283
|
-
workspace: e,
|
|
284
|
-
showActions: !1,
|
|
285
|
-
onClick: (e) => {
|
|
286
|
-
k(`${A}/workspaces/${e.id}`);
|
|
287
|
-
}
|
|
288
|
-
}, e.id))
|
|
289
|
-
}) : /* @__PURE__ */ C("div", {
|
|
290
|
-
className: "rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-canvas)] p-6",
|
|
291
|
-
children: /* @__PURE__ */ C(x, {
|
|
292
|
-
illustration: "empty-data",
|
|
293
|
-
title: D("workspaces.list.emptyTitle", "No workspaces yet"),
|
|
294
|
-
description: j(o.WORKSPACE_CREATE) ? D("workspaces.list.emptyDescription", "Create a workspace when this organization is ready to collaborate with teams or projects.") : D("workspaces.list.emptyDescriptionViewer", "No workspaces have been created in this organization yet."),
|
|
295
|
-
action: j(o.WORKSPACE_CREATE) ? /* @__PURE__ */ C("button", {
|
|
301
|
+
}) : /* @__PURE__ */ E("section", {
|
|
302
|
+
className: "space-y-4",
|
|
303
|
+
children: [/* @__PURE__ */ E("div", {
|
|
304
|
+
className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",
|
|
305
|
+
children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("h2", {
|
|
306
|
+
className: "text-lg font-semibold text-[var(--color-text-primary)]",
|
|
307
|
+
children: k("organizations.detail.workspacesTitle", "Organization workspaces")
|
|
308
|
+
}), /* @__PURE__ */ T("p", {
|
|
309
|
+
className: "text-sm text-[var(--color-text-secondary)]",
|
|
310
|
+
children: k("organizations.detail.workspacesSubtitle", "Create and manage workspaces for this organization.")
|
|
311
|
+
})] }), N(o.WORKSPACE_CREATE) && /* @__PURE__ */ E("button", {
|
|
296
312
|
type: "button",
|
|
297
|
-
onClick: () =>
|
|
298
|
-
className: "inline-flex min-h-11 items-center justify-center gap-2 rounded-lg bg-[var(--color-action-primary-bg)] px-4 py-2
|
|
299
|
-
children:
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
313
|
+
onClick: () => j(`${M}/workspaces/new?organizationId=${A}`),
|
|
314
|
+
className: "inline-flex min-h-11 items-center justify-center gap-2 rounded-lg bg-[var(--color-action-primary-bg)] px-4 py-2.5 text-[var(--color-action-primary-text)] transition-all duration-200 hover:opacity-90",
|
|
315
|
+
children: [/* @__PURE__ */ T(p, {
|
|
316
|
+
size: 16,
|
|
317
|
+
"aria-hidden": "true"
|
|
318
|
+
}), /* @__PURE__ */ T("span", { children: k("workspaces.create.button", "Create Workspace") })]
|
|
319
|
+
})]
|
|
320
|
+
}), V ? /* @__PURE__ */ T("div", {
|
|
321
|
+
className: "py-8",
|
|
322
|
+
children: /* @__PURE__ */ T(i, { message: k("workspaces.list.loading", "Loading workspaces...") })
|
|
323
|
+
}) : H ? /* @__PURE__ */ T(a, {
|
|
324
|
+
message: H.message,
|
|
325
|
+
action: {
|
|
326
|
+
label: k("common.retry", "Retry"),
|
|
327
|
+
onClick: () => {
|
|
328
|
+
U();
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}) : B.length > 0 ? /* @__PURE__ */ T("div", {
|
|
332
|
+
className: "grid grid-cols-1 gap-4 xl:grid-cols-2",
|
|
333
|
+
children: B.map((e) => /* @__PURE__ */ T(l, {
|
|
334
|
+
workspace: e,
|
|
335
|
+
showActions: !1,
|
|
336
|
+
onClick: (e) => {
|
|
337
|
+
j(`${M}/workspaces/${e.id}`);
|
|
338
|
+
}
|
|
339
|
+
}, e.id))
|
|
340
|
+
}) : /* @__PURE__ */ T("div", {
|
|
341
|
+
className: "rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-canvas)] p-6",
|
|
342
|
+
children: /* @__PURE__ */ T(x, {
|
|
343
|
+
illustration: "empty-data",
|
|
344
|
+
title: k("workspaces.list.emptyTitle", "No workspaces yet"),
|
|
345
|
+
description: N(o.WORKSPACE_CREATE) ? k("workspaces.list.emptyDescription", "Create a workspace when this organization is ready to collaborate with teams or projects.") : k("workspaces.list.emptyDescriptionViewer", "No workspaces have been created in this organization yet."),
|
|
346
|
+
action: N(o.WORKSPACE_CREATE) ? /* @__PURE__ */ T("button", {
|
|
347
|
+
type: "button",
|
|
348
|
+
onClick: () => j(`${M}/workspaces/new?organizationId=${A}`),
|
|
349
|
+
className: "inline-flex min-h-11 items-center justify-center gap-2 rounded-lg bg-[var(--color-action-primary-bg)] px-4 py-2 font-medium text-[var(--color-action-primary-text)] transition-all duration-200 hover:bg-[var(--color-action-primary-bgHover)]",
|
|
350
|
+
children: k("workspaces.create.button", "Create Workspace")
|
|
351
|
+
}) : void 0
|
|
352
|
+
})
|
|
353
|
+
})]
|
|
354
|
+
})
|
|
355
|
+
})]
|
|
356
|
+
})
|
|
357
|
+
]
|
|
306
358
|
})
|
|
307
|
-
}) : /* @__PURE__ */
|
|
359
|
+
}) : /* @__PURE__ */ T("div", {
|
|
308
360
|
className: "min-h-full bg-[var(--color-bg-canvas)] p-6",
|
|
309
|
-
children: /* @__PURE__ */
|
|
361
|
+
children: /* @__PURE__ */ T("div", {
|
|
310
362
|
className: "p-8 text-center text-[var(--color-text-secondary)]",
|
|
311
|
-
children:
|
|
363
|
+
children: k("organizations.detail.noPermission", "You don't have permission to view this organization.")
|
|
312
364
|
})
|
|
313
365
|
});
|
|
314
366
|
}
|
|
315
367
|
//#endregion
|
|
316
|
-
export {
|
|
368
|
+
export { k as OrganizationDetailPage };
|
|
317
369
|
|
|
318
370
|
//# sourceMappingURL=OrganizationDetailPage.js.map
|