@datatechsolutions/ui 3.12.1 → 3.13.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/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-BPMYNE7S.mjs → chunk-3VCSMSJB.mjs} +6 -6
- package/dist/{chunk-BPMYNE7S.mjs.map → chunk-3VCSMSJB.mjs.map} +1 -1
- package/dist/{chunk-OM5NNUD2.mjs → chunk-4MNKVDTJ.mjs} +9 -8
- package/dist/chunk-4MNKVDTJ.mjs.map +1 -0
- package/dist/{chunk-PIIY2Z2O.mjs → chunk-4QCO4CBC.mjs} +4 -4
- package/dist/{chunk-PIIY2Z2O.mjs.map → chunk-4QCO4CBC.mjs.map} +1 -1
- package/dist/{chunk-4D23CQZM.mjs → chunk-4VEQJAXJ.mjs} +6 -6
- package/dist/{chunk-4D23CQZM.mjs.map → chunk-4VEQJAXJ.mjs.map} +1 -1
- package/dist/{chunk-FKRIQYRG.js → chunk-4Z5NZINA.js} +431 -481
- package/dist/chunk-4Z5NZINA.js.map +1 -0
- package/dist/{chunk-Z75CEP4V.js → chunk-54T5F65C.js} +29 -29
- package/dist/{chunk-Z75CEP4V.js.map → chunk-54T5F65C.js.map} +1 -1
- package/dist/{chunk-V3UZCOZI.js → chunk-7IAWXG43.js} +35 -35
- package/dist/{chunk-V3UZCOZI.js.map → chunk-7IAWXG43.js.map} +1 -1
- package/dist/{chunk-PLEWG2L7.js → chunk-AC54BNSK.js} +15 -15
- package/dist/{chunk-PLEWG2L7.js.map → chunk-AC54BNSK.js.map} +1 -1
- package/dist/{chunk-ID55ABBB.js → chunk-B3TA74C4.js} +100 -100
- package/dist/chunk-B3TA74C4.js.map +1 -0
- package/dist/{chunk-5OZTI7TR.js → chunk-CKY2QIRR.js} +6 -6
- package/dist/{chunk-5OZTI7TR.js.map → chunk-CKY2QIRR.js.map} +1 -1
- package/dist/{chunk-EZQ2D47U.js → chunk-CVEI4RQP.js} +4 -4
- package/dist/{chunk-EZQ2D47U.js.map → chunk-CVEI4RQP.js.map} +1 -1
- package/dist/{chunk-NK4H3JWN.mjs → chunk-DJHNSBIR.mjs} +63 -100
- package/dist/chunk-DJHNSBIR.mjs.map +1 -0
- package/dist/{chunk-P4RVGMZL.js → chunk-DTFU3ZTD.js} +5 -33
- package/dist/chunk-DTFU3ZTD.js.map +1 -0
- package/dist/{chunk-BHOT22QL.js → chunk-EBARYRSA.js} +2 -2
- package/dist/{chunk-BHOT22QL.js.map → chunk-EBARYRSA.js.map} +1 -1
- package/dist/{chunk-QGLGQXJE.js → chunk-FV42SSLP.js} +10 -10
- package/dist/chunk-FV42SSLP.js.map +1 -0
- package/dist/{chunk-RT264BD4.mjs → chunk-M4KRQXOT.mjs} +4 -4
- package/dist/{chunk-RT264BD4.mjs.map → chunk-M4KRQXOT.mjs.map} +1 -1
- package/dist/{chunk-WR55H7DH.mjs → chunk-O4RZCDP2.mjs} +2 -2
- package/dist/{chunk-WR55H7DH.mjs.map → chunk-O4RZCDP2.mjs.map} +1 -1
- package/dist/{chunk-VYU2FYDE.js → chunk-PM7A5I3X.js} +146 -183
- package/dist/chunk-PM7A5I3X.js.map +1 -0
- package/dist/{chunk-TDNBO3V7.js → chunk-Q7QPHZOV.js} +74 -74
- package/dist/{chunk-TDNBO3V7.js.map → chunk-Q7QPHZOV.js.map} +1 -1
- package/dist/{chunk-OW5LSEHU.mjs → chunk-QEACOJXX.mjs} +74 -74
- package/dist/chunk-QEACOJXX.mjs.map +1 -0
- package/dist/{chunk-N5GQIT7A.mjs → chunk-RMPXGEFL.mjs} +11 -10
- package/dist/chunk-RMPXGEFL.mjs.map +1 -0
- package/dist/{chunk-QSCWV47U.js → chunk-RPNMDGRA.js} +50 -50
- package/dist/chunk-RPNMDGRA.js.map +1 -0
- package/dist/{chunk-5TLKFOEL.mjs → chunk-RSCRIDMW.mjs} +275 -313
- package/dist/chunk-RSCRIDMW.mjs.map +1 -0
- package/dist/{chunk-XGAPZT4J.js → chunk-RUZPOHJW.js} +48 -47
- package/dist/chunk-RUZPOHJW.js.map +1 -0
- package/dist/{chunk-ULKZGM2T.js → chunk-RWZ2PLMQ.js} +177 -177
- package/dist/chunk-RWZ2PLMQ.js.map +1 -0
- package/dist/{chunk-UVFWKDRO.mjs → chunk-SCGICCQM.mjs} +15 -15
- package/dist/chunk-SCGICCQM.mjs.map +1 -0
- package/dist/{chunk-EDI46QA7.mjs → chunk-TRNDFSM6.mjs} +274 -324
- package/dist/chunk-TRNDFSM6.mjs.map +1 -0
- package/dist/{chunk-LRNVB7MO.js → chunk-ULSG4JLR.js} +6 -6
- package/dist/{chunk-LRNVB7MO.js.map → chunk-ULSG4JLR.js.map} +1 -1
- package/dist/{chunk-MFF37C24.js → chunk-UPWJRCAD.js} +445 -483
- package/dist/chunk-UPWJRCAD.js.map +1 -0
- package/dist/{chunk-RBH723MG.mjs → chunk-UUTTS3VV.mjs} +45 -45
- package/dist/chunk-UUTTS3VV.mjs.map +1 -0
- package/dist/{chunk-MYHBXIO2.js → chunk-VCL5LDS5.js} +42 -41
- package/dist/chunk-VCL5LDS5.js.map +1 -0
- package/dist/{chunk-PLTLRL2V.mjs → chunk-VPRAESA7.mjs} +3 -3
- package/dist/{chunk-PLTLRL2V.mjs.map → chunk-VPRAESA7.mjs.map} +1 -1
- package/dist/{chunk-HTODLUKG.js → chunk-VWZ53TE2.js} +12 -12
- package/dist/{chunk-HTODLUKG.js.map → chunk-VWZ53TE2.js.map} +1 -1
- package/dist/{chunk-3VYD7QL2.mjs → chunk-WX44DAQD.mjs} +9 -9
- package/dist/chunk-WX44DAQD.mjs.map +1 -0
- package/dist/{chunk-DJ33CSGJ.mjs → chunk-XYMHIZ3K.mjs} +5 -33
- package/dist/chunk-XYMHIZ3K.mjs.map +1 -0
- package/dist/{chunk-YXN2K77G.js → chunk-Y5VN4SPH.js} +26 -3
- package/dist/chunk-Y5VN4SPH.js.map +1 -0
- package/dist/{chunk-NQGLSM46.mjs → chunk-Y65X2NHF.mjs} +4 -4
- package/dist/{chunk-NQGLSM46.mjs.map → chunk-Y65X2NHF.mjs.map} +1 -1
- package/dist/{chunk-YYNGXKUE.mjs → chunk-YHD6SJIN.mjs} +15 -15
- package/dist/{chunk-YYNGXKUE.mjs.map → chunk-YHD6SJIN.mjs.map} +1 -1
- package/dist/{chunk-7VJ7CMMT.mjs → chunk-ZEFNBGYI.mjs} +26 -3
- package/dist/chunk-ZEFNBGYI.mjs.map +1 -0
- package/dist/{chunk-WLNY3GVM.mjs → chunk-ZPV7X4ZE.mjs} +7 -7
- package/dist/{chunk-WLNY3GVM.mjs.map → chunk-ZPV7X4ZE.mjs.map} +1 -1
- package/dist/index.js +709 -709
- package/dist/index.mjs +3 -3
- package/dist/lib/i18n-context.d.mts +12 -4
- package/dist/lib/i18n-context.d.ts +12 -4
- package/dist/lib/i18n-context.js +6 -6
- package/dist/lib/i18n-context.mjs +1 -1
- 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.d.mts +1 -1
- package/dist/platform/index.d.ts +1 -1
- package/dist/platform/index.js +112 -112
- 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 +12 -2
- package/dist/platform/pages/index.d.ts +12 -2
- package/dist/platform/pages/index.js +451 -450
- package/dist/platform/pages/index.js.map +1 -1
- package/dist/platform/pages/index.mjs +51 -50
- 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 +2 -1
- package/dist/chunk-3VYD7QL2.mjs.map +0 -1
- package/dist/chunk-5TLKFOEL.mjs.map +0 -1
- package/dist/chunk-7VJ7CMMT.mjs.map +0 -1
- package/dist/chunk-DJ33CSGJ.mjs.map +0 -1
- package/dist/chunk-EDI46QA7.mjs.map +0 -1
- package/dist/chunk-FKRIQYRG.js.map +0 -1
- package/dist/chunk-ID55ABBB.js.map +0 -1
- package/dist/chunk-MFF37C24.js.map +0 -1
- package/dist/chunk-MYHBXIO2.js.map +0 -1
- package/dist/chunk-N5GQIT7A.mjs.map +0 -1
- package/dist/chunk-NK4H3JWN.mjs.map +0 -1
- package/dist/chunk-OM5NNUD2.mjs.map +0 -1
- package/dist/chunk-OW5LSEHU.mjs.map +0 -1
- package/dist/chunk-P4RVGMZL.js.map +0 -1
- package/dist/chunk-QGLGQXJE.js.map +0 -1
- package/dist/chunk-QSCWV47U.js.map +0 -1
- package/dist/chunk-RBH723MG.mjs.map +0 -1
- package/dist/chunk-ULKZGM2T.js.map +0 -1
- package/dist/chunk-UVFWKDRO.mjs.map +0 -1
- package/dist/chunk-VYU2FYDE.js.map +0 -1
- package/dist/chunk-XGAPZT4J.js.map +0 -1
- package/dist/chunk-YXN2K77G.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
4
|
+
var chunkFV42SSLP_js = require('./chunk-FV42SSLP.js');
|
|
5
|
+
var chunkRWZ2PLMQ_js = require('./chunk-RWZ2PLMQ.js');
|
|
6
|
+
var chunkY5VN4SPH_js = require('./chunk-Y5VN4SPH.js');
|
|
7
|
+
var chunkEBARYRSA_js = require('./chunk-EBARYRSA.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');
|
|
@@ -12,8 +12,8 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
12
12
|
|
|
13
13
|
var PAGE_SIZE = 20;
|
|
14
14
|
function AdminUserList({ client, onUserSelect }) {
|
|
15
|
-
const t =
|
|
16
|
-
const format =
|
|
15
|
+
const t = chunkY5VN4SPH_js.useTranslations("windsock");
|
|
16
|
+
const format = chunkY5VN4SPH_js.useFormatter();
|
|
17
17
|
const [users, setUsers] = react.useState([]);
|
|
18
18
|
const [total, setTotal] = react.useState(0);
|
|
19
19
|
const [isLoading, setIsLoading] = react.useState(true);
|
|
@@ -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
|
+
chunkRWZ2PLMQ_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
|
+
chunkRWZ2PLMQ_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(chunkRWZ2PLMQ_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
|
+
chunkRWZ2PLMQ_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
|
+
chunkRWZ2PLMQ_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(chunkEBARYRSA_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
|
+
chunkRWZ2PLMQ_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
|
+
chunkEBARYRSA_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
|
+
chunkEBARYRSA_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
|
+
chunkEBARYRSA_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
|
+
chunkRWZ2PLMQ_js.DynamicIslandConfirm,
|
|
212
212
|
{
|
|
213
213
|
open: deleteTarget !== null,
|
|
214
214
|
onClose: handleDeleteCancel,
|
|
@@ -229,7 +229,7 @@ function AdminUserForm({
|
|
|
229
229
|
onSubmit,
|
|
230
230
|
roles = DEFAULT_ROLES
|
|
231
231
|
}) {
|
|
232
|
-
const t =
|
|
232
|
+
const t = chunkY5VN4SPH_js.useTranslations("windsock");
|
|
233
233
|
const [email, setEmail] = react.useState("");
|
|
234
234
|
const [name, setName] = react.useState("");
|
|
235
235
|
const [password, setPassword] = react.useState("");
|
|
@@ -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
|
+
chunkRWZ2PLMQ_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
|
+
chunkRWZ2PLMQ_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
|
+
chunkRWZ2PLMQ_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
|
+
chunkRWZ2PLMQ_js.PasswordInput,
|
|
321
321
|
{
|
|
322
322
|
label: t("admin.userForm.passwordLabel"),
|
|
323
323
|
value: password,
|
|
@@ -327,7 +327,7 @@ function AdminUserForm({
|
|
|
327
327
|
autoComplete: "new-password"
|
|
328
328
|
}
|
|
329
329
|
),
|
|
330
|
-
password && /* @__PURE__ */ jsxRuntime.jsx(
|
|
330
|
+
password && /* @__PURE__ */ jsxRuntime.jsx(chunkFV42SSLP_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(
|
|
@@ -347,7 +347,7 @@ function AdminUserForm({
|
|
|
347
347
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: error }),
|
|
348
348
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3 pt-2", children: [
|
|
349
349
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
350
|
-
|
|
350
|
+
chunkEBARYRSA_js.Button,
|
|
351
351
|
{
|
|
352
352
|
type: "button",
|
|
353
353
|
outline: true,
|
|
@@ -358,7 +358,7 @@ function AdminUserForm({
|
|
|
358
358
|
}
|
|
359
359
|
),
|
|
360
360
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
361
|
-
|
|
361
|
+
chunkEBARYRSA_js.Button,
|
|
362
362
|
{
|
|
363
363
|
type: "submit",
|
|
364
364
|
color: "ios-glass-blue",
|
|
@@ -376,8 +376,8 @@ function AdminUserForm({
|
|
|
376
376
|
);
|
|
377
377
|
}
|
|
378
378
|
function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
379
|
-
const t =
|
|
380
|
-
const format =
|
|
379
|
+
const t = chunkY5VN4SPH_js.useTranslations("windsock");
|
|
380
|
+
const format = chunkY5VN4SPH_js.useFormatter();
|
|
381
381
|
const [organizations, setOrganizations] = react.useState([]);
|
|
382
382
|
const [filteredOrganizations, setFilteredOrganizations] = react.useState([]);
|
|
383
383
|
const [isLoading, setIsLoading] = react.useState(true);
|
|
@@ -438,7 +438,7 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
438
438
|
}, []);
|
|
439
439
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
440
440
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
441
|
-
|
|
441
|
+
chunkRWZ2PLMQ_js.SectionCard,
|
|
442
442
|
{
|
|
443
443
|
header: {
|
|
444
444
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.BuildingOffice2Icon, { className: "h-5 w-5 text-white" }),
|
|
@@ -448,19 +448,19 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
448
448
|
},
|
|
449
449
|
padded: false,
|
|
450
450
|
children: [
|
|
451
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
452
|
-
|
|
451
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
452
|
+
chunkRWZ2PLMQ_js.SearchInput,
|
|
453
453
|
{
|
|
454
454
|
value: search,
|
|
455
455
|
onChange: (event) => setSearch(event.target.value),
|
|
456
456
|
placeholder: t("admin.organizations.searchPlaceholder")
|
|
457
457
|
}
|
|
458
458
|
) }),
|
|
459
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-
|
|
460
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
459
|
+
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: [
|
|
460
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkRWZ2PLMQ_js.InlineSpinner, {}),
|
|
461
461
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("admin.organizations.loading") })
|
|
462
462
|
] }) : filteredOrganizations.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
463
|
-
|
|
463
|
+
chunkRWZ2PLMQ_js.EmptyState,
|
|
464
464
|
{
|
|
465
465
|
message: t("admin.organizations.emptyMessage"),
|
|
466
466
|
description: t("admin.organizations.emptyDescription"),
|
|
@@ -468,12 +468,12 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
468
468
|
variant: "card"
|
|
469
469
|
}
|
|
470
470
|
) }) : /* @__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-
|
|
471
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "liquid-divider", children: [
|
|
472
|
+
/* @__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") }),
|
|
473
|
+
/* @__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") }),
|
|
474
|
+
/* @__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") }),
|
|
475
|
+
/* @__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") }),
|
|
476
|
+
/* @__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
477
|
] }) }),
|
|
478
478
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { className: "divide-y divide-gray-200/60 dark:divide-white/10", children: filteredOrganizations.map((organization) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
479
479
|
"tr",
|
|
@@ -482,25 +482,25 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
482
482
|
onClick: () => handleOrganizationClick(organization),
|
|
483
483
|
children: [
|
|
484
484
|
/* @__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-
|
|
485
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-900 dark:text-white", children: organization.name }),
|
|
486
|
+
organization.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-slate-500 dark:text-slate-400", children: organization.description })
|
|
487
487
|
] }),
|
|
488
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-
|
|
488
|
+
/* @__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
489
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
490
|
-
|
|
490
|
+
chunkRWZ2PLMQ_js.StatusBadge,
|
|
491
491
|
{
|
|
492
492
|
status: organization.enabled ? "active" : "inactive",
|
|
493
493
|
label: organization.enabled ? t("admin.organizations.statusEnabled") : t("admin.organizations.statusDisabled"),
|
|
494
494
|
size: "sm"
|
|
495
495
|
}
|
|
496
496
|
) }),
|
|
497
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 text-
|
|
497
|
+
/* @__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
498
|
year: "numeric",
|
|
499
499
|
month: "short",
|
|
500
500
|
day: "numeric"
|
|
501
501
|
}) }),
|
|
502
502
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
503
|
-
|
|
503
|
+
chunkEBARYRSA_js.Button,
|
|
504
504
|
{
|
|
505
505
|
size: "sm",
|
|
506
506
|
color: "ios-glass-red",
|
|
@@ -520,7 +520,7 @@ function AdminOrganizationList({ client, onOrganizationSelect }) {
|
|
|
520
520
|
}
|
|
521
521
|
),
|
|
522
522
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
523
|
-
|
|
523
|
+
chunkRWZ2PLMQ_js.DynamicIslandConfirm,
|
|
524
524
|
{
|
|
525
525
|
open: deleteTarget !== null,
|
|
526
526
|
onClose: handleDeleteCancel,
|
|
@@ -540,7 +540,7 @@ function AdminOrganizationForm({
|
|
|
540
540
|
organization,
|
|
541
541
|
onSubmit
|
|
542
542
|
}) {
|
|
543
|
-
const t =
|
|
543
|
+
const t = chunkY5VN4SPH_js.useTranslations("windsock");
|
|
544
544
|
const isEditing = organization !== null && organization !== void 0;
|
|
545
545
|
const [name, setName] = react.useState("");
|
|
546
546
|
const [displayName, setDisplayName] = react.useState("");
|
|
@@ -600,7 +600,7 @@ function AdminOrganizationForm({
|
|
|
600
600
|
}
|
|
601
601
|
}, [name, displayName, description, isEditing, onSubmit, onClose, t]);
|
|
602
602
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
603
|
-
|
|
603
|
+
chunkRWZ2PLMQ_js.GlassModal,
|
|
604
604
|
{
|
|
605
605
|
open,
|
|
606
606
|
onClose: handleClose,
|
|
@@ -618,7 +618,7 @@ function AdminOrganizationForm({
|
|
|
618
618
|
className: "space-y-4 p-4 sm:p-6",
|
|
619
619
|
children: [
|
|
620
620
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
621
|
-
|
|
621
|
+
chunkRWZ2PLMQ_js.Input,
|
|
622
622
|
{
|
|
623
623
|
label: t("admin.organizationForm.nameLabel"),
|
|
624
624
|
value: name,
|
|
@@ -629,7 +629,7 @@ function AdminOrganizationForm({
|
|
|
629
629
|
}
|
|
630
630
|
),
|
|
631
631
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
632
|
-
|
|
632
|
+
chunkRWZ2PLMQ_js.Input,
|
|
633
633
|
{
|
|
634
634
|
label: t("admin.organizationForm.displayNameLabel"),
|
|
635
635
|
value: displayName,
|
|
@@ -639,7 +639,7 @@ function AdminOrganizationForm({
|
|
|
639
639
|
}
|
|
640
640
|
),
|
|
641
641
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
642
|
-
|
|
642
|
+
chunkRWZ2PLMQ_js.Input,
|
|
643
643
|
{
|
|
644
644
|
label: t("admin.organizationForm.descriptionLabel"),
|
|
645
645
|
value: description,
|
|
@@ -651,7 +651,7 @@ function AdminOrganizationForm({
|
|
|
651
651
|
error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: error }),
|
|
652
652
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3 pt-2", children: [
|
|
653
653
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
654
|
-
|
|
654
|
+
chunkEBARYRSA_js.Button,
|
|
655
655
|
{
|
|
656
656
|
type: "button",
|
|
657
657
|
outline: true,
|
|
@@ -662,7 +662,7 @@ function AdminOrganizationForm({
|
|
|
662
662
|
}
|
|
663
663
|
),
|
|
664
664
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
665
|
-
|
|
665
|
+
chunkEBARYRSA_js.Button,
|
|
666
666
|
{
|
|
667
667
|
type: "submit",
|
|
668
668
|
color: "ios-glass-blue",
|
|
@@ -680,8 +680,8 @@ function AdminOrganizationForm({
|
|
|
680
680
|
);
|
|
681
681
|
}
|
|
682
682
|
function AdminPermissionList({ client }) {
|
|
683
|
-
const t =
|
|
684
|
-
const format =
|
|
683
|
+
const t = chunkY5VN4SPH_js.useTranslations("windsock");
|
|
684
|
+
const format = chunkY5VN4SPH_js.useFormatter();
|
|
685
685
|
const [permissions, setPermissions] = react.useState([]);
|
|
686
686
|
const [filteredPermissions, setFilteredPermissions] = react.useState([]);
|
|
687
687
|
const [isLoading, setIsLoading] = react.useState(true);
|
|
@@ -819,33 +819,33 @@ function AdminPermissionList({ client }) {
|
|
|
819
819
|
}, []);
|
|
820
820
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
821
821
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
822
|
-
|
|
822
|
+
chunkRWZ2PLMQ_js.SectionCard,
|
|
823
823
|
{
|
|
824
824
|
header: {
|
|
825
825
|
icon: /* @__PURE__ */ jsxRuntime.jsx(outline.KeyIcon, { className: "h-5 w-5 text-white" }),
|
|
826
826
|
title: t("admin.permissions.title"),
|
|
827
827
|
subtitle: t("admin.permissions.subtitle"),
|
|
828
828
|
gradient: "from-violet-500 via-purple-500 to-pink-500",
|
|
829
|
-
rightContent: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
829
|
+
rightContent: /* @__PURE__ */ jsxRuntime.jsxs(chunkEBARYRSA_js.Button, { size: "sm", color: "ios-glass-blue", onClick: handleOpenCreate, children: [
|
|
830
830
|
/* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "mr-1 h-3.5 w-3.5" }),
|
|
831
831
|
t("admin.permissions.createButton")
|
|
832
832
|
] })
|
|
833
833
|
},
|
|
834
834
|
padded: false,
|
|
835
835
|
children: [
|
|
836
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "
|
|
837
|
-
|
|
836
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "liquid-divider p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
837
|
+
chunkRWZ2PLMQ_js.SearchInput,
|
|
838
838
|
{
|
|
839
839
|
value: search,
|
|
840
840
|
onChange: (event) => setSearch(event.target.value),
|
|
841
841
|
placeholder: t("admin.permissions.searchPlaceholder")
|
|
842
842
|
}
|
|
843
843
|
) }),
|
|
844
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-2 p-8 text-sm text-
|
|
845
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
844
|
+
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: [
|
|
845
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkRWZ2PLMQ_js.InlineSpinner, {}),
|
|
846
846
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: t("admin.permissions.loading") })
|
|
847
847
|
] }) : filteredPermissions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 sm:p-6", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
848
|
-
|
|
848
|
+
chunkRWZ2PLMQ_js.EmptyState,
|
|
849
849
|
{
|
|
850
850
|
message: t("admin.permissions.emptyMessage"),
|
|
851
851
|
description: t("admin.permissions.emptyDescription"),
|
|
@@ -857,28 +857,28 @@ function AdminPermissionList({ client }) {
|
|
|
857
857
|
variant: "card"
|
|
858
858
|
}
|
|
859
859
|
) }) : /* @__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-
|
|
860
|
+
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "liquid-divider", children: [
|
|
861
|
+
/* @__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") }),
|
|
862
|
+
/* @__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") }),
|
|
863
|
+
/* @__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") }),
|
|
864
|
+
/* @__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") }),
|
|
865
|
+
/* @__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
866
|
] }) }),
|
|
867
867
|
/* @__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
868
|
/* @__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-
|
|
869
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-slate-900 dark:text-white", children: permission.name }),
|
|
870
|
+
permission.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-slate-500 dark:text-slate-400", children: permission.description })
|
|
871
871
|
] }) }),
|
|
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-
|
|
872
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.resource ? /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "blue", children: permission.resource }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400 dark:text-slate-500", children: "\u2014" }) }),
|
|
873
|
+
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "hidden px-4 py-3 sm:table-cell", children: permission.action ? /* @__PURE__ */ jsxRuntime.jsx(chunkEBARYRSA_js.Badge, { color: "amber", children: permission.action }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400 dark:text-slate-500", children: "\u2014" }) }),
|
|
874
|
+
/* @__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
875
|
year: "numeric",
|
|
876
876
|
month: "short",
|
|
877
877
|
day: "numeric"
|
|
878
878
|
}) }),
|
|
879
879
|
/* @__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
880
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
881
|
-
|
|
881
|
+
chunkEBARYRSA_js.Button,
|
|
882
882
|
{
|
|
883
883
|
size: "sm",
|
|
884
884
|
outline: true,
|
|
@@ -887,7 +887,7 @@ function AdminPermissionList({ client }) {
|
|
|
887
887
|
}
|
|
888
888
|
),
|
|
889
889
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
890
|
-
|
|
890
|
+
chunkEBARYRSA_js.Button,
|
|
891
891
|
{
|
|
892
892
|
size: "sm",
|
|
893
893
|
color: "ios-glass-red",
|
|
@@ -902,7 +902,7 @@ function AdminPermissionList({ client }) {
|
|
|
902
902
|
}
|
|
903
903
|
),
|
|
904
904
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
905
|
-
|
|
905
|
+
chunkRWZ2PLMQ_js.Sheet,
|
|
906
906
|
{
|
|
907
907
|
open: isFormOpen,
|
|
908
908
|
onClose: handleCloseForm,
|
|
@@ -911,7 +911,7 @@ function AdminPermissionList({ client }) {
|
|
|
911
911
|
size: "md",
|
|
912
912
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 p-4 sm:p-6", children: [
|
|
913
913
|
!editingPermission && /* @__PURE__ */ jsxRuntime.jsx(
|
|
914
|
-
|
|
914
|
+
chunkRWZ2PLMQ_js.Input,
|
|
915
915
|
{
|
|
916
916
|
label: t("admin.permissions.formIdLabel"),
|
|
917
917
|
value: formId,
|
|
@@ -922,7 +922,7 @@ function AdminPermissionList({ client }) {
|
|
|
922
922
|
}
|
|
923
923
|
),
|
|
924
924
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
925
|
-
|
|
925
|
+
chunkRWZ2PLMQ_js.Input,
|
|
926
926
|
{
|
|
927
927
|
label: t("admin.permissions.formNameLabel"),
|
|
928
928
|
value: formName,
|
|
@@ -933,7 +933,7 @@ function AdminPermissionList({ client }) {
|
|
|
933
933
|
}
|
|
934
934
|
),
|
|
935
935
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
936
|
-
|
|
936
|
+
chunkRWZ2PLMQ_js.Input,
|
|
937
937
|
{
|
|
938
938
|
label: t("admin.permissions.formDescriptionLabel"),
|
|
939
939
|
value: formDescription,
|
|
@@ -944,7 +944,7 @@ function AdminPermissionList({ client }) {
|
|
|
944
944
|
),
|
|
945
945
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
946
946
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
947
|
-
|
|
947
|
+
chunkRWZ2PLMQ_js.Input,
|
|
948
948
|
{
|
|
949
949
|
label: t("admin.permissions.formResourceLabel"),
|
|
950
950
|
value: formResource,
|
|
@@ -954,7 +954,7 @@ function AdminPermissionList({ client }) {
|
|
|
954
954
|
}
|
|
955
955
|
),
|
|
956
956
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
957
|
-
|
|
957
|
+
chunkRWZ2PLMQ_js.Input,
|
|
958
958
|
{
|
|
959
959
|
label: t("admin.permissions.formActionLabel"),
|
|
960
960
|
value: formAction,
|
|
@@ -967,7 +967,7 @@ function AdminPermissionList({ client }) {
|
|
|
967
967
|
formError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-red-600 dark:text-red-400", role: "alert", children: formError }),
|
|
968
968
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-3", children: [
|
|
969
969
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
970
|
-
|
|
970
|
+
chunkEBARYRSA_js.Button,
|
|
971
971
|
{
|
|
972
972
|
outline: true,
|
|
973
973
|
onClick: handleCloseForm,
|
|
@@ -977,7 +977,7 @@ function AdminPermissionList({ client }) {
|
|
|
977
977
|
}
|
|
978
978
|
),
|
|
979
979
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
980
|
-
|
|
980
|
+
chunkEBARYRSA_js.Button,
|
|
981
981
|
{
|
|
982
982
|
color: "ios-glass-blue",
|
|
983
983
|
onClick: handleSubmitForm,
|
|
@@ -992,7 +992,7 @@ function AdminPermissionList({ client }) {
|
|
|
992
992
|
}
|
|
993
993
|
),
|
|
994
994
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
995
|
-
|
|
995
|
+
chunkRWZ2PLMQ_js.DynamicIslandConfirm,
|
|
996
996
|
{
|
|
997
997
|
open: deleteTarget !== null,
|
|
998
998
|
onClose: handleDeleteCancel,
|
|
@@ -1012,5 +1012,5 @@ exports.AdminOrganizationList = AdminOrganizationList;
|
|
|
1012
1012
|
exports.AdminPermissionList = AdminPermissionList;
|
|
1013
1013
|
exports.AdminUserForm = AdminUserForm;
|
|
1014
1014
|
exports.AdminUserList = AdminUserList;
|
|
1015
|
-
//# sourceMappingURL=chunk-
|
|
1016
|
-
//# sourceMappingURL=chunk-
|
|
1015
|
+
//# sourceMappingURL=chunk-B3TA74C4.js.map
|
|
1016
|
+
//# sourceMappingURL=chunk-B3TA74C4.js.map
|