@nestledjs/data-browser 0.1.2 → 0.1.4

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.
Files changed (83) hide show
  1. package/index.d.ts +15 -0
  2. package/index.js +64 -0
  3. package/lib/admin-data.d.ts +2 -0
  4. package/lib/components/filters/DateRangeFilter.d.ts +7 -0
  5. package/lib/components/filters/DateRangeFilter.js +105 -0
  6. package/lib/components/filters/NumberRangeFilter.d.ts +8 -0
  7. package/lib/components/filters/NumberRangeFilter.js +115 -0
  8. package/lib/components/filters/RelationComponents.d.ts +32 -0
  9. package/lib/components/filters/RelationComponents.js +265 -0
  10. package/lib/components/filters/RelationFilterField.d.ts +8 -0
  11. package/lib/components/filters/RelationFilterField.js +116 -0
  12. package/lib/components/filters/index.d.ts +4 -0
  13. package/lib/components/index.d.ts +2 -0
  14. package/lib/components/shared/AdminBreadcrumbs.d.ts +13 -0
  15. package/lib/components/shared/AdminBreadcrumbs.js +103 -0
  16. package/lib/components/shared/AdminErrorStates.d.ts +30 -0
  17. package/lib/components/shared/AdminErrorStates.js +214 -0
  18. package/lib/components/shared/AdminStatusDisplay.d.ts +21 -0
  19. package/lib/components/shared/AdminStatusDisplay.js +205 -0
  20. package/lib/components/shared/index.d.ts +3 -0
  21. package/lib/context/AdminDataContext.d.ts +47 -0
  22. package/lib/context/AdminDataContext.js +28 -0
  23. package/lib/hooks/useAdminList.d.ts +5 -0
  24. package/lib/hooks/useAdminList.js +41 -0
  25. package/lib/hooks/useClickOutside.d.ts +2 -0
  26. package/lib/hooks/useClickOutside.js +13 -0
  27. package/lib/hooks/useDebounce.d.ts +1 -0
  28. package/lib/hooks/useDebounce.js +13 -0
  29. package/lib/hooks/useRelationData.d.ts +7 -0
  30. package/lib/hooks/useRelationData.js +64 -0
  31. package/lib/layouts/AdminDataLayout.d.ts +5 -0
  32. package/lib/layouts/AdminDataLayout.js +315 -0
  33. package/lib/pages/AdminDataCreatePage.d.ts +4 -0
  34. package/lib/pages/AdminDataCreatePage.js +487 -0
  35. package/lib/pages/AdminDataEditPage.d.ts +4 -0
  36. package/lib/pages/AdminDataEditPage.js +903 -0
  37. package/lib/pages/AdminDataIndexPage.d.ts +4 -0
  38. package/lib/pages/AdminDataIndexPage.js +91 -0
  39. package/lib/pages/AdminDataListPage.d.ts +9 -0
  40. package/lib/pages/AdminDataListPage.js +1218 -0
  41. package/lib/types/index.d.ts +60 -0
  42. package/lib/types/index.js +16 -0
  43. package/lib/utils/graphql-utils.d.ts +25 -0
  44. package/lib/utils/graphql-utils.js +265 -0
  45. package/lib/utils/secure-storage.d.ts +50 -0
  46. package/lib/utils/secure-storage.js +145 -0
  47. package/lib/utils/string-utils.d.ts +6 -0
  48. package/lib/utils/string-utils.js +27 -0
  49. package/package.json +8 -2
  50. package/.babelrc +0 -12
  51. package/LICENSE +0 -21
  52. package/eslint.config.mjs +0 -12
  53. package/project.json +0 -35
  54. package/src/index.ts +0 -28
  55. package/src/lib/admin-data.spec.tsx +0 -10
  56. package/src/lib/admin-data.tsx +0 -9
  57. package/src/lib/components/filters/DateRangeFilter.tsx +0 -88
  58. package/src/lib/components/filters/NumberRangeFilter.tsx +0 -111
  59. package/src/lib/components/filters/RelationComponents.tsx +0 -176
  60. package/src/lib/components/filters/RelationFilterField.tsx +0 -106
  61. package/src/lib/components/filters/index.ts +0 -5
  62. package/src/lib/components/index.ts +0 -2
  63. package/src/lib/components/shared/AdminBreadcrumbs.tsx +0 -88
  64. package/src/lib/components/shared/AdminErrorStates.tsx +0 -180
  65. package/src/lib/components/shared/AdminStatusDisplay.tsx +0 -292
  66. package/src/lib/components/shared/index.ts +0 -3
  67. package/src/lib/context/AdminDataContext.tsx +0 -74
  68. package/src/lib/hooks/useAdminList.ts +0 -42
  69. package/src/lib/hooks/useClickOutside.ts +0 -21
  70. package/src/lib/hooks/useDebounce.ts +0 -16
  71. package/src/lib/hooks/useRelationData.ts +0 -114
  72. package/src/lib/layouts/AdminDataLayout.tsx +0 -251
  73. package/src/lib/pages/AdminDataCreatePage.tsx +0 -415
  74. package/src/lib/pages/AdminDataEditPage.tsx +0 -777
  75. package/src/lib/pages/AdminDataIndexPage.tsx +0 -50
  76. package/src/lib/pages/AdminDataListPage.tsx +0 -921
  77. package/src/lib/types/index.ts +0 -51
  78. package/src/lib/utils/graphql-utils.ts +0 -538
  79. package/src/lib/utils/secure-storage.ts +0 -305
  80. package/src/lib/utils/string-utils.ts +0 -53
  81. package/tsconfig.json +0 -17
  82. package/tsconfig.lib.json +0 -20
  83. package/vite.config.ts +0 -35
@@ -0,0 +1,903 @@
1
+ import { jsxDEV as e } from "react/jsx-dev-runtime";
2
+ import { gql as x } from "@apollo/client";
3
+ import { useQuery as Z, useMutation as S } from "@apollo/client/react";
4
+ import { loadDevMessages as Y, loadErrorMessages as K } from "@apollo/client/dev";
5
+ import { ExclamationCircleIcon as h, CheckCircleIcon as H } from "@heroicons/react/24/outline";
6
+ import { TrashIcon as J } from "@heroicons/react/24/solid";
7
+ import { useAdminDataContext as F } from "../context/AdminDataContext.js";
8
+ import { ErrorBoundary as W } from "@nestledjs/shared-components";
9
+ import { Form as X } from "@nestledjs/forms";
10
+ import { useState as C, useMemo as A, useEffect as $ } from "react";
11
+ import { useParams as ee, Link as p, useNavigate as ae } from "react-router";
12
+ import { getAdminDocuments as te, buildFormFields as se, cleanFormInput as ie } from "../utils/graphql-utils.js";
13
+ function M(s) {
14
+ return s ? s.charAt(0).toLowerCase() + s.slice(1) : "";
15
+ }
16
+ function le(s) {
17
+ return `${M(s)}Id`;
18
+ }
19
+ function re(s) {
20
+ return M(s);
21
+ }
22
+ function u(s) {
23
+ return s.replace(/([a-z])([A-Z])/g, "$1 $2").replace(/^./, (d) => d.toUpperCase());
24
+ }
25
+ process.env.NODE_ENV !== "production" && (Y(), K());
26
+ const B = (s) => !s || typeof s != "string" ? "" : s.replace(/[<>"'%;()&+]/g, "").replace(/javascript:/gi, "").replace(/on\w+\s*=/gi, "").trim().substring(0, 100), I = (s) => s.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase(), ne = (s) => {
27
+ if (!s) return null;
28
+ const d = B(s);
29
+ return d ? /^[a-zA-Z0-9_-]+$/.test(d) ? d : (console.warn(`[Security] Invalid ID format attempted: ${s}`), null) : null;
30
+ };
31
+ function Pe() {
32
+ const { dataType: s, id: d } = ee(), { databaseModels: v, basePath: y = "/admin/data", formTheme: U } = F(), j = (i) => v.find((b) => b.name === i), m = ((i) => {
33
+ if (!i) return null;
34
+ const b = B(i);
35
+ if (!b) return null;
36
+ const P = b.split("-").map((g) => g.charAt(0).toUpperCase() + g.slice(1).toLowerCase()).join("");
37
+ return v.find((g) => g.name === P) ? P : (console.warn(`[Security] Invalid dataType attempted: ${i}`), null);
38
+ })(s), r = ne(d), N = !m || !r, D = m ? j(m) : null, E = m && r && !D;
39
+ return N ? /* @__PURE__ */ e("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ e("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ e("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ e("div", { className: "text-center", children: [
40
+ /* @__PURE__ */ e(h, { className: "mx-auto h-12 w-12 text-red-400" }, void 0, !1, {
41
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
42
+ lineNumber: 122,
43
+ columnNumber: 15
44
+ }, this),
45
+ /* @__PURE__ */ e("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Unauthorized" }, void 0, !1, {
46
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
47
+ lineNumber: 123,
48
+ columnNumber: 15
49
+ }, this),
50
+ /* @__PURE__ */ e("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: "Invalid data type, ID, or insufficient permissions." }, void 0, !1, {
51
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
52
+ lineNumber: 124,
53
+ columnNumber: 15
54
+ }, this),
55
+ /* @__PURE__ */ e("div", { className: "mt-6", children: /* @__PURE__ */ e(
56
+ p,
57
+ {
58
+ to: y,
59
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
60
+ children: "Return to Data Browser"
61
+ },
62
+ void 0,
63
+ !1,
64
+ {
65
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
66
+ lineNumber: 128,
67
+ columnNumber: 17
68
+ },
69
+ this
70
+ ) }, void 0, !1, {
71
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
72
+ lineNumber: 127,
73
+ columnNumber: 15
74
+ }, this)
75
+ ] }, void 0, !0, {
76
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
77
+ lineNumber: 121,
78
+ columnNumber: 13
79
+ }, this) }, void 0, !1, {
80
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
81
+ lineNumber: 120,
82
+ columnNumber: 11
83
+ }, this) }, void 0, !1, {
84
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
85
+ lineNumber: 119,
86
+ columnNumber: 9
87
+ }, this) }, void 0, !1, {
88
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
89
+ lineNumber: 118,
90
+ columnNumber: 7
91
+ }, this) : E ? /* @__PURE__ */ e("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ e("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ e("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ e("div", { className: "text-center", children: [
92
+ /* @__PURE__ */ e(h, { className: "mx-auto h-12 w-12 text-yellow-400" }, void 0, !1, {
93
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
94
+ lineNumber: 148,
95
+ columnNumber: 15
96
+ }, this),
97
+ /* @__PURE__ */ e("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Model Not Found" }, void 0, !1, {
98
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
99
+ lineNumber: 149,
100
+ columnNumber: 15
101
+ }, this),
102
+ /* @__PURE__ */ e("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: [
103
+ 'The data model for "',
104
+ m,
105
+ '" could not be found.'
106
+ ] }, void 0, !0, {
107
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
108
+ lineNumber: 150,
109
+ columnNumber: 15
110
+ }, this),
111
+ /* @__PURE__ */ e("div", { className: "mt-6", children: /* @__PURE__ */ e(
112
+ p,
113
+ {
114
+ to: y,
115
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
116
+ children: "Return to Data Browser"
117
+ },
118
+ void 0,
119
+ !1,
120
+ {
121
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
122
+ lineNumber: 154,
123
+ columnNumber: 17
124
+ },
125
+ this
126
+ ) }, void 0, !1, {
127
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
128
+ lineNumber: 153,
129
+ columnNumber: 15
130
+ }, this)
131
+ ] }, void 0, !0, {
132
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
133
+ lineNumber: 147,
134
+ columnNumber: 13
135
+ }, this) }, void 0, !1, {
136
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
137
+ lineNumber: 146,
138
+ columnNumber: 11
139
+ }, this) }, void 0, !1, {
140
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
141
+ lineNumber: 145,
142
+ columnNumber: 9
143
+ }, this) }, void 0, !1, {
144
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
145
+ lineNumber: 144,
146
+ columnNumber: 7
147
+ }, this) : /* @__PURE__ */ e(de, { model: D, id: r, basePath: y, formTheme: U }, void 0, !1, {
148
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
149
+ lineNumber: 169,
150
+ columnNumber: 10
151
+ }, this);
152
+ }
153
+ function de({ model: s, id: d, basePath: v, formTheme: y }) {
154
+ const U = ae(), { sdk: j } = F(), [n, m] = C({ status: "idle" }), [r, N] = C({ status: "idle" }), [D, E] = C(!1), i = A(() => {
155
+ try {
156
+ return te(j, s);
157
+ } catch (l) {
158
+ return console.error("[AdminDataEditPage] Error getting documents:", l), null;
159
+ }
160
+ }, [j, s]), b = A(() => {
161
+ var l, t;
162
+ if (!(i != null && i.query)) return null;
163
+ try {
164
+ return (l = i.query) != null && l.definitions && ((t = i.query) != null && t.loc) ? i.query : x(i.query);
165
+ } catch (a) {
166
+ return console.error("[AdminDataEditPage] Error parsing QUERY:", a), null;
167
+ }
168
+ }, [i]), P = A(() => {
169
+ var l, t;
170
+ if (!(i != null && i.update)) return null;
171
+ try {
172
+ return (l = i.update) != null && l.definitions && ((t = i.update) != null && t.loc) ? i.update : x(i.update);
173
+ } catch (a) {
174
+ return console.error("[AdminDataEditPage] Error parsing UPDATE mutation:", a), null;
175
+ }
176
+ }, [i]), _ = A(() => {
177
+ var l, t;
178
+ if (!(i != null && i.delete)) return null;
179
+ try {
180
+ return (l = i.delete) != null && l.definitions && ((t = i.delete) != null && t.loc) ? i.delete : x(i.delete);
181
+ } catch (a) {
182
+ return console.error("[AdminDataEditPage] Error parsing DELETE mutation:", a), null;
183
+ }
184
+ }, [i]), g = le(s.name), R = re(s.name), { data: k, loading: z, error: L, refetch: T } = Z(
185
+ b || x`
186
+ query PlaceholderQuery {
187
+ __typename
188
+ }
189
+ `,
190
+ {
191
+ variables: { [g]: d },
192
+ errorPolicy: "all",
193
+ skip: !b || !d
194
+ }
195
+ ), [O] = S(
196
+ P || x`
197
+ mutation PlaceholderUpdate {
198
+ __typename
199
+ }
200
+ `
201
+ ), [Q] = S(
202
+ _ || x`
203
+ mutation PlaceholderDelete {
204
+ __typename
205
+ }
206
+ `
207
+ );
208
+ if ($(() => {
209
+ if (n.status === "error") {
210
+ const l = setTimeout(() => {
211
+ m({ status: "idle" });
212
+ }, 5e3);
213
+ return () => clearTimeout(l);
214
+ }
215
+ }, [n.status]), $(() => {
216
+ if (r.status === "error") {
217
+ const l = setTimeout(() => {
218
+ N({ status: "idle" });
219
+ }, 5e3);
220
+ return () => clearTimeout(l);
221
+ }
222
+ }, [r.status]), !i || !b || !P || !_)
223
+ return /* @__PURE__ */ e("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ e("div", { className: "mt-8 mx-auto w-full max-w-2xl", children: /* @__PURE__ */ e("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ e("div", { className: "text-center", children: [
224
+ /* @__PURE__ */ e(h, { className: "mx-auto h-12 w-12 text-red-400" }, void 0, !1, {
225
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
226
+ lineNumber: 309,
227
+ columnNumber: 15
228
+ }, this),
229
+ /* @__PURE__ */ e("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "GraphQL Schema Error" }, void 0, !1, {
230
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
231
+ lineNumber: 310,
232
+ columnNumber: 15
233
+ }, this),
234
+ /* @__PURE__ */ e("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: "Unable to load GraphQL documents for this model. Please ensure the API server is running and the GraphQL schema is up to date." }, void 0, !1, {
235
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
236
+ lineNumber: 311,
237
+ columnNumber: 15
238
+ }, this),
239
+ /* @__PURE__ */ e("div", { className: "mt-6", children: /* @__PURE__ */ e(
240
+ p,
241
+ {
242
+ to: v,
243
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
244
+ children: "Return to Data Browser"
245
+ },
246
+ void 0,
247
+ !1,
248
+ {
249
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
250
+ lineNumber: 316,
251
+ columnNumber: 17
252
+ },
253
+ this
254
+ ) }, void 0, !1, {
255
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
256
+ lineNumber: 315,
257
+ columnNumber: 15
258
+ }, this)
259
+ ] }, void 0, !0, {
260
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
261
+ lineNumber: 308,
262
+ columnNumber: 13
263
+ }, this) }, void 0, !1, {
264
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
265
+ lineNumber: 307,
266
+ columnNumber: 11
267
+ }, this) }, void 0, !1, {
268
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
269
+ lineNumber: 306,
270
+ columnNumber: 9
271
+ }, this) }, void 0, !1, {
272
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
273
+ lineNumber: 305,
274
+ columnNumber: 7
275
+ }, this);
276
+ if (L)
277
+ return /* @__PURE__ */ e("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ e("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ e("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ e("div", { className: "text-center", children: [
278
+ /* @__PURE__ */ e(h, { className: "mx-auto h-12 w-12 text-red-400" }, void 0, !1, {
279
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
280
+ lineNumber: 337,
281
+ columnNumber: 15
282
+ }, this),
283
+ /* @__PURE__ */ e("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Error Loading Data" }, void 0, !1, {
284
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
285
+ lineNumber: 338,
286
+ columnNumber: 15
287
+ }, this),
288
+ /* @__PURE__ */ e("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: L.message }, void 0, !1, {
289
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
290
+ lineNumber: 339,
291
+ columnNumber: 15
292
+ }, this),
293
+ /* @__PURE__ */ e("div", { className: "mt-6 space-y-3", children: [
294
+ /* @__PURE__ */ e(
295
+ "button",
296
+ {
297
+ onClick: () => T(),
298
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
299
+ children: "Try Again"
300
+ },
301
+ void 0,
302
+ !1,
303
+ {
304
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
305
+ lineNumber: 341,
306
+ columnNumber: 17
307
+ },
308
+ this
309
+ ),
310
+ /* @__PURE__ */ e(
311
+ p,
312
+ {
313
+ to: `/admin/data/${I(s.pluralName)}`,
314
+ className: "w-full flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
315
+ children: "Back to List"
316
+ },
317
+ void 0,
318
+ !1,
319
+ {
320
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
321
+ lineNumber: 347,
322
+ columnNumber: 17
323
+ },
324
+ this
325
+ )
326
+ ] }, void 0, !0, {
327
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
328
+ lineNumber: 340,
329
+ columnNumber: 15
330
+ }, this)
331
+ ] }, void 0, !0, {
332
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
333
+ lineNumber: 336,
334
+ columnNumber: 13
335
+ }, this) }, void 0, !1, {
336
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
337
+ lineNumber: 335,
338
+ columnNumber: 11
339
+ }, this) }, void 0, !1, {
340
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
341
+ lineNumber: 334,
342
+ columnNumber: 9
343
+ }, this) }, void 0, !1, {
344
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
345
+ lineNumber: 333,
346
+ columnNumber: 7
347
+ }, this);
348
+ if (z)
349
+ return /* @__PURE__ */ e("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ e("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ e("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ e("div", { className: "text-center", children: [
350
+ /* @__PURE__ */ e("div", { className: "mx-auto h-12 w-12 border-4 border-green-web border-t-transparent rounded-full animate-spin" }, void 0, !1, {
351
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
352
+ lineNumber: 368,
353
+ columnNumber: 15
354
+ }, this),
355
+ /* @__PURE__ */ e("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Loading..." }, void 0, !1, {
356
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
357
+ lineNumber: 369,
358
+ columnNumber: 15
359
+ }, this),
360
+ /* @__PURE__ */ e("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: [
361
+ "Loading ",
362
+ u(s.name),
363
+ " data..."
364
+ ] }, void 0, !0, {
365
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
366
+ lineNumber: 370,
367
+ columnNumber: 15
368
+ }, this)
369
+ ] }, void 0, !0, {
370
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
371
+ lineNumber: 367,
372
+ columnNumber: 13
373
+ }, this) }, void 0, !1, {
374
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
375
+ lineNumber: 366,
376
+ columnNumber: 11
377
+ }, this) }, void 0, !1, {
378
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
379
+ lineNumber: 365,
380
+ columnNumber: 9
381
+ }, this) }, void 0, !1, {
382
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
383
+ lineNumber: 364,
384
+ columnNumber: 7
385
+ }, this);
386
+ const w = k == null ? void 0 : k[R];
387
+ if (!w)
388
+ return /* @__PURE__ */ e("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ e("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ e("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ e("div", { className: "text-center", children: [
389
+ /* @__PURE__ */ e(h, { className: "mx-auto h-12 w-12 text-yellow-400" }, void 0, !1, {
390
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
391
+ lineNumber: 389,
392
+ columnNumber: 15
393
+ }, this),
394
+ /* @__PURE__ */ e("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Not Found" }, void 0, !1, {
395
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
396
+ lineNumber: 390,
397
+ columnNumber: 15
398
+ }, this),
399
+ /* @__PURE__ */ e("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: [
400
+ "The ",
401
+ u(s.name),
402
+ " you're looking for doesn't exist or has been deleted."
403
+ ] }, void 0, !0, {
404
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
405
+ lineNumber: 391,
406
+ columnNumber: 15
407
+ }, this),
408
+ /* @__PURE__ */ e("div", { className: "mt-6", children: /* @__PURE__ */ e(
409
+ p,
410
+ {
411
+ to: `/admin/data/${I(s.pluralName)}`,
412
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
413
+ children: "Back to List"
414
+ },
415
+ void 0,
416
+ !1,
417
+ {
418
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
419
+ lineNumber: 396,
420
+ columnNumber: 17
421
+ },
422
+ this
423
+ ) }, void 0, !1, {
424
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
425
+ lineNumber: 395,
426
+ columnNumber: 15
427
+ }, this)
428
+ ] }, void 0, !0, {
429
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
430
+ lineNumber: 388,
431
+ columnNumber: 13
432
+ }, this) }, void 0, !1, {
433
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
434
+ lineNumber: 387,
435
+ columnNumber: 11
436
+ }, this) }, void 0, !1, {
437
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
438
+ lineNumber: 386,
439
+ columnNumber: 9
440
+ }, this) }, void 0, !1, {
441
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
442
+ lineNumber: 385,
443
+ columnNumber: 7
444
+ }, this);
445
+ const V = se(j, s, "update"), o = {};
446
+ if (w) {
447
+ s.fields.filter((t) => (t.isId, !(t.isReadOnly || t.isGenerated || t.isUpdatedAt || t.name === "createdAt" || t.relationName && t.isList))).forEach((t) => {
448
+ var f;
449
+ let a = w[t.name];
450
+ if (t.relationName && !t.isList) {
451
+ const c = ((f = t.relationFromFields) == null ? void 0 : f[0]) || t.name;
452
+ a = w[c], a && typeof a == "object" && (a = a.id || ""), o[c] = a || "";
453
+ } else {
454
+ if (t.type.toLowerCase() === "datetime" || t.type.toLowerCase() === "date")
455
+ if (a != null && a !== "")
456
+ try {
457
+ const c = a instanceof Date ? a : new Date(a);
458
+ t.type.toLowerCase() === "date" ? a = c.toISOString().split("T")[0] : a = c.toISOString().substring(0, 16);
459
+ } catch (c) {
460
+ console.warn(`Failed to convert date value for field ${t.name}:`, c), a = "";
461
+ }
462
+ else
463
+ a = "";
464
+ a === null && t.type.toLowerCase() !== "boolean" && (a = ""), t.type.toLowerCase() === "boolean" && (a = !!a), a !== null && typeof a == "object" && (console.warn(`Field ${t.name} has object value, converting to string:`, a), typeof a == "object" && "id" in a ? a = a.id : a = ""), o[t.name] = a;
465
+ }
466
+ });
467
+ for (const [t, a] of Object.entries(o)) {
468
+ if (a === void 0) {
469
+ console.warn(`[AdminDataEditPage] Found undefined value for field ${t}, converting to empty string`), o[t] = "";
470
+ continue;
471
+ }
472
+ if (a !== null && typeof a == "object")
473
+ if (console.warn(`[AdminDataEditPage] Found non-primitive value for field ${t}, converting:`, a), "id" in a && typeof a.id == "string")
474
+ o[t] = a.id;
475
+ else if (a instanceof Date) {
476
+ const f = s.fields.find((c) => c.name === t);
477
+ o[t] = (f == null ? void 0 : f.type.toLowerCase()) === "date" ? a.toISOString().split("T")[0] : a.toISOString();
478
+ } else
479
+ o[t] = "";
480
+ }
481
+ console.log("[AdminDataEditPage] Final initialValues:", o), console.log("[AdminDataEditPage] Value types:", Object.entries(o).map(([t, a]) => ({
482
+ key: t,
483
+ type: typeof a,
484
+ isDate: a instanceof Date,
485
+ value: a
486
+ })));
487
+ }
488
+ const q = async (l) => {
489
+ try {
490
+ m({ status: "loading" });
491
+ const t = ie(l, s), a = await O({
492
+ variables: {
493
+ input: t,
494
+ [g]: d
495
+ }
496
+ });
497
+ if (a.errors) {
498
+ console.error("GraphQL errors:", a.errors), m({
499
+ status: "error",
500
+ message: a.errors.map((f) => f.message).join(", ")
501
+ });
502
+ return;
503
+ }
504
+ m({
505
+ status: "success",
506
+ message: `${u(s.name)} updated successfully!`
507
+ }), await T();
508
+ } catch (t) {
509
+ console.error("Error updating record:", t), m({
510
+ status: "error",
511
+ message: t instanceof Error ? t.message : "An unexpected error occurred"
512
+ });
513
+ }
514
+ }, G = async () => {
515
+ try {
516
+ N({ status: "loading" });
517
+ const l = await Q({
518
+ variables: {
519
+ [g]: d
520
+ }
521
+ });
522
+ if (l.errors) {
523
+ console.error("GraphQL errors:", l.errors), N({
524
+ status: "error",
525
+ message: l.errors.map((t) => t.message).join(", ")
526
+ });
527
+ return;
528
+ }
529
+ N({
530
+ status: "success",
531
+ message: `${u(s.name)} deleted successfully!`
532
+ }), setTimeout(() => {
533
+ U(`/admin/data/${I(s.pluralName)}`);
534
+ }, 1500);
535
+ } catch (l) {
536
+ console.error("Error deleting record:", l), N({
537
+ status: "error",
538
+ message: l instanceof Error ? l.message : "An unexpected error occurred"
539
+ });
540
+ }
541
+ };
542
+ return /* @__PURE__ */ e("div", { className: "space-y-6", children: [
543
+ /* @__PURE__ */ e("div", { className: "mb-8", children: [
544
+ /* @__PURE__ */ e("nav", { className: "flex mb-6", "aria-label": "Breadcrumb", children: /* @__PURE__ */ e("ol", { className: "flex items-center space-x-4", children: [
545
+ /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(p, { to: "/admin/data", className: "text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400", children: "Data Browser" }, void 0, !1, {
546
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
547
+ lineNumber: 620,
548
+ columnNumber: 17
549
+ }, this) }, void 0, !1, {
550
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
551
+ lineNumber: 619,
552
+ columnNumber: 15
553
+ }, this),
554
+ /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("div", { className: "flex items-center", children: [
555
+ /* @__PURE__ */ e(
556
+ "svg",
557
+ {
558
+ className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600",
559
+ fill: "currentColor",
560
+ viewBox: "0 0 20 20",
561
+ children: /* @__PURE__ */ e(
562
+ "path",
563
+ {
564
+ fillRule: "evenodd",
565
+ d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
566
+ clipRule: "evenodd"
567
+ },
568
+ void 0,
569
+ !1,
570
+ {
571
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
572
+ lineNumber: 631,
573
+ columnNumber: 21
574
+ },
575
+ this
576
+ )
577
+ },
578
+ void 0,
579
+ !1,
580
+ {
581
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
582
+ lineNumber: 626,
583
+ columnNumber: 19
584
+ },
585
+ this
586
+ ),
587
+ /* @__PURE__ */ e(
588
+ p,
589
+ {
590
+ to: `/admin/data/${I(s.pluralName)}`,
591
+ className: "ml-4 text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400",
592
+ children: u(s.pluralName)
593
+ },
594
+ void 0,
595
+ !1,
596
+ {
597
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
598
+ lineNumber: 637,
599
+ columnNumber: 19
600
+ },
601
+ this
602
+ )
603
+ ] }, void 0, !0, {
604
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
605
+ lineNumber: 625,
606
+ columnNumber: 17
607
+ }, this) }, void 0, !1, {
608
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
609
+ lineNumber: 624,
610
+ columnNumber: 15
611
+ }, this),
612
+ /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("div", { className: "flex items-center", children: [
613
+ /* @__PURE__ */ e(
614
+ "svg",
615
+ {
616
+ className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600",
617
+ fill: "currentColor",
618
+ viewBox: "0 0 20 20",
619
+ children: /* @__PURE__ */ e(
620
+ "path",
621
+ {
622
+ fillRule: "evenodd",
623
+ d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
624
+ clipRule: "evenodd"
625
+ },
626
+ void 0,
627
+ !1,
628
+ {
629
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
630
+ lineNumber: 652,
631
+ columnNumber: 21
632
+ },
633
+ this
634
+ )
635
+ },
636
+ void 0,
637
+ !1,
638
+ {
639
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
640
+ lineNumber: 647,
641
+ columnNumber: 19
642
+ },
643
+ this
644
+ ),
645
+ /* @__PURE__ */ e("span", { className: "ml-4 text-gray-500 dark:text-gray-400", children: "Edit" }, void 0, !1, {
646
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
647
+ lineNumber: 658,
648
+ columnNumber: 19
649
+ }, this)
650
+ ] }, void 0, !0, {
651
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
652
+ lineNumber: 646,
653
+ columnNumber: 17
654
+ }, this) }, void 0, !1, {
655
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
656
+ lineNumber: 645,
657
+ columnNumber: 15
658
+ }, this)
659
+ ] }, void 0, !0, {
660
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
661
+ lineNumber: 618,
662
+ columnNumber: 13
663
+ }, this) }, void 0, !1, {
664
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
665
+ lineNumber: 617,
666
+ columnNumber: 11
667
+ }, this),
668
+ /* @__PURE__ */ e("div", { className: "flex items-center justify-between", children: [
669
+ /* @__PURE__ */ e("h1", { className: "text-3xl font-bold text-gray-900 dark:text-gray-100", children: [
670
+ "Edit ",
671
+ u(s.name)
672
+ ] }, void 0, !0, {
673
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
674
+ lineNumber: 664,
675
+ columnNumber: 13
676
+ }, this),
677
+ /* @__PURE__ */ e(
678
+ "button",
679
+ {
680
+ onClick: () => E(!0),
681
+ disabled: r.status === "loading",
682
+ className: "inline-flex items-center px-3 py-2 border border-red-300 shadow-sm text-sm leading-4 font-medium rounded-md text-red-700 bg-white hover:bg-red-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 disabled:opacity-50 disabled:cursor-not-allowed",
683
+ children: [
684
+ /* @__PURE__ */ e(J, { className: "h-4 w-4 mr-2" }, void 0, !1, {
685
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
686
+ lineNumber: 670,
687
+ columnNumber: 15
688
+ }, this),
689
+ "Delete"
690
+ ]
691
+ },
692
+ void 0,
693
+ !0,
694
+ {
695
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
696
+ lineNumber: 665,
697
+ columnNumber: 13
698
+ },
699
+ this
700
+ )
701
+ ] }, void 0, !0, {
702
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
703
+ lineNumber: 663,
704
+ columnNumber: 11
705
+ }, this)
706
+ ] }, void 0, !0, {
707
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
708
+ lineNumber: 616,
709
+ columnNumber: 7
710
+ }, this),
711
+ D && /* @__PURE__ */ e("div", { className: "fixed inset-0 bg-gray-600 dark:bg-gray-900 bg-opacity-50 dark:bg-opacity-75 overflow-y-auto h-full w-full z-50 flex items-center justify-center", children: /* @__PURE__ */ e("div", { className: "bg-white dark:bg-gray-800 p-6 rounded-lg shadow-xl max-w-md w-full mx-4", children: [
712
+ /* @__PURE__ */ e("div", { className: "flex items-center", children: [
713
+ /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: /* @__PURE__ */ e(h, { className: "h-6 w-6 text-red-600" }, void 0, !1, {
714
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
715
+ lineNumber: 682,
716
+ columnNumber: 19
717
+ }, this) }, void 0, !1, {
718
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
719
+ lineNumber: 681,
720
+ columnNumber: 17
721
+ }, this),
722
+ /* @__PURE__ */ e("div", { className: "ml-3", children: [
723
+ /* @__PURE__ */ e("h3", { className: "text-lg font-medium text-gray-900 dark:text-gray-100", children: [
724
+ "Delete ",
725
+ u(s.name)
726
+ ] }, void 0, !0, {
727
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
728
+ lineNumber: 685,
729
+ columnNumber: 19
730
+ }, this),
731
+ /* @__PURE__ */ e("div", { className: "mt-2", children: /* @__PURE__ */ e("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: [
732
+ "Are you sure you want to delete this",
733
+ " ",
734
+ u(s.name).toLowerCase(),
735
+ "? This action cannot be undone."
736
+ ] }, void 0, !0, {
737
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
738
+ lineNumber: 689,
739
+ columnNumber: 21
740
+ }, this) }, void 0, !1, {
741
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
742
+ lineNumber: 688,
743
+ columnNumber: 19
744
+ }, this)
745
+ ] }, void 0, !0, {
746
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
747
+ lineNumber: 684,
748
+ columnNumber: 17
749
+ }, this)
750
+ ] }, void 0, !0, {
751
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
752
+ lineNumber: 680,
753
+ columnNumber: 15
754
+ }, this),
755
+ /* @__PURE__ */ e("div", { className: "mt-5 sm:mt-4 sm:flex sm:flex-row-reverse", children: [
756
+ /* @__PURE__ */ e(
757
+ "button",
758
+ {
759
+ onClick: G,
760
+ disabled: r.status === "loading",
761
+ className: "w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm disabled:opacity-50 disabled:cursor-not-allowed",
762
+ children: r.status === "loading" ? "Deleting..." : "Delete"
763
+ },
764
+ void 0,
765
+ !1,
766
+ {
767
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
768
+ lineNumber: 697,
769
+ columnNumber: 17
770
+ },
771
+ this
772
+ ),
773
+ /* @__PURE__ */ e(
774
+ "button",
775
+ {
776
+ onClick: () => E(!1),
777
+ disabled: r.status === "loading",
778
+ className: "mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web sm:mt-0 sm:w-auto sm:text-sm disabled:opacity-50 disabled:cursor-not-allowed",
779
+ children: "Cancel"
780
+ },
781
+ void 0,
782
+ !1,
783
+ {
784
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
785
+ lineNumber: 704,
786
+ columnNumber: 17
787
+ },
788
+ this
789
+ )
790
+ ] }, void 0, !0, {
791
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
792
+ lineNumber: 696,
793
+ columnNumber: 15
794
+ }, this)
795
+ ] }, void 0, !0, {
796
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
797
+ lineNumber: 679,
798
+ columnNumber: 13
799
+ }, this) }, void 0, !1, {
800
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
801
+ lineNumber: 678,
802
+ columnNumber: 11
803
+ }, this),
804
+ (n.status !== "idle" || r.status !== "idle") && /* @__PURE__ */ e(
805
+ "div",
806
+ {
807
+ className: `mb-6 rounded-md p-4 ${n.status === "success" || r.status === "success" ? "bg-green-50 border border-green-200" : n.status === "error" || r.status === "error" ? "bg-red-50 border border-red-200" : "bg-blue-50 border border-blue-200"}`,
808
+ children: /* @__PURE__ */ e("div", { className: "flex", children: [
809
+ /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: n.status === "success" || r.status === "success" ? /* @__PURE__ */ e(H, { className: "h-5 w-5 text-green-400" }, void 0, !1, {
810
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
811
+ lineNumber: 730,
812
+ columnNumber: 19
813
+ }, this) : n.status === "error" || r.status === "error" ? /* @__PURE__ */ e(h, { className: "h-5 w-5 text-red-400" }, void 0, !1, {
814
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
815
+ lineNumber: 732,
816
+ columnNumber: 19
817
+ }, this) : /* @__PURE__ */ e("div", { className: "h-5 w-5 border-2 border-blue-400 border-t-transparent rounded-full animate-spin" }, void 0, !1, {
818
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
819
+ lineNumber: 734,
820
+ columnNumber: 19
821
+ }, this) }, void 0, !1, {
822
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
823
+ lineNumber: 728,
824
+ columnNumber: 15
825
+ }, this),
826
+ /* @__PURE__ */ e("div", { className: "ml-3", children: /* @__PURE__ */ e(
827
+ "p",
828
+ {
829
+ className: `text-sm font-medium ${n.status === "success" || r.status === "success" ? "text-green-800" : n.status === "error" || r.status === "error" ? "text-red-800" : "text-blue-800"}`,
830
+ children: n.status === "loading" ? `Updating ${u(s.name)}...` : r.status === "loading" ? `Deleting ${u(s.name)}...` : n.message || r.message
831
+ },
832
+ void 0,
833
+ !1,
834
+ {
835
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
836
+ lineNumber: 738,
837
+ columnNumber: 17
838
+ },
839
+ this
840
+ ) }, void 0, !1, {
841
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
842
+ lineNumber: 737,
843
+ columnNumber: 15
844
+ }, this)
845
+ ] }, void 0, !0, {
846
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
847
+ lineNumber: 727,
848
+ columnNumber: 13
849
+ }, this)
850
+ },
851
+ void 0,
852
+ !1,
853
+ {
854
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
855
+ lineNumber: 718,
856
+ columnNumber: 11
857
+ },
858
+ this
859
+ ),
860
+ /* @__PURE__ */ e("div", { className: "bg-white dark:bg-gray-800 shadow-sm rounded-lg", children: /* @__PURE__ */ e("div", { className: "px-6 py-8", children: /* @__PURE__ */ e(
861
+ X,
862
+ {
863
+ id: `edit-${s.name.toLowerCase()}-form`,
864
+ fields: V,
865
+ submit: q,
866
+ disabled: n.status === "loading" || r.status === "loading",
867
+ defaultValues: o,
868
+ theme: y
869
+ },
870
+ void 0,
871
+ !1,
872
+ {
873
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
874
+ lineNumber: 761,
875
+ columnNumber: 13
876
+ },
877
+ this
878
+ ) }, void 0, !1, {
879
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
880
+ lineNumber: 760,
881
+ columnNumber: 11
882
+ }, this) }, void 0, !1, {
883
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
884
+ lineNumber: 759,
885
+ columnNumber: 9
886
+ }, this)
887
+ ] }, void 0, !0, {
888
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
889
+ lineNumber: 614,
890
+ columnNumber: 5
891
+ }, this);
892
+ }
893
+ function ve({ error: s }) {
894
+ return /* @__PURE__ */ e(W, { error: s }, void 0, !1, {
895
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/admin-data/src/lib/pages/AdminDataEditPage.tsx",
896
+ lineNumber: 776,
897
+ columnNumber: 10
898
+ }, this);
899
+ }
900
+ export {
901
+ ve as AdminDataEditErrorBoundary,
902
+ Pe as AdminDataEditPage
903
+ };