@burdenoff/microfe-admin 2026.805.1 → 2026.829.2

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.
@@ -1,223 +1,222 @@
1
1
  import { useToast as e } from "../components/Toast.js";
2
2
  import { useAdmin as t } from "../providers/AdminProvider.js";
3
3
  import { useAdminPermissions as n } from "../hooks/useAdminPermissions.js";
4
- import { Avatar as r, Button as i, Card as a, CardContent as o, CardHeader as s, CardTitle as c, Separator as ee } from "../components/ui.js";
5
- import { PageLayout as l } from "../components/PageLayout.js";
6
- import { TenantStatusBadge as te } from "../components/StatusBadge.js";
7
- import { formatDate as u } from "../utils/formatters.js";
8
- import { tWithFallback as ne } from "../utils/i18n.js";
9
- import { PermissionGuard as d } from "../components/PermissionGuard.js";
4
+ import { Avatar as r, Button as i, Card as a, CardContent as o, CardHeader as s, CardTitle as c, Separator as l } from "../components/ui.js";
5
+ import { PageLayout as u } from "../components/PageLayout.js";
6
+ import { TenantStatusBadge as d } from "../components/StatusBadge.js";
7
+ import { formatDate as f } from "../utils/formatters.js";
8
+ import { PermissionGuard as p } from "../components/PermissionGuard.js";
10
9
  import "../components/index.js";
11
- import { joinPath as f } from "../utils/navigation.js";
12
- import { mapTenantToUi as p } from "../utils/mappers.js";
13
- import { useActivateTenantMutation as m, useGetTenantQuery as h, useSuspendTenantMutation as g } from "../../generated/global-operations.js";
10
+ import { joinPath as m } from "../utils/navigation.js";
11
+ import { mapTenantToUi as ee } from "../utils/mappers.js";
12
+ import { useActivateTenantMutation as te, useGetTenantQuery as ne, useSuspendTenantMutation as h } from "../../generated/global-operations.js";
13
+ import { useTr as g } from "../hooks/useTr.js";
14
14
  import { emitTenantLifecycle as _ } from "../utils/tenantEvents.js";
15
15
  import { TENANT_FEATURE_FLAGS as v } from "../constants/featureFlags.js";
16
- import { TenantMembersPanel as re } from "../components/TenantMembersPanel.js";
17
- import { TenantSsoPanel as ie } from "../components/TenantSsoPanel.js";
18
- import { ArrowLeft as y, Ban as ae, Building2 as oe, Calendar as b, CheckCircle as se, Globe as x, Loader2 as S, Mail as C, Settings as w, Users as ce } from "lucide-react";
19
- import { useNavigate as le, useParams as ue } from "react-router";
20
- import { jsx as T, jsxs as E } from "react/jsx-runtime";
21
- import { useFeatureFlag as D } from "@burdenoff/fe-libs/shared/feature-flags";
22
- import { useI18n as O } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
16
+ import { TenantMembersPanel as y } from "../components/TenantMembersPanel.js";
17
+ import { TenantSsoPanel as b } from "../components/TenantSsoPanel.js";
18
+ import { ArrowLeft as x, Ban as S, Building2 as C, Calendar as w, CheckCircle as re, Globe as ie, Loader2 as T, Mail as ae, Settings as oe, Users as se } from "lucide-react";
19
+ import { useNavigate as ce, useParams as le } from "react-router";
20
+ import { jsx as E, jsxs as D } from "react/jsx-runtime";
21
+ import { useFeatureFlag as O } from "@burdenoff/fe-libs/shared/feature-flags";
23
22
  import { EmphasisPanel as k, NextSteps as A, PagePurpose as j } from "@burdenoff/fe-libs/ui";
24
23
  import { useEventBus as M } from "@burdenoff/fe-libs/shared/events";
25
24
  //#region src/admin/pages/TenantDetailPage.tsx
26
25
  function N() {
27
- let { canViewTenants: N, canManageTenants: P, isLoading: F } = n(), { tenantId: I } = ue(), L = le(), { basePath: R = "" } = t(), z = e(), { t: B } = O(), V = D(v.management, !0), H = D(v.detail, !0), U = D(v.edit, !0), W = V && H, G = P && U, de = P && V, K = (e, t, n) => ne(B, e, t, n), { data: q, loading: fe, error: J } = h({
26
+ let { canViewTenants: N, canManageTenants: P, isLoading: F } = n(), { tenantId: I } = le(), L = ce(), { basePath: R = "" } = t(), z = e(), B = g(), V = O(v.management, !0), H = O(v.detail, !0), U = O(v.edit, !0), W = V && H, G = P && U, ue = P && V, { data: K, loading: de, error: q } = ne({
28
27
  variables: { id: I },
29
28
  skip: !I || F || !N || !W,
30
29
  fetchPolicy: "cache-and-network"
31
- }), [pe, { loading: Y }] = g(), [me, { loading: X }] = m(), Z = M(), Q = q?.tenant ? p(q.tenant) : null, he = async () => {
30
+ }), [J, { loading: Y }] = h(), [fe, { loading: X }] = te(), Z = M(), Q = K?.tenant ? ee(K.tenant) : null, pe = async () => {
32
31
  if (!I) return;
33
32
  let e = Q?.slug;
34
33
  try {
35
- await pe({ variables: { id: I } }), _(Z, "tenant.tenant.suspended", {
34
+ await J({ variables: { id: I } }), _(Z, "tenant.tenant.suspended", {
36
35
  tenantId: I,
37
36
  tenantSlug: e,
38
37
  status: "SUSPENDED"
39
- }), z.success(K("admin.tenantDetail.toast.suspendedTitle", "Tenant suspended"), K("admin.tenantDetail.toast.suspendedDescription", "{{name}} has been suspended.", { name: Q?.name ?? "" }));
38
+ }), z.success(B("admin.tenantDetail.toast.suspendedTitle", "Tenant suspended"), B("admin.tenantDetail.toast.suspendedDescription", "{{name}} has been suspended.", { name: Q?.name ?? "" }));
40
39
  } catch (e) {
41
- z.error(K("admin.tenantDetail.toast.errorTitle", "Error"), e instanceof Error ? e.message : K("admin.tenantDetail.toast.suspendFailed", "Failed to suspend tenant."));
40
+ z.error(B("admin.tenantDetail.toast.errorTitle", "Error"), e instanceof Error ? e.message : B("admin.tenantDetail.toast.suspendFailed", "Failed to suspend tenant."));
42
41
  }
43
- }, ge = async () => {
42
+ }, me = async () => {
44
43
  if (!I) return;
45
44
  let e = Q?.slug;
46
45
  try {
47
- await me({ variables: { id: I } }), _(Z, "tenant.tenant.activated", {
46
+ await fe({ variables: { id: I } }), _(Z, "tenant.tenant.activated", {
48
47
  tenantId: I,
49
48
  tenantSlug: e,
50
49
  status: "ACTIVE"
51
- }), z.success(K("admin.tenantDetail.toast.activatedTitle", "Tenant activated"), K("admin.tenantDetail.toast.activatedDescription", "{{name}} has been activated.", { name: Q?.name ?? "" }));
50
+ }), z.success(B("admin.tenantDetail.toast.activatedTitle", "Tenant activated"), B("admin.tenantDetail.toast.activatedDescription", "{{name}} has been activated.", { name: Q?.name ?? "" }));
52
51
  } catch (e) {
53
- z.error(K("admin.tenantDetail.toast.errorTitle", "Error"), e instanceof Error ? e.message : K("admin.tenantDetail.toast.activateFailed", "Failed to activate tenant."));
52
+ z.error(B("admin.tenantDetail.toast.errorTitle", "Error"), e instanceof Error ? e.message : B("admin.tenantDetail.toast.activateFailed", "Failed to activate tenant."));
54
53
  }
55
- }, $ = q?.tenant?.workspaces ?? [];
56
- return !F && !N ? /* @__PURE__ */ T(d, {
54
+ }, $ = K?.tenant?.workspaces ?? [];
55
+ return !F && !N ? /* @__PURE__ */ E(p, {
57
56
  allowed: !1,
58
57
  isLoading: !1,
59
- pageTitle: K("admin.tenantDetail.pageTitle", "Tenant Details"),
60
- denyMessage: K("admin.tenantDetail.denyMessage", "You don't have permission to view tenant details."),
58
+ pageTitle: B("admin.tenantDetail.pageTitle", "Tenant Details"),
59
+ denyMessage: B("admin.tenantDetail.denyMessage", "You don't have permission to view tenant details."),
61
60
  children: null
62
- }) : W ? /* @__PURE__ */ T(d, {
61
+ }) : W ? /* @__PURE__ */ E(p, {
63
62
  allowed: N,
64
63
  isLoading: F,
65
- pageTitle: K("admin.tenantDetail.pageTitle", "Tenant Details"),
66
- denyMessage: K("admin.tenantDetail.denyMessage", "You don't have permission to view tenant details."),
67
- children: fe ? /* @__PURE__ */ T(l, {
68
- title: K("admin.tenantDetail.loadingTitle", "Loading..."),
69
- children: /* @__PURE__ */ T("div", {
64
+ pageTitle: B("admin.tenantDetail.pageTitle", "Tenant Details"),
65
+ denyMessage: B("admin.tenantDetail.denyMessage", "You don't have permission to view tenant details."),
66
+ children: de ? /* @__PURE__ */ E(u, {
67
+ title: B("admin.tenantDetail.loadingTitle", "Loading..."),
68
+ children: /* @__PURE__ */ E("div", {
70
69
  className: "flex h-64 items-center justify-center",
71
- children: /* @__PURE__ */ T(S, { className: "h-8 w-8 animate-spin text-text-secondary" })
70
+ children: /* @__PURE__ */ E(T, { className: "h-8 w-8 animate-spin text-text-secondary" })
72
71
  })
73
- }) : J || !Q ? /* @__PURE__ */ E(l, {
74
- title: K("admin.tenantDetail.notFoundTitle", "Tenant Not Found"),
75
- description: K("admin.tenantDetail.notFoundDescription", "The requested tenant could not be found"),
76
- children: [J && /* @__PURE__ */ T("div", {
72
+ }) : q || !Q ? /* @__PURE__ */ D(u, {
73
+ title: B("admin.tenantDetail.notFoundTitle", "Tenant Not Found"),
74
+ description: B("admin.tenantDetail.notFoundDescription", "The requested tenant could not be found"),
75
+ children: [q && /* @__PURE__ */ E("div", {
77
76
  className: "mb-4 rounded-md border border-status-error-border/50 bg-status-error-bg/10 p-4 text-sm text-status-error-text",
78
- children: J.message
79
- }), /* @__PURE__ */ E(i, {
77
+ children: q.message
78
+ }), /* @__PURE__ */ D(i, {
80
79
  variant: "outline",
81
- onClick: () => L(f(R, "tenants")),
82
- children: [/* @__PURE__ */ T(y, { className: "mr-2 h-4 w-4" }), K("admin.tenantDetail.backToTenants", "Back to Tenants")]
80
+ onClick: () => L(m(R, "tenants")),
81
+ children: [/* @__PURE__ */ E(x, { className: "mr-2 h-4 w-4" }), B("admin.tenantDetail.backToTenants", "Back to Tenants")]
83
82
  })]
84
- }) : /* @__PURE__ */ E(l, {
83
+ }) : /* @__PURE__ */ D(u, {
85
84
  title: Q.name,
86
- description: K("admin.tenantDetail.tenantId", "Tenant ID: {{id}}", { id: Q.id }),
87
- actions: /* @__PURE__ */ E("div", {
85
+ description: B("admin.tenantDetail.tenantId", "Tenant ID: {{id}}", { id: Q.id }),
86
+ actions: /* @__PURE__ */ D("div", {
88
87
  className: "flex items-center gap-2",
89
88
  children: [
90
- /* @__PURE__ */ E(i, {
89
+ /* @__PURE__ */ D(i, {
91
90
  variant: "outline",
92
- onClick: () => L(f(R, "tenants")),
93
- children: [/* @__PURE__ */ T(y, { className: "mr-2 h-4 w-4" }), K("admin.tenantDetail.back", "Back")]
91
+ onClick: () => L(m(R, "tenants")),
92
+ children: [/* @__PURE__ */ E(x, { className: "mr-2 h-4 w-4" }), B("admin.tenantDetail.back", "Back")]
94
93
  }),
95
- G && /* @__PURE__ */ E(i, {
94
+ G && /* @__PURE__ */ D(i, {
96
95
  variant: "outline",
97
- onClick: () => L(f(R, `tenants/${Q.id}/edit`)),
98
- children: [/* @__PURE__ */ T(w, { className: "mr-2 h-4 w-4" }), K("admin.tenantDetail.edit", "Edit")]
96
+ onClick: () => L(m(R, `tenants/${Q.id}/edit`)),
97
+ children: [/* @__PURE__ */ E(oe, { className: "mr-2 h-4 w-4" }), B("admin.tenantDetail.edit", "Edit")]
99
98
  }),
100
- de && (Q.status === "active" ? /* @__PURE__ */ E(i, {
99
+ ue && (Q.status === "active" ? /* @__PURE__ */ D(i, {
101
100
  variant: "outline",
102
101
  className: "text-status-warning-text",
103
- onClick: he,
102
+ onClick: pe,
104
103
  disabled: Y,
105
- children: [Y ? /* @__PURE__ */ T(S, { className: "mr-2 h-4 w-4 animate-spin" }) : /* @__PURE__ */ T(ae, { className: "mr-2 h-4 w-4" }), K("admin.tenantDetail.suspend", "Suspend")]
106
- }) : /* @__PURE__ */ E(i, {
104
+ children: [Y ? /* @__PURE__ */ E(T, { className: "mr-2 h-4 w-4 animate-spin" }) : /* @__PURE__ */ E(S, { className: "mr-2 h-4 w-4" }), B("admin.tenantDetail.suspend", "Suspend")]
105
+ }) : /* @__PURE__ */ D(i, {
107
106
  variant: "outline",
108
107
  className: "text-status-success-text",
109
- onClick: ge,
108
+ onClick: me,
110
109
  disabled: X,
111
- children: [X ? /* @__PURE__ */ T(S, { className: "mr-2 h-4 w-4 animate-spin" }) : /* @__PURE__ */ T(se, { className: "mr-2 h-4 w-4" }), K("admin.tenantDetail.activate", "Activate")]
110
+ children: [X ? /* @__PURE__ */ E(T, { className: "mr-2 h-4 w-4 animate-spin" }) : /* @__PURE__ */ E(re, { className: "mr-2 h-4 w-4" }), B("admin.tenantDetail.activate", "Activate")]
112
111
  }))
113
112
  ]
114
113
  }),
115
114
  children: [
116
- /* @__PURE__ */ T(j, {
115
+ /* @__PURE__ */ E(j, {
117
116
  className: "mb-6",
118
- children: K("admin.tenantDetail.purpose", "Everything about a single tenant in one place — their profile, the people inside it, and their single sign-on setup. From here you manage that one customer account: review who has access, adjust their SSO, and suspend or reactivate them when needed.")
117
+ children: B("admin.tenantDetail.purpose", "Everything about a single tenant in one place — their profile, the people inside it, and their single sign-on setup. From here you manage that one customer account: review who has access, adjust their SSO, and suspend or reactivate them when needed.")
119
118
  }),
120
- /* @__PURE__ */ T(A, {
119
+ /* @__PURE__ */ E(A, {
121
120
  storageKey: "admin-tenant-detail",
122
121
  steps: [
123
122
  {
124
123
  id: "edit-tenant",
125
- label: K("admin.tenantDetail.nextSteps.edit", "Edit tenant details"),
126
- description: K("admin.tenantDetail.nextSteps.editDesc", "Update the name, domain or plan for this tenant."),
127
- onClick: () => L(f(R, `tenants/${Q.id}/edit`)),
124
+ label: B("admin.tenantDetail.nextSteps.edit", "Edit tenant details"),
125
+ description: B("admin.tenantDetail.nextSteps.editDesc", "Update the name, domain or plan for this tenant."),
126
+ onClick: () => L(m(R, `tenants/${Q.id}/edit`)),
128
127
  done: !G
129
128
  },
130
129
  {
131
130
  id: "review-members",
132
- label: K("admin.tenantDetail.nextSteps.members", "Review members"),
133
- description: K("admin.tenantDetail.nextSteps.membersDesc", "Check who has access inside this tenant."),
131
+ label: B("admin.tenantDetail.nextSteps.members", "Review members"),
132
+ description: B("admin.tenantDetail.nextSteps.membersDesc", "Check who has access inside this tenant."),
134
133
  href: "#tenant-members"
135
134
  },
136
135
  {
137
136
  id: "configure-sso",
138
- label: K("admin.tenantDetail.nextSteps.sso", "Configure SSO"),
139
- description: K("admin.tenantDetail.nextSteps.ssoDesc", "Set up single sign-on so their team logs in with your IdP."),
137
+ label: B("admin.tenantDetail.nextSteps.sso", "Configure SSO"),
138
+ description: B("admin.tenantDetail.nextSteps.ssoDesc", "Set up single sign-on so their team logs in with your IdP."),
140
139
  href: "#tenant-sso"
141
140
  }
142
141
  ]
143
142
  }),
144
- /* @__PURE__ */ E("div", {
143
+ /* @__PURE__ */ D("div", {
145
144
  className: "grid gap-6 lg:grid-cols-3",
146
- children: [/* @__PURE__ */ E("div", {
145
+ children: [/* @__PURE__ */ D("div", {
147
146
  className: "space-y-6 lg:col-span-2",
148
147
  children: [
149
- /* @__PURE__ */ T(k, {
148
+ /* @__PURE__ */ E(k, {
150
149
  className: "p-0",
151
- children: /* @__PURE__ */ E(a, {
150
+ children: /* @__PURE__ */ D(a, {
152
151
  className: "border-0 bg-transparent shadow-none hover:border-0",
153
- children: [/* @__PURE__ */ T(s, { children: /* @__PURE__ */ T(c, {
152
+ children: [/* @__PURE__ */ E(s, { children: /* @__PURE__ */ E(c, {
154
153
  className: "text-lg",
155
- children: K("admin.tenantDetail.overview.title", "Overview")
156
- }) }), /* @__PURE__ */ E(o, { children: [
157
- /* @__PURE__ */ E("div", {
154
+ children: B("admin.tenantDetail.overview.title", "Overview")
155
+ }) }), /* @__PURE__ */ D(o, { children: [
156
+ /* @__PURE__ */ D("div", {
158
157
  className: "flex items-start gap-4",
159
- children: [/* @__PURE__ */ T(r, {
158
+ children: [/* @__PURE__ */ E(r, {
160
159
  fallback: Q.name.slice(0, 2).toUpperCase(),
161
160
  size: "lg"
162
- }), /* @__PURE__ */ E("div", {
161
+ }), /* @__PURE__ */ D("div", {
163
162
  className: "flex-1 space-y-4",
164
- children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("h2", {
163
+ children: [/* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("h2", {
165
164
  className: "text-xl font-semibold text-text-primary",
166
165
  children: Q.name
167
- }), /* @__PURE__ */ E("p", {
166
+ }), /* @__PURE__ */ D("p", {
168
167
  className: "text-sm text-text-secondary",
169
168
  children: ["@", Q.slug]
170
- })] }), /* @__PURE__ */ E("div", {
169
+ })] }), /* @__PURE__ */ D("div", {
171
170
  className: "flex flex-wrap items-center gap-4",
172
- children: [/* @__PURE__ */ T(te, { status: Q.status }), Q.plan && /* @__PURE__ */ T("span", {
171
+ children: [/* @__PURE__ */ E(d, { status: Q.status }), Q.plan && /* @__PURE__ */ E("span", {
173
172
  className: "rounded-md bg-action-primary-bg/10 px-2 py-1 text-xs font-medium text-primary",
174
173
  children: Q.plan
175
174
  })]
176
175
  })]
177
176
  })]
178
177
  }),
179
- /* @__PURE__ */ T(ee, { className: "my-6" }),
180
- /* @__PURE__ */ E("div", {
178
+ /* @__PURE__ */ E(l, { className: "my-6" }),
179
+ /* @__PURE__ */ D("div", {
181
180
  className: "grid gap-4 sm:grid-cols-2",
182
181
  children: [
183
- Q.ownerEmail && /* @__PURE__ */ E("div", {
182
+ Q.ownerEmail && /* @__PURE__ */ D("div", {
184
183
  className: "flex items-center gap-3",
185
- children: [/* @__PURE__ */ T(C, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
184
+ children: [/* @__PURE__ */ E(ae, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
186
185
  className: "text-xs text-text-secondary",
187
- children: K("admin.tenantDetail.overview.ownerEmail", "Owner Email")
188
- }), /* @__PURE__ */ T("p", {
186
+ children: B("admin.tenantDetail.overview.ownerEmail", "Owner Email")
187
+ }), /* @__PURE__ */ E("p", {
189
188
  className: "text-sm font-medium",
190
189
  children: Q.ownerEmail
191
190
  })] })]
192
191
  }),
193
- Q.domain && /* @__PURE__ */ E("div", {
192
+ Q.domain && /* @__PURE__ */ D("div", {
194
193
  className: "flex items-center gap-3",
195
- children: [/* @__PURE__ */ T(x, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
194
+ children: [/* @__PURE__ */ E(ie, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
196
195
  className: "text-xs text-text-secondary",
197
- children: K("admin.tenantDetail.overview.domain", "Domain")
198
- }), /* @__PURE__ */ T("p", {
196
+ children: B("admin.tenantDetail.overview.domain", "Domain")
197
+ }), /* @__PURE__ */ E("p", {
199
198
  className: "text-sm font-medium",
200
199
  children: Q.domain
201
200
  })] })]
202
201
  }),
203
- /* @__PURE__ */ E("div", {
202
+ /* @__PURE__ */ D("div", {
204
203
  className: "flex items-center gap-3",
205
- children: [/* @__PURE__ */ T(b, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
204
+ children: [/* @__PURE__ */ E(w, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
206
205
  className: "text-xs text-text-secondary",
207
- children: K("admin.tenantDetail.overview.created", "Created")
208
- }), /* @__PURE__ */ T("p", {
206
+ children: B("admin.tenantDetail.overview.created", "Created")
207
+ }), /* @__PURE__ */ E("p", {
209
208
  className: "text-sm font-medium",
210
- children: u(Q.createdAt)
209
+ children: f(Q.createdAt)
211
210
  })] })]
212
211
  }),
213
- /* @__PURE__ */ E("div", {
212
+ /* @__PURE__ */ D("div", {
214
213
  className: "flex items-center gap-3",
215
- children: [/* @__PURE__ */ T(b, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
214
+ children: [/* @__PURE__ */ E(w, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
216
215
  className: "text-xs text-text-secondary",
217
- children: K("admin.tenantDetail.overview.lastUpdated", "Last Updated")
218
- }), /* @__PURE__ */ T("p", {
216
+ children: B("admin.tenantDetail.overview.lastUpdated", "Last Updated")
217
+ }), /* @__PURE__ */ E("p", {
219
218
  className: "text-sm font-medium",
220
- children: u(Q.updatedAt)
219
+ children: f(Q.updatedAt)
221
220
  })] })]
222
221
  })
223
222
  ]
@@ -225,112 +224,112 @@ function N() {
225
224
  ] })]
226
225
  })
227
226
  }),
228
- $.length > 0 && /* @__PURE__ */ E(a, { children: [/* @__PURE__ */ T(s, { children: /* @__PURE__ */ T(c, {
227
+ $.length > 0 && /* @__PURE__ */ D(a, { children: [/* @__PURE__ */ E(s, { children: /* @__PURE__ */ E(c, {
229
228
  className: "text-lg",
230
- children: K("admin.tenantDetail.workspaces.title", "Workspaces ({{count}})", { count: $.length })
231
- }) }), /* @__PURE__ */ T(o, { children: /* @__PURE__ */ T("div", {
229
+ children: B("admin.tenantDetail.workspaces.title", "Workspaces ({{count}})", { count: $.length })
230
+ }) }), /* @__PURE__ */ E(o, { children: /* @__PURE__ */ E("div", {
232
231
  className: "space-y-2",
233
- children: $.map((e) => /* @__PURE__ */ E("div", {
232
+ children: $.map((e) => /* @__PURE__ */ D("div", {
234
233
  className: "flex items-center justify-between rounded-lg border border-border-subtle p-3",
235
- children: [/* @__PURE__ */ T("span", {
234
+ children: [/* @__PURE__ */ E("span", {
236
235
  className: "text-sm font-medium",
237
236
  children: e.name
238
- }), /* @__PURE__ */ T("span", {
237
+ }), /* @__PURE__ */ E("span", {
239
238
  className: "text-xs text-text-secondary capitalize",
240
239
  children: e.status?.toLowerCase()
241
240
  })]
242
241
  }, e.id))
243
242
  }) })] }),
244
- Q.settings && /* @__PURE__ */ E(a, { children: [/* @__PURE__ */ T(s, { children: /* @__PURE__ */ T(c, {
243
+ Q.settings && /* @__PURE__ */ D(a, { children: [/* @__PURE__ */ E(s, { children: /* @__PURE__ */ E(c, {
245
244
  className: "text-lg",
246
- children: K("admin.tenantDetail.settings.title", "Settings")
247
- }) }), /* @__PURE__ */ T(o, { children: /* @__PURE__ */ E("div", {
245
+ children: B("admin.tenantDetail.settings.title", "Settings")
246
+ }) }), /* @__PURE__ */ E(o, { children: /* @__PURE__ */ D("div", {
248
247
  className: "grid gap-4 sm:grid-cols-2",
249
248
  children: [
250
- /* @__PURE__ */ E("div", {
249
+ /* @__PURE__ */ D("div", {
251
250
  className: "flex items-center justify-between rounded-lg border border-border-subtle p-3",
252
- children: [/* @__PURE__ */ T("span", {
251
+ children: [/* @__PURE__ */ E("span", {
253
252
  className: "text-sm",
254
- children: K("admin.tenantDetail.settings.allowSignup", "Allow Signup")
255
- }), /* @__PURE__ */ T("span", {
253
+ children: B("admin.tenantDetail.settings.allowSignup", "Allow Signup")
254
+ }), /* @__PURE__ */ E("span", {
256
255
  className: `text-sm font-medium ${Q.settings?.allowSignup ? "text-status-success-text" : "text-text-secondary"}`,
257
- children: Q.settings?.allowSignup ? K("admin.tenantDetail.settings.enabled", "Enabled") : K("admin.tenantDetail.settings.disabled", "Disabled")
256
+ children: Q.settings?.allowSignup ? B("admin.tenantDetail.settings.enabled", "Enabled") : B("admin.tenantDetail.settings.disabled", "Disabled")
258
257
  })]
259
258
  }),
260
- /* @__PURE__ */ E("div", {
259
+ /* @__PURE__ */ D("div", {
261
260
  className: "flex items-center justify-between rounded-lg border border-border-subtle p-3",
262
- children: [/* @__PURE__ */ T("span", {
261
+ children: [/* @__PURE__ */ E("span", {
263
262
  className: "text-sm",
264
- children: K("admin.tenantDetail.settings.sso", "SSO")
265
- }), /* @__PURE__ */ T("span", {
263
+ children: B("admin.tenantDetail.settings.sso", "SSO")
264
+ }), /* @__PURE__ */ E("span", {
266
265
  className: `text-sm font-medium ${Q.settings?.ssoEnabled ? "text-status-success-text" : "text-text-secondary"}`,
267
- children: Q.settings?.ssoEnabled ? K("admin.tenantDetail.settings.enabled", "Enabled") : K("admin.tenantDetail.settings.disabled", "Disabled")
266
+ children: Q.settings?.ssoEnabled ? B("admin.tenantDetail.settings.enabled", "Enabled") : B("admin.tenantDetail.settings.disabled", "Disabled")
268
267
  })]
269
268
  }),
270
- /* @__PURE__ */ E("div", {
269
+ /* @__PURE__ */ D("div", {
271
270
  className: "flex items-center justify-between rounded-lg border border-border-subtle p-3",
272
- children: [/* @__PURE__ */ T("span", {
271
+ children: [/* @__PURE__ */ E("span", {
273
272
  className: "text-sm",
274
- children: K("admin.tenantDetail.settings.mfaRequired", "MFA Required")
275
- }), /* @__PURE__ */ T("span", {
273
+ children: B("admin.tenantDetail.settings.mfaRequired", "MFA Required")
274
+ }), /* @__PURE__ */ E("span", {
276
275
  className: `text-sm font-medium ${Q.settings?.mfaRequired ? "text-status-success-text" : "text-text-secondary"}`,
277
- children: Q.settings?.mfaRequired ? K("admin.tenantDetail.settings.yes", "Yes") : K("admin.tenantDetail.settings.no", "No")
276
+ children: Q.settings?.mfaRequired ? B("admin.tenantDetail.settings.yes", "Yes") : B("admin.tenantDetail.settings.no", "No")
278
277
  })]
279
278
  }),
280
- /* @__PURE__ */ E("div", {
279
+ /* @__PURE__ */ D("div", {
281
280
  className: "flex items-center justify-between rounded-lg border border-border-subtle p-3",
282
- children: [/* @__PURE__ */ T("span", {
281
+ children: [/* @__PURE__ */ E("span", {
283
282
  className: "text-sm",
284
- children: K("admin.tenantDetail.settings.dataRetention", "Data Retention")
285
- }), /* @__PURE__ */ T("span", {
283
+ children: B("admin.tenantDetail.settings.dataRetention", "Data Retention")
284
+ }), /* @__PURE__ */ E("span", {
286
285
  className: "text-sm font-medium",
287
- children: K("admin.tenantDetail.settings.dataRetentionDays", "{{days}} days", { days: Q.settings?.dataRetentionDays ?? 0 })
286
+ children: B("admin.tenantDetail.settings.dataRetentionDays", "{{days}} days", { days: Q.settings?.dataRetentionDays ?? 0 })
288
287
  })]
289
288
  })
290
289
  ]
291
290
  }) })] }),
292
- /* @__PURE__ */ T("div", {
291
+ /* @__PURE__ */ E("div", {
293
292
  id: "tenant-sso",
294
- children: /* @__PURE__ */ T(ie, {
293
+ children: /* @__PURE__ */ E(b, {
295
294
  tenantId: Q.id,
296
295
  canManage: G
297
296
  })
298
297
  }),
299
- /* @__PURE__ */ T("div", {
298
+ /* @__PURE__ */ E("div", {
300
299
  id: "tenant-members",
301
- children: /* @__PURE__ */ T(re, {
300
+ children: /* @__PURE__ */ E(y, {
302
301
  tenantId: Q.id,
303
302
  tenantType: Q.type ?? "",
304
303
  canManage: G
305
304
  })
306
305
  })
307
306
  ]
308
- }), /* @__PURE__ */ T("div", {
307
+ }), /* @__PURE__ */ E("div", {
309
308
  className: "space-y-6",
310
- children: /* @__PURE__ */ E(a, { children: [/* @__PURE__ */ T(s, { children: /* @__PURE__ */ T(c, {
309
+ children: /* @__PURE__ */ D(a, { children: [/* @__PURE__ */ E(s, { children: /* @__PURE__ */ E(c, {
311
310
  className: "text-lg",
312
- children: K("admin.tenantDetail.actions.title", "Actions")
313
- }) }), /* @__PURE__ */ E(o, {
311
+ children: B("admin.tenantDetail.actions.title", "Actions")
312
+ }) }), /* @__PURE__ */ D(o, {
314
313
  className: "space-y-2",
315
- children: [/* @__PURE__ */ E(i, {
314
+ children: [/* @__PURE__ */ D(i, {
316
315
  variant: "outline",
317
316
  className: "w-full justify-start",
318
- onClick: () => L(f(R, `users?tenantId=${Q.id}`)),
319
- children: [/* @__PURE__ */ T(ce, { className: "mr-2 h-4 w-4" }), K("admin.tenantDetail.actions.viewUsers", "View Users")]
320
- }), /* @__PURE__ */ E(i, {
317
+ onClick: () => L(m(R, `users?tenantId=${Q.id}`)),
318
+ children: [/* @__PURE__ */ E(se, { className: "mr-2 h-4 w-4" }), B("admin.tenantDetail.actions.viewUsers", "View Users")]
319
+ }), /* @__PURE__ */ D(i, {
321
320
  variant: "outline",
322
321
  className: "w-full justify-start",
323
- onClick: () => L(f(R, `billing/subscriptions?tenantId=${Q.id}`)),
324
- children: [/* @__PURE__ */ T(oe, { className: "mr-2 h-4 w-4" }), K("admin.tenantDetail.actions.viewBilling", "View Billing")]
322
+ onClick: () => L(m(R, `billing/subscriptions?tenantId=${Q.id}`)),
323
+ children: [/* @__PURE__ */ E(C, { className: "mr-2 h-4 w-4" }), B("admin.tenantDetail.actions.viewBilling", "View Billing")]
325
324
  })]
326
325
  })] })
327
326
  })]
328
327
  })
329
328
  ]
330
329
  })
331
- }) : /* @__PURE__ */ T(l, {
332
- title: K("admin.tenantDetail.featureDisabledTitle", "Tenant management unavailable"),
333
- description: K("admin.tenantDetail.featureDisabled", "This feature is currently disabled."),
330
+ }) : /* @__PURE__ */ E(u, {
331
+ title: B("admin.tenantDetail.featureDisabledTitle", "Tenant management unavailable"),
332
+ description: B("admin.tenantDetail.featureDisabled", "This feature is currently disabled."),
334
333
  children: null
335
334
  });
336
335
  }