@datatechsolutions/ui 3.13.0 → 3.14.0
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/astrlabe/graph-node.js +6 -6
- package/dist/astrlabe/graph-node.mjs +2 -2
- package/dist/astrlabe/index.js +114 -114
- package/dist/astrlabe/index.mjs +6 -6
- package/dist/astrlabe/workflow-canvas.js +6 -6
- package/dist/astrlabe/workflow-canvas.mjs +5 -5
- package/dist/{chunk-AMCFAGK3.js → chunk-2II2NLAZ.js} +42 -41
- package/dist/chunk-2II2NLAZ.js.map +1 -0
- package/dist/{chunk-WR55H7DH.mjs → chunk-2SBVFLPZ.mjs} +19 -2
- package/dist/chunk-2SBVFLPZ.mjs.map +1 -0
- package/dist/{chunk-UXHJS2SH.mjs → chunk-33ZWFDVG.mjs} +282 -331
- package/dist/chunk-33ZWFDVG.mjs.map +1 -0
- package/dist/{chunk-2ECLDHAT.js → chunk-4HZ55YKZ.js} +9 -9
- package/dist/{chunk-2ECLDHAT.js.map → chunk-4HZ55YKZ.js.map} +1 -1
- package/dist/{chunk-VI4IUTMX.js → chunk-4P72IJOM.js} +6 -6
- package/dist/{chunk-VI4IUTMX.js.map → chunk-4P72IJOM.js.map} +1 -1
- package/dist/{chunk-D5OTZGA2.js → chunk-5SCZB5UI.js} +382 -431
- package/dist/chunk-5SCZB5UI.js.map +1 -0
- package/dist/{chunk-4VHFGW7I.mjs → chunk-5YCH7FHT.mjs} +3 -3
- package/dist/{chunk-4VHFGW7I.mjs.map → chunk-5YCH7FHT.mjs.map} +1 -1
- package/dist/{chunk-P4RVGMZL.js → chunk-6NBQTIXX.js} +9 -37
- package/dist/chunk-6NBQTIXX.js.map +1 -0
- package/dist/{chunk-EZQ2D47U.js → chunk-6NEESZVO.js} +4 -4
- package/dist/{chunk-EZQ2D47U.js.map → chunk-6NEESZVO.js.map} +1 -1
- package/dist/{chunk-N4YT3QA5.js → chunk-72XZ7DSF.js} +13 -13
- package/dist/{chunk-N4YT3QA5.js.map → chunk-72XZ7DSF.js.map} +1 -1
- package/dist/{chunk-QGRTV35L.mjs → chunk-7NHJSD4A.mjs} +6 -6
- package/dist/{chunk-QGRTV35L.mjs.map → chunk-7NHJSD4A.mjs.map} +1 -1
- package/dist/{chunk-PPIUMCUZ.js → chunk-7SDB2VC2.js} +4 -4
- package/dist/{chunk-PPIUMCUZ.js.map → chunk-7SDB2VC2.js.map} +1 -1
- package/dist/{chunk-QGLGQXJE.js → chunk-A5OMGPMR.js} +10 -10
- package/dist/chunk-A5OMGPMR.js.map +1 -0
- package/dist/{chunk-K5567JM5.js → chunk-AUCS2KF4.js} +26 -26
- package/dist/{chunk-K5567JM5.js.map → chunk-AUCS2KF4.js.map} +1 -1
- package/dist/{chunk-MSKKNPRE.mjs → chunk-F4KHAKTP.mjs} +172 -116
- package/dist/chunk-F4KHAKTP.mjs.map +1 -0
- package/dist/{chunk-SDYKXLCU.js → chunk-FHGWXWVZ.js} +67 -67
- package/dist/{chunk-SDYKXLCU.js.map → chunk-FHGWXWVZ.js.map} +1 -1
- package/dist/{chunk-5ETT54QS.js → chunk-FZUV7GNB.js} +241 -184
- package/dist/chunk-FZUV7GNB.js.map +1 -0
- package/dist/{chunk-6KDTVSZT.mjs → chunk-HQNIETHV.mjs} +11 -10
- package/dist/chunk-HQNIETHV.mjs.map +1 -0
- package/dist/{chunk-PLTLRL2V.mjs → chunk-KDDXDQR2.mjs} +3 -3
- package/dist/{chunk-PLTLRL2V.mjs.map → chunk-KDDXDQR2.mjs.map} +1 -1
- package/dist/{chunk-6YTYD4P5.js → chunk-LJGPMMKB.js} +156 -193
- package/dist/chunk-LJGPMMKB.js.map +1 -0
- package/dist/{chunk-BHOT22QL.js → chunk-MXQ2EYG2.js} +19 -2
- package/dist/chunk-MXQ2EYG2.js.map +1 -0
- package/dist/{chunk-ANFSQJNI.mjs → chunk-N6SGVUTR.mjs} +17 -20
- package/dist/chunk-N6SGVUTR.mjs.map +1 -0
- package/dist/{chunk-IIRS5XZY.js → chunk-NIZSQJRW.js} +33 -33
- package/dist/{chunk-IIRS5XZY.js.map → chunk-NIZSQJRW.js.map} +1 -1
- package/dist/{chunk-AKWCT53S.mjs → chunk-NXWIT4YQ.mjs} +47 -50
- package/dist/chunk-NXWIT4YQ.mjs.map +1 -0
- package/dist/{chunk-OC4AOYU5.mjs → chunk-OTQXU4WG.mjs} +83 -120
- package/dist/chunk-OTQXU4WG.mjs.map +1 -0
- package/dist/{chunk-CSOMZ5UM.mjs → chunk-PO66V2PN.mjs} +9 -9
- package/dist/{chunk-CSOMZ5UM.mjs.map → chunk-PO66V2PN.mjs.map} +1 -1
- package/dist/{chunk-OY5HUZSD.js → chunk-PXGESUKI.js} +94 -97
- package/dist/chunk-PXGESUKI.js.map +1 -0
- package/dist/{chunk-7TYNV6SY.mjs → chunk-Q2FUNDCP.mjs} +14 -14
- package/dist/{chunk-7TYNV6SY.mjs.map → chunk-Q2FUNDCP.mjs.map} +1 -1
- package/dist/{chunk-KWH7JIRP.mjs → chunk-Q5TZTA6H.mjs} +9 -8
- package/dist/chunk-Q5TZTA6H.mjs.map +1 -0
- package/dist/{chunk-ZRCXDKBE.mjs → chunk-T7DROKWJ.mjs} +4 -4
- package/dist/{chunk-ZRCXDKBE.mjs.map → chunk-T7DROKWJ.mjs.map} +1 -1
- package/dist/{chunk-3VYD7QL2.mjs → chunk-TQADF23S.mjs} +9 -9
- package/dist/chunk-TQADF23S.mjs.map +1 -0
- package/dist/{chunk-VIB42VMZ.mjs → chunk-U7VMFQFN.mjs} +5 -5
- package/dist/{chunk-VIB42VMZ.mjs.map → chunk-U7VMFQFN.mjs.map} +1 -1
- package/dist/{chunk-AHNH2PMI.mjs → chunk-WE35EV7J.mjs} +3 -3
- package/dist/{chunk-AHNH2PMI.mjs.map → chunk-WE35EV7J.mjs.map} +1 -1
- package/dist/{chunk-UPYACFZJ.mjs → chunk-WTSMTLSP.mjs} +303 -347
- package/dist/chunk-WTSMTLSP.mjs.map +1 -0
- package/dist/{chunk-WOTKBKS6.js → chunk-YFMMZHL5.js} +47 -50
- package/dist/chunk-YFMMZHL5.js.map +1 -0
- package/dist/{chunk-DJ33CSGJ.mjs → chunk-ZBX7UCAP.mjs} +9 -37
- package/dist/chunk-ZBX7UCAP.mjs.map +1 -0
- package/dist/{chunk-NF5DDM5V.js → chunk-ZE6U4N4Q.js} +44 -43
- package/dist/chunk-ZE6U4N4Q.js.map +1 -0
- package/dist/{chunk-MQDCUBVW.js → chunk-ZIRD3X6G.js} +459 -503
- package/dist/chunk-ZIRD3X6G.js.map +1 -0
- package/dist/index.d.mts +77 -7
- package/dist/index.d.ts +77 -7
- package/dist/index.js +708 -704
- package/dist/index.mjs +3 -3
- package/dist/platform/admin/index.js +12 -12
- package/dist/platform/admin/index.mjs +6 -6
- package/dist/platform/agents-workspace.js +9 -9
- package/dist/platform/agents-workspace.mjs +8 -8
- package/dist/platform/app-shell.js +5 -5
- package/dist/platform/app-shell.mjs +4 -4
- package/dist/platform/auth/index.js +29 -29
- package/dist/platform/auth/index.mjs +6 -6
- package/dist/platform/billing/index.js +7 -7
- package/dist/platform/billing/index.mjs +5 -5
- package/dist/platform/impersonation/index.js +5 -5
- package/dist/platform/impersonation/index.mjs +4 -4
- package/dist/platform/index.js +99 -99
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/index.mjs +30 -30
- package/dist/platform/index.mjs.map +1 -1
- package/dist/platform/pages/index.d.mts +115 -3
- package/dist/platform/pages/index.d.ts +115 -3
- package/dist/platform/pages/index.js +966 -519
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +562 -121
- package/dist/platform/pages/index.mjs.map +1 -1
- package/dist/platform/settings/index.js +9 -9
- package/dist/platform/settings/index.mjs +8 -8
- package/dist/platform/workflow-canvas-shell.js +7 -7
- package/dist/platform/workflow-canvas-shell.mjs +6 -6
- package/package.json +1 -1
- package/dist/chunk-3VYD7QL2.mjs.map +0 -1
- package/dist/chunk-5ETT54QS.js.map +0 -1
- package/dist/chunk-6KDTVSZT.mjs.map +0 -1
- package/dist/chunk-6YTYD4P5.js.map +0 -1
- package/dist/chunk-AKWCT53S.mjs.map +0 -1
- package/dist/chunk-AMCFAGK3.js.map +0 -1
- package/dist/chunk-ANFSQJNI.mjs.map +0 -1
- package/dist/chunk-BHOT22QL.js.map +0 -1
- package/dist/chunk-D5OTZGA2.js.map +0 -1
- package/dist/chunk-DJ33CSGJ.mjs.map +0 -1
- package/dist/chunk-KWH7JIRP.mjs.map +0 -1
- package/dist/chunk-MQDCUBVW.js.map +0 -1
- package/dist/chunk-MSKKNPRE.mjs.map +0 -1
- package/dist/chunk-NF5DDM5V.js.map +0 -1
- package/dist/chunk-OC4AOYU5.mjs.map +0 -1
- package/dist/chunk-OY5HUZSD.js.map +0 -1
- package/dist/chunk-P4RVGMZL.js.map +0 -1
- package/dist/chunk-QGLGQXJE.js.map +0 -1
- package/dist/chunk-UPYACFZJ.mjs.map +0 -1
- package/dist/chunk-UXHJS2SH.mjs.map +0 -1
- package/dist/chunk-WOTKBKS6.js.map +0 -1
- package/dist/chunk-WR55H7DH.mjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var chunkA5OMGPMR_js = require('./chunk-A5OMGPMR.js');
|
|
5
|
+
var chunkFZUV7GNB_js = require('./chunk-FZUV7GNB.js');
|
|
6
6
|
var chunkY5VN4SPH_js = require('./chunk-Y5VN4SPH.js');
|
|
7
|
-
var
|
|
7
|
+
var chunkMXQ2EYG2_js = require('./chunk-MXQ2EYG2.js');
|
|
8
8
|
var chunkUZ3CMNUJ_js = require('./chunk-UZ3CMNUJ.js');
|
|
9
9
|
var react = require('react');
|
|
10
10
|
var outline = require('@heroicons/react/24/outline');
|
|
@@ -88,7 +88,7 @@ function AdminUserList({ client, onUserSelect }) {
|
|
|
88
88
|
};
|
|
89
89
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
90
90
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
91
|
-
|
|
91
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
92
92
|
{
|
|
93
93
|
header: {
|
|
94
94
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.UsersIcon, { className: "h-5 w-5 text-white" }),
|
|
@@ -98,19 +98,19 @@ function AdminUserList({ client, onUserSelect }) {
|
|
|
98
98
|
},
|
|
99
99
|
padded: false,
|
|
100
100
|
children: [
|
|
101
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
102
|
-
|
|
101
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
102
|
+
chunkFZUV7GNB_js.SearchInput,
|
|
103
103
|
{
|
|
104
104
|
value: search,
|
|
105
105
|
onChange: (event) => handleSearch(event.target.value),
|
|
106
106
|
placeholder: t("admin.users.searchPlaceholder")
|
|
107
107
|
}
|
|
108
108
|
) }),
|
|
109
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-
|
|
110
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
109
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-slate-500 dark:text-slate-400", children: [
|
|
110
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.InlineSpinner, {}),
|
|
111
111
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("admin.users.loading") })
|
|
112
112
|
] }) : users.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
113
|
-
|
|
113
|
+
chunkFZUV7GNB_js.EmptyState,
|
|
114
114
|
{
|
|
115
115
|
message: t("admin.users.emptyMessage"),
|
|
116
116
|
description: t("admin.users.emptyDescription"),
|
|
@@ -119,13 +119,13 @@ function AdminUserList({ client, onUserSelect }) {
|
|
|
119
119
|
}
|
|
120
120
|
) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
121
121
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
|
|
122
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "
|
|
123
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
124
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
125
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
126
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
127
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
128
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-
|
|
122
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "liquid-divider", children: [
|
|
123
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.users.columnUser") }),
|
|
124
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.users.columnRole") }),
|
|
125
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.users.columnStatus") }),
|
|
126
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 sm:table-cell", children: t("admin.users.columnSecurity") }),
|
|
127
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 md:table-cell", children: t("admin.users.columnLastLogin") }),
|
|
128
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.users.columnActions") })
|
|
129
129
|
] }) }),
|
|
130
130
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-gray-200/60 dark:divide-white/10", children: users.map((user) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
131
131
|
"tr",
|
|
@@ -135,7 +135,7 @@ function AdminUserList({ client, onUserSelect }) {
|
|
|
135
135
|
children: [
|
|
136
136
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
137
137
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
138
|
-
|
|
138
|
+
chunkFZUV7GNB_js.Avatar,
|
|
139
139
|
{
|
|
140
140
|
src: user.image ?? void 0,
|
|
141
141
|
initials: (user.name ?? user.email).slice(0, 2).toUpperCase(),
|
|
@@ -143,13 +143,13 @@ function AdminUserList({ client, onUserSelect }) {
|
|
|
143
143
|
}
|
|
144
144
|
),
|
|
145
145
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
146
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-sm font-medium text-
|
|
147
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-
|
|
146
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-sm font-medium text-slate-900 dark:text-white", children: user.name ?? user.email }),
|
|
147
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-slate-500 dark:text-slate-400", children: user.email })
|
|
148
148
|
] })
|
|
149
149
|
] }) }),
|
|
150
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
150
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: roleBadgeColor(user.role), children: user.role }) }),
|
|
151
151
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
152
|
-
|
|
152
|
+
chunkFZUV7GNB_js.StatusBadge,
|
|
153
153
|
{
|
|
154
154
|
status: user.status === "active" ? "active" : "inactive",
|
|
155
155
|
label: user.status,
|
|
@@ -160,9 +160,9 @@ function AdminUserList({ client, onUserSelect }) {
|
|
|
160
160
|
user.mfaEnabled && /* @__PURE__ */ jsxRuntime.jsx("span", { title: t("admin.users.mfaEnabled"), children: /* @__PURE__ */ jsxRuntime.jsx(outline.ShieldCheckIcon, { className: "h-4 w-4 text-emerald-500" }) }),
|
|
161
161
|
user.emailVerified && /* @__PURE__ */ jsxRuntime.jsx("span", { title: t("admin.users.emailVerified"), children: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-4 w-4 text-blue-500" }) })
|
|
162
162
|
] }) }),
|
|
163
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-
|
|
163
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-slate-500 dark:text-slate-400 md:table-cell", children: user.lastLoginAt ? format.relativeTime(new Date(user.lastLoginAt)) : t("admin.users.neverLoggedIn") }),
|
|
164
164
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
165
|
-
|
|
165
|
+
chunkMXQ2EYG2_js.Button,
|
|
166
166
|
{
|
|
167
167
|
size: "sm",
|
|
168
168
|
color: "ios-glass-red",
|
|
@@ -178,11 +178,11 @@ function AdminUserList({ client, onUserSelect }) {
|
|
|
178
178
|
user.id
|
|
179
179
|
)) })
|
|
180
180
|
] }) }),
|
|
181
|
-
totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-
|
|
182
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-
|
|
181
|
+
totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-t border-slate-200/60 px-4 py-3 dark:border-white/10", children: [
|
|
182
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("admin.users.pagination", { current: currentPage, total: totalPages, count: total }) }),
|
|
183
183
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
|
|
184
184
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
185
|
-
|
|
185
|
+
chunkMXQ2EYG2_js.Button,
|
|
186
186
|
{
|
|
187
187
|
size: "sm",
|
|
188
188
|
outline: true,
|
|
@@ -192,7 +192,7 @@ function AdminUserList({ client, onUserSelect }) {
|
|
|
192
192
|
}
|
|
193
193
|
),
|
|
194
194
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
195
|
-
|
|
195
|
+
chunkMXQ2EYG2_js.Button,
|
|
196
196
|
{
|
|
197
197
|
size: "sm",
|
|
198
198
|
outline: true,
|
|
@@ -208,7 +208,7 @@ function AdminUserList({ client, onUserSelect }) {
|
|
|
208
208
|
}
|
|
209
209
|
),
|
|
210
210
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
211
|
-
|
|
211
|
+
chunkFZUV7GNB_js.DynamicIslandConfirm,
|
|
212
212
|
{
|
|
213
213
|
open: deleteTarget !== null,
|
|
214
214
|
onClose: handleDeleteCancel,
|
|
@@ -275,7 +275,7 @@ function AdminUserForm({
|
|
|
275
275
|
}
|
|
276
276
|
}, [email, name, password, selectedRole, onSubmit, onClose, resetForm, t]);
|
|
277
277
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
278
|
-
|
|
278
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
279
279
|
{
|
|
280
280
|
open,
|
|
281
281
|
onClose: handleClose,
|
|
@@ -293,7 +293,7 @@ function AdminUserForm({
|
|
|
293
293
|
className: "space-y-4 p-4 sm:p-6",
|
|
294
294
|
children: [
|
|
295
295
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
296
|
-
|
|
296
|
+
chunkFZUV7GNB_js.Input,
|
|
297
297
|
{
|
|
298
298
|
label: t("admin.userForm.emailLabel"),
|
|
299
299
|
type: "email",
|
|
@@ -306,7 +306,7 @@ function AdminUserForm({
|
|
|
306
306
|
}
|
|
307
307
|
),
|
|
308
308
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
309
|
-
|
|
309
|
+
chunkFZUV7GNB_js.Input,
|
|
310
310
|
{
|
|
311
311
|
label: t("admin.userForm.nameLabel"),
|
|
312
312
|
value: name,
|
|
@@ -317,7 +317,7 @@ function AdminUserForm({
|
|
|
317
317
|
}
|
|
318
318
|
),
|
|
319
319
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
320
|
-
|
|
320
|
+
chunkFZUV7GNB_js.PasswordInput,
|
|
321
321
|
{
|
|
322
322
|
label: t("admin.userForm.passwordLabel"),
|
|
323
323
|
value: password,
|
|
@@ -327,17 +327,14 @@ function AdminUserForm({
|
|
|
327
327
|
autoComplete: "new-password"
|
|
328
328
|
}
|
|
329
329
|
),
|
|
330
|
-
password && /* @__PURE__ */ jsxRuntime.jsx(
|
|
330
|
+
password && /* @__PURE__ */ jsxRuntime.jsx(chunkA5OMGPMR_js.PasswordStrengthMeter, { password }),
|
|
331
331
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
332
332
|
/* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1.5 block text-sm font-medium text-gray-900 dark:text-white", children: t("admin.userForm.roleLabel") }),
|
|
333
333
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-3 gap-2 sm:grid-cols-4", children: roles.map((role) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
334
|
-
|
|
334
|
+
chunkFZUV7GNB_js.PickerTile,
|
|
335
335
|
{
|
|
336
|
-
|
|
337
|
-
onClick: () =>
|
|
338
|
-
setSelectedRole(role);
|
|
339
|
-
chunkUZ3CMNUJ_js.triggerHaptic("light");
|
|
340
|
-
},
|
|
336
|
+
selected: selectedRole === role,
|
|
337
|
+
onClick: () => setSelectedRole(role),
|
|
341
338
|
className: `rounded-xl border px-2 py-2 text-xs font-semibold backdrop-blur-xl transition ${selectedRole === role ? "border-indigo-400/80 bg-gradient-to-br from-indigo-100/85 via-white/80 to-sky-100/75 text-slate-900 dark:border-indigo-300/70 dark:bg-[linear-gradient(140deg,rgba(99,102,241,0.32)_0%,rgba(30,41,59,0.72)_100%)] dark:text-indigo-100" : "border-white/55 bg-gradient-to-br from-white/82 via-white/66 to-slate-100/62 text-slate-700 hover:from-white/92 hover:to-sky-100/72 dark:border-white/15 dark:bg-[linear-gradient(140deg,rgba(30,41,59,0.72)_0%,rgba(15,23,42,0.62)_100%)] dark:text-slate-100 dark:hover:bg-[linear-gradient(140deg,rgba(51,65,85,0.76)_0%,rgba(30,41,59,0.68)_100%)]"}`,
|
|
342
339
|
children: role
|
|
343
340
|
},
|
|
@@ -347,7 +344,7 @@ function AdminUserForm({
|
|
|
347
344
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: error }),
|
|
348
345
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3 pt-2", children: [
|
|
349
346
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
350
|
-
|
|
347
|
+
chunkMXQ2EYG2_js.Button,
|
|
351
348
|
{
|
|
352
349
|
type: "button",
|
|
353
350
|
outline: true,
|
|
@@ -358,7 +355,7 @@ function AdminUserForm({
|
|
|
358
355
|
}
|
|
359
356
|
),
|
|
360
357
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
361
|
-
|
|
358
|
+
chunkMXQ2EYG2_js.Button,
|
|
362
359
|
{
|
|
363
360
|
type: "submit",
|
|
364
361
|
color: "ios-glass-blue",
|
|
@@ -438,7 +435,7 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
438
435
|
}, []);
|
|
439
436
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
440
437
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
441
|
-
|
|
438
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
442
439
|
{
|
|
443
440
|
header: {
|
|
444
441
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.BuildingOffice2Icon, { className: "h-5 w-5 text-white" }),
|
|
@@ -448,19 +445,19 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
448
445
|
},
|
|
449
446
|
padded: false,
|
|
450
447
|
children: [
|
|
451
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
452
|
-
|
|
448
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
449
|
+
chunkFZUV7GNB_js.SearchInput,
|
|
453
450
|
{
|
|
454
451
|
value: search,
|
|
455
452
|
onChange: (event) => setSearch(event.target.value),
|
|
456
453
|
placeholder: t("admin.organizations.searchPlaceholder")
|
|
457
454
|
}
|
|
458
455
|
) }),
|
|
459
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-
|
|
460
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
456
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-slate-500 dark:text-slate-400", children: [
|
|
457
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.InlineSpinner, {}),
|
|
461
458
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("admin.organizations.loading") })
|
|
462
459
|
] }) : filteredOrganizations.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
463
|
-
|
|
460
|
+
chunkFZUV7GNB_js.EmptyState,
|
|
464
461
|
{
|
|
465
462
|
message: t("admin.organizations.emptyMessage"),
|
|
466
463
|
description: t("admin.organizations.emptyDescription"),
|
|
@@ -468,12 +465,12 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
468
465
|
variant: "card"
|
|
469
466
|
}
|
|
470
467
|
) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
|
|
471
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "
|
|
472
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
473
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
474
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
475
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
476
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-
|
|
468
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "liquid-divider", children: [
|
|
469
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.organizations.columnName") }),
|
|
470
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 sm:table-cell", children: t("admin.organizations.columnDisplayName") }),
|
|
471
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.organizations.columnStatus") }),
|
|
472
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 md:table-cell", children: t("admin.organizations.columnCreated") }),
|
|
473
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.organizations.columnActions") })
|
|
477
474
|
] }) }),
|
|
478
475
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-gray-200/60 dark:divide-white/10", children: filteredOrganizations.map((organization) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
479
476
|
"tr",
|
|
@@ -482,25 +479,25 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
482
479
|
onClick: () => handleOrganizationClick(organization),
|
|
483
480
|
children: [
|
|
484
481
|
/* @__PURE__ */ jsxRuntime.jsxs("td", { className: "px-4 py-3", children: [
|
|
485
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-
|
|
486
|
-
organization.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-
|
|
482
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-900 dark:text-white", children: organization.name }),
|
|
483
|
+
organization.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-slate-500 dark:text-slate-400", children: organization.description })
|
|
487
484
|
] }),
|
|
488
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-
|
|
485
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-slate-500 dark:text-slate-400 sm:table-cell", children: organization.displayName ?? "\u2014" }),
|
|
489
486
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
490
|
-
|
|
487
|
+
chunkFZUV7GNB_js.StatusBadge,
|
|
491
488
|
{
|
|
492
489
|
status: organization.enabled ? "active" : "inactive",
|
|
493
490
|
label: organization.enabled ? t("admin.organizations.statusEnabled") : t("admin.organizations.statusDisabled"),
|
|
494
491
|
size: "sm"
|
|
495
492
|
}
|
|
496
493
|
) }),
|
|
497
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-
|
|
494
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-slate-500 dark:text-slate-400 md:table-cell", children: format.dateTime(new Date(organization.createdAt), {
|
|
498
495
|
year: "numeric",
|
|
499
496
|
month: "short",
|
|
500
497
|
day: "numeric"
|
|
501
498
|
}) }),
|
|
502
499
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
503
|
-
|
|
500
|
+
chunkMXQ2EYG2_js.Button,
|
|
504
501
|
{
|
|
505
502
|
size: "sm",
|
|
506
503
|
color: "ios-glass-red",
|
|
@@ -520,7 +517,7 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
520
517
|
}
|
|
521
518
|
),
|
|
522
519
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
523
|
-
|
|
520
|
+
chunkFZUV7GNB_js.DynamicIslandConfirm,
|
|
524
521
|
{
|
|
525
522
|
open: deleteTarget !== null,
|
|
526
523
|
onClose: handleDeleteCancel,
|
|
@@ -600,7 +597,7 @@ function AdminOrganizationForm({
|
|
|
600
597
|
}
|
|
601
598
|
}, [name, displayName, description, isEditing, onSubmit, onClose, t]);
|
|
602
599
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
603
|
-
|
|
600
|
+
chunkFZUV7GNB_js.GlassModal,
|
|
604
601
|
{
|
|
605
602
|
open,
|
|
606
603
|
onClose: handleClose,
|
|
@@ -618,7 +615,7 @@ function AdminOrganizationForm({
|
|
|
618
615
|
className: "space-y-4 p-4 sm:p-6",
|
|
619
616
|
children: [
|
|
620
617
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
621
|
-
|
|
618
|
+
chunkFZUV7GNB_js.Input,
|
|
622
619
|
{
|
|
623
620
|
label: t("admin.organizationForm.nameLabel"),
|
|
624
621
|
value: name,
|
|
@@ -629,7 +626,7 @@ function AdminOrganizationForm({
|
|
|
629
626
|
}
|
|
630
627
|
),
|
|
631
628
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
632
|
-
|
|
629
|
+
chunkFZUV7GNB_js.Input,
|
|
633
630
|
{
|
|
634
631
|
label: t("admin.organizationForm.displayNameLabel"),
|
|
635
632
|
value: displayName,
|
|
@@ -639,7 +636,7 @@ function AdminOrganizationForm({
|
|
|
639
636
|
}
|
|
640
637
|
),
|
|
641
638
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
642
|
-
|
|
639
|
+
chunkFZUV7GNB_js.Input,
|
|
643
640
|
{
|
|
644
641
|
label: t("admin.organizationForm.descriptionLabel"),
|
|
645
642
|
value: description,
|
|
@@ -651,7 +648,7 @@ function AdminOrganizationForm({
|
|
|
651
648
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: error }),
|
|
652
649
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3 pt-2", children: [
|
|
653
650
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
654
|
-
|
|
651
|
+
chunkMXQ2EYG2_js.Button,
|
|
655
652
|
{
|
|
656
653
|
type: "button",
|
|
657
654
|
outline: true,
|
|
@@ -662,7 +659,7 @@ function AdminOrganizationForm({
|
|
|
662
659
|
}
|
|
663
660
|
),
|
|
664
661
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
665
|
-
|
|
662
|
+
chunkMXQ2EYG2_js.Button,
|
|
666
663
|
{
|
|
667
664
|
type: "submit",
|
|
668
665
|
color: "ios-glass-blue",
|
|
@@ -819,33 +816,33 @@ function AdminPermissionList({ client }) {
|
|
|
819
816
|
}, []);
|
|
820
817
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
821
818
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
822
|
-
|
|
819
|
+
chunkFZUV7GNB_js.SectionCard,
|
|
823
820
|
{
|
|
824
821
|
header: {
|
|
825
822
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5 text-white" }),
|
|
826
823
|
title: t("admin.permissions.title"),
|
|
827
824
|
subtitle: t("admin.permissions.subtitle"),
|
|
828
825
|
gradient: "from-violet-500 via-purple-500 to-pink-500",
|
|
829
|
-
rightContent: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
826
|
+
rightContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Button, { size: "sm", color: "ios-glass-blue", onClick: handleOpenCreate, children: [
|
|
830
827
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
831
828
|
t("admin.permissions.createButton")
|
|
832
829
|
] })
|
|
833
830
|
},
|
|
834
831
|
padded: false,
|
|
835
832
|
children: [
|
|
836
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
837
|
-
|
|
833
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
834
|
+
chunkFZUV7GNB_js.SearchInput,
|
|
838
835
|
{
|
|
839
836
|
value: search,
|
|
840
837
|
onChange: (event) => setSearch(event.target.value),
|
|
841
838
|
placeholder: t("admin.permissions.searchPlaceholder")
|
|
842
839
|
}
|
|
843
840
|
) }),
|
|
844
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-
|
|
845
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
841
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-slate-500 dark:text-slate-400", children: [
|
|
842
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.InlineSpinner, {}),
|
|
846
843
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("admin.permissions.loading") })
|
|
847
844
|
] }) : filteredPermissions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
848
|
-
|
|
845
|
+
chunkFZUV7GNB_js.EmptyState,
|
|
849
846
|
{
|
|
850
847
|
message: t("admin.permissions.emptyMessage"),
|
|
851
848
|
description: t("admin.permissions.emptyDescription"),
|
|
@@ -857,28 +854,28 @@ function AdminPermissionList({ client }) {
|
|
|
857
854
|
variant: "card"
|
|
858
855
|
}
|
|
859
856
|
) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
|
|
860
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "
|
|
861
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
862
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
863
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
864
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-
|
|
865
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-
|
|
857
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "liquid-divider", children: [
|
|
858
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.permissions.columnName") }),
|
|
859
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 sm:table-cell", children: t("admin.permissions.columnResource") }),
|
|
860
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 sm:table-cell", children: t("admin.permissions.columnAction") }),
|
|
861
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "hidden px-4 py-3 text-left text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400 md:table-cell", children: t("admin.permissions.columnCreated") }),
|
|
862
|
+
/* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-right text-xs font-medium uppercase tracking-wide text-slate-500 dark:text-slate-400", children: t("admin.permissions.columnActions") })
|
|
866
863
|
] }) }),
|
|
867
864
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-gray-200/60 dark:divide-white/10", children: filteredPermissions.map((permission) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "transition-colors hover:bg-white/40 dark:hover:bg-white/5", children: [
|
|
868
865
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
869
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-
|
|
870
|
-
permission.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-
|
|
866
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-900 dark:text-white", children: permission.name }),
|
|
867
|
+
permission.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-slate-500 dark:text-slate-400", children: permission.description })
|
|
871
868
|
] }) }),
|
|
872
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.resource ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
873
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.action ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
874
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-
|
|
869
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.resource ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "blue", children: permission.resource }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400 dark:text-slate-500", children: "\u2014" }) }),
|
|
870
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.action ? /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "amber", children: permission.action }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400 dark:text-slate-500", children: "\u2014" }) }),
|
|
871
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-slate-500 dark:text-slate-400 md:table-cell", children: format.dateTime(new Date(permission.createdAt), {
|
|
875
872
|
year: "numeric",
|
|
876
873
|
month: "short",
|
|
877
874
|
day: "numeric"
|
|
878
875
|
}) }),
|
|
879
876
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-end gap-1", children: [
|
|
880
877
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
881
|
-
|
|
878
|
+
chunkMXQ2EYG2_js.Button,
|
|
882
879
|
{
|
|
883
880
|
size: "sm",
|
|
884
881
|
outline: true,
|
|
@@ -887,7 +884,7 @@ function AdminPermissionList({ client }) {
|
|
|
887
884
|
}
|
|
888
885
|
),
|
|
889
886
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
890
|
-
|
|
887
|
+
chunkMXQ2EYG2_js.Button,
|
|
891
888
|
{
|
|
892
889
|
size: "sm",
|
|
893
890
|
color: "ios-glass-red",
|
|
@@ -902,7 +899,7 @@ function AdminPermissionList({ client }) {
|
|
|
902
899
|
}
|
|
903
900
|
),
|
|
904
901
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
905
|
-
|
|
902
|
+
chunkFZUV7GNB_js.Sheet,
|
|
906
903
|
{
|
|
907
904
|
open: isFormOpen,
|
|
908
905
|
onClose: handleCloseForm,
|
|
@@ -911,7 +908,7 @@ function AdminPermissionList({ client }) {
|
|
|
911
908
|
size: "md",
|
|
912
909
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 p-4 sm:p-6", children: [
|
|
913
910
|
!editingPermission && /* @__PURE__ */ jsxRuntime.jsx(
|
|
914
|
-
|
|
911
|
+
chunkFZUV7GNB_js.Input,
|
|
915
912
|
{
|
|
916
913
|
label: t("admin.permissions.formIdLabel"),
|
|
917
914
|
value: formId,
|
|
@@ -922,7 +919,7 @@ function AdminPermissionList({ client }) {
|
|
|
922
919
|
}
|
|
923
920
|
),
|
|
924
921
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
925
|
-
|
|
922
|
+
chunkFZUV7GNB_js.Input,
|
|
926
923
|
{
|
|
927
924
|
label: t("admin.permissions.formNameLabel"),
|
|
928
925
|
value: formName,
|
|
@@ -933,7 +930,7 @@ function AdminPermissionList({ client }) {
|
|
|
933
930
|
}
|
|
934
931
|
),
|
|
935
932
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
936
|
-
|
|
933
|
+
chunkFZUV7GNB_js.Input,
|
|
937
934
|
{
|
|
938
935
|
label: t("admin.permissions.formDescriptionLabel"),
|
|
939
936
|
value: formDescription,
|
|
@@ -944,7 +941,7 @@ function AdminPermissionList({ client }) {
|
|
|
944
941
|
),
|
|
945
942
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
946
943
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
947
|
-
|
|
944
|
+
chunkFZUV7GNB_js.Input,
|
|
948
945
|
{
|
|
949
946
|
label: t("admin.permissions.formResourceLabel"),
|
|
950
947
|
value: formResource,
|
|
@@ -954,7 +951,7 @@ function AdminPermissionList({ client }) {
|
|
|
954
951
|
}
|
|
955
952
|
),
|
|
956
953
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
957
|
-
|
|
954
|
+
chunkFZUV7GNB_js.Input,
|
|
958
955
|
{
|
|
959
956
|
label: t("admin.permissions.formActionLabel"),
|
|
960
957
|
value: formAction,
|
|
@@ -967,7 +964,7 @@ function AdminPermissionList({ client }) {
|
|
|
967
964
|
formError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: formError }),
|
|
968
965
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3", children: [
|
|
969
966
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
970
|
-
|
|
967
|
+
chunkMXQ2EYG2_js.Button,
|
|
971
968
|
{
|
|
972
969
|
outline: true,
|
|
973
970
|
onClick: handleCloseForm,
|
|
@@ -977,7 +974,7 @@ function AdminPermissionList({ client }) {
|
|
|
977
974
|
}
|
|
978
975
|
),
|
|
979
976
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
980
|
-
|
|
977
|
+
chunkMXQ2EYG2_js.Button,
|
|
981
978
|
{
|
|
982
979
|
color: "ios-glass-blue",
|
|
983
980
|
onClick: handleSubmitForm,
|
|
@@ -992,7 +989,7 @@ function AdminPermissionList({ client }) {
|
|
|
992
989
|
}
|
|
993
990
|
),
|
|
994
991
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
995
|
-
|
|
992
|
+
chunkFZUV7GNB_js.DynamicIslandConfirm,
|
|
996
993
|
{
|
|
997
994
|
open: deleteTarget !== null,
|
|
998
995
|
onClose: handleDeleteCancel,
|
|
@@ -1012,5 +1009,5 @@ exports.AdminOrganizationList = AdminOrganizationList;
|
|
|
1012
1009
|
exports.AdminPermissionList = AdminPermissionList;
|
|
1013
1010
|
exports.AdminUserForm = AdminUserForm;
|
|
1014
1011
|
exports.AdminUserList = AdminUserList;
|
|
1015
|
-
//# sourceMappingURL=chunk-
|
|
1016
|
-
//# sourceMappingURL=chunk-
|
|
1012
|
+
//# sourceMappingURL=chunk-PXGESUKI.js.map
|
|
1013
|
+
//# sourceMappingURL=chunk-PXGESUKI.js.map
|