@oktis-works/admin 0.3.3 → 0.4.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/client/_astro/ActivityWidget.B1PK1jNM.js +16 -0
- package/dist/client/_astro/AdminBar.DGqkNINI.js +234 -0
- package/dist/client/_astro/AtGlanceWidget.CbAM9D09.js +43 -0
- package/dist/client/_astro/BaseLayout.B2MfKf6B.css +1 -0
- package/dist/client/_astro/ContentEditor.BG7DWach.js +1 -0
- package/dist/client/_astro/ContentList.CfGc6HN5.js +1 -0
- package/dist/client/_astro/DashboardHome._7yIrBzf.js +1 -0
- package/dist/client/_astro/DashboardLayout.DrKf2Klk.css +1 -0
- package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.BrC4PbPa.js +1 -0
- package/dist/client/_astro/Footer.CjhzORqz.js +74 -0
- package/dist/client/_astro/GeneralSettings.BwnPXbvc.js +1 -0
- package/dist/client/_astro/HelpTabs.Ddud8gs3.js +103 -0
- package/dist/client/_astro/LanguageSelector.Dx6zaHYm.js +14 -0
- package/dist/client/_astro/MediaLibrary.BXUJ5yFA.js +1 -0
- package/dist/client/_astro/PostTypesManager.CA2yTVB_.js +1 -0
- package/dist/client/_astro/QuickDraftWidget.CCKwWLpX.js +17 -0
- package/dist/client/_astro/ScreenOptions.Dgiw-9ow.js +70 -0
- package/dist/client/_astro/TaxonomiesManager.D3HNo_oM.js +1 -0
- package/dist/client/_astro/UserCreateForm.CTv1Gd43.js +1 -0
- package/dist/client/_astro/UsersManager.DPpSVGNe.js +1 -0
- package/dist/client/_astro/api.DTNuyqvx.js +1 -0
- package/dist/client/_astro/ar.CzsjUutD.js +1 -0
- package/dist/client/_astro/{client.BY0Z100j.js → client.C7p516_9.js} +1 -1
- package/dist/client/_astro/en.DmN7xy_a.js +1 -0
- package/dist/client/_astro/es-ES.p2TLEMlZ.js +1 -0
- package/dist/client/_astro/{extensions.JQggUqT5.js → extensions.DfxrGzbo.js} +1 -1
- package/dist/client/_astro/he.BnYHiYpn.js +1 -0
- package/dist/client/_astro/i18n.CLOpd2JA.js +1 -0
- package/dist/client/_astro/it.WrWKBEAD.js +1 -0
- package/dist/client/_astro/ja.DxnfhIdt.js +1 -0
- package/dist/client/_astro/login.astro_astro_type_script_index_0_lang.CLM9X6sQ.js +1 -0
- package/dist/client/_astro/pl.jUj-RfZS.js +1 -0
- package/dist/client/_astro/pt-BR.DtNwEO0i.js +1 -0
- package/dist/client/_astro/ru.KFSfdjWn.js +1 -0
- package/dist/client/_astro/{src.DX_xrAwd.js → src.Cgonpfb5.js} +1 -1
- package/dist/client/_astro/sw.3jlAOLOv.js +1 -0
- package/dist/client/_astro/tr.tnLMnGPg.js +1 -0
- package/dist/client/_astro/uk.VquHY_xc.js +1 -0
- package/dist/client/_astro/version.BAM_tCGw.js +1 -0
- package/dist/client/_astro/{web.D_vCtCLj.js → web.D1H9RxZL.js} +1 -1
- package/dist/client/_astro/yo.Cr8hCb5u.js +1 -0
- package/dist/client/_astro/zh-CN.E32QqP4v.js +1 -0
- package/dist/server/chunks/{BaseLayout_CcUFilW5.mjs → BaseLayout_GUKuUGNt.mjs} +4 -1
- package/dist/server/chunks/{ContentEditor_DtKBw5Nv.mjs → ContentEditor_D_mc9cIc.mjs} +38 -24
- package/dist/server/chunks/DashboardLayout_DVdPm1iI.mjs +2084 -0
- package/dist/server/chunks/{MediaLibrary_BDyBahZ3.mjs → MediaLibrary_BV1YB_7x.mjs} +90 -65
- package/dist/server/chunks/{_slug__DNJwUFYD.mjs → _slug__D0xMd1Ym.mjs} +1 -1
- package/dist/server/chunks/ar_DBjdWIJ0.mjs +408 -0
- package/dist/server/chunks/{edit_CSA-bTD0.mjs → edit_DmKkdawE.mjs} +8 -4
- package/dist/server/chunks/en_C750mYKk.mjs +408 -0
- package/dist/server/chunks/es-ES_TJ4oK1yi.mjs +408 -0
- package/dist/server/chunks/{general_D8esOFBG.mjs → general_CfZaFpuy.mjs} +50 -39
- package/dist/server/chunks/he_TWsuTphz.mjs +408 -0
- package/dist/server/chunks/index_BHrVcd5b.mjs +27 -0
- package/dist/server/chunks/{index_BzJtUv3l.mjs → index_BjydUJNY.mjs} +9 -5
- package/dist/server/chunks/{index__EF7aYFm.mjs → index_BoeLyrhK.mjs} +91 -45
- package/dist/server/chunks/{index_CSD_Oyb4.mjs → index_D_aAiDE0.mjs} +61 -38
- package/dist/server/chunks/index_GAl799IJ.mjs +152 -0
- package/dist/server/chunks/it_CEVFVWh1.mjs +408 -0
- package/dist/server/chunks/ja_CqDirMqf.mjs +408 -0
- package/dist/server/chunks/login_B7FSWUaM.mjs +24 -0
- package/dist/server/chunks/{new_C7iXK0wp.mjs → new_BRMGHdiW.mjs} +8 -4
- package/dist/server/chunks/{new_Dg7GlHuV.mjs → new_DkKhl-3k.mjs} +30 -14
- package/dist/server/chunks/pl_ChIKxfZG.mjs +408 -0
- package/dist/server/chunks/post-types_B7f9RrsE.mjs +158 -0
- package/dist/server/chunks/pt-BR_4d4jZWL0.mjs +408 -0
- package/dist/server/chunks/ru_CIc6O5Q7.mjs +408 -0
- package/dist/server/chunks/sw_Bs3iYVDM.mjs +408 -0
- package/dist/server/chunks/{taxonomies_BJehVfgw.mjs → taxonomies_DadZj79u.mjs} +31 -14
- package/dist/server/chunks/tr_C7JbXuoQ.mjs +408 -0
- package/dist/server/chunks/uk_Dibs8Wkc.mjs +408 -0
- package/dist/server/chunks/{upload_CeK7uSwz.mjs → upload_CMYjz_4a.mjs} +9 -5
- package/dist/server/chunks/yo_B6MPvz_U.mjs +408 -0
- package/dist/server/chunks/zh-CN_G1Dc2b28.mjs +408 -0
- package/dist/server/entry.mjs +15 -15
- package/package.json +4 -4
- package/dist/client/_astro/BaseLayout.BPkaFsmK.css +0 -1
- package/dist/client/_astro/ContentEditor.Buc5ptK0.js +0 -1
- package/dist/client/_astro/ContentList.Bo_ok2oa.js +0 -1
- package/dist/client/_astro/DashboardHome.DKuoH-SO.js +0 -1
- package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.DfB7XHS-.js +0 -1
- package/dist/client/_astro/GeneralSettings.BNzHpRY6.js +0 -1
- package/dist/client/_astro/MediaLibrary.Dn4DRbZb.js +0 -1
- package/dist/client/_astro/PostTypesManager.6GQ4vWY1.js +0 -1
- package/dist/client/_astro/TaxonomiesManager.B25xOjSO.js +0 -1
- package/dist/client/_astro/UserCreateForm.DtBifGTo.js +0 -1
- package/dist/client/_astro/UsersManager.-5jU3GxA.js +0 -1
- package/dist/client/_astro/api.BEC1o0dT.js +0 -1
- package/dist/client/_astro/login.astro_astro_type_script_index_0_lang.CWNQruNb.js +0 -1
- package/dist/server/chunks/DashboardLayout_Bpur473M.mjs +0 -442
- package/dist/server/chunks/api_i8T-MI6L.mjs +0 -278
- package/dist/server/chunks/index_BCUHGT54.mjs +0 -133
- package/dist/server/chunks/index_X49R9glL.mjs +0 -23
- package/dist/server/chunks/login_BTd7KCCx.mjs +0 -23
- package/dist/server/chunks/post-types_CJt6sMSh.mjs +0 -137
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
|
-
import { d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
2
|
+
import { S as createAstro, d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
3
|
import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
-
import { a as
|
|
5
|
-
import { t as apiClient } from "./api_i8T-MI6L.mjs";
|
|
4
|
+
import { a as Button, c as Input, d as Show2, h as onMount, i as Badge, l as Pagination, m as createSignal, n as useTranslation, r as apiClient, s as For2, t as $$DashboardLayout, u as Select } from "./DashboardLayout_DVdPm1iI.mjs";
|
|
6
5
|
import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
|
|
7
6
|
//#region src/components/apps/users/UsersManager.tsx
|
|
8
7
|
var _tmpl$ = [
|
|
@@ -17,7 +16,12 @@ var _tmpl$2 = [
|
|
|
17
16
|
];
|
|
18
17
|
var _tmpl$3 = [
|
|
19
18
|
"<table",
|
|
20
|
-
" class=\"users-table\"><thead><tr><th>
|
|
19
|
+
" class=\"users-table\"><thead><tr><th>",
|
|
20
|
+
"</th><th>",
|
|
21
|
+
"</th><th>",
|
|
22
|
+
"</th><th>",
|
|
23
|
+
"</th><th>",
|
|
24
|
+
"</th><th></th></tr></thead><tbody>",
|
|
21
25
|
"</tbody></table>"
|
|
22
26
|
];
|
|
23
27
|
var _tmpl$4 = [
|
|
@@ -26,13 +30,18 @@ var _tmpl$4 = [
|
|
|
26
30
|
"<!--/--><!--$-->",
|
|
27
31
|
"<!--/--><div class=\"toolbar\"><!--$-->",
|
|
28
32
|
"<!--/--><!--$-->",
|
|
29
|
-
"<!--/--><a class=\"btn btn-primary\" href=\"/users/new\"
|
|
33
|
+
"<!--/--><a class=\"btn btn-primary\" href=\"/users/new\">",
|
|
34
|
+
"</a><!--$-->",
|
|
30
35
|
"<!--/--></div><!--$-->",
|
|
31
36
|
"<!--/--><!--$-->",
|
|
32
37
|
"<!--/--><!--$-->",
|
|
33
38
|
"<!--/--></div>"
|
|
34
39
|
];
|
|
35
|
-
var _tmpl$5 = [
|
|
40
|
+
var _tmpl$5 = [
|
|
41
|
+
"<p",
|
|
42
|
+
" class=\"muted\">",
|
|
43
|
+
"</p>"
|
|
44
|
+
];
|
|
36
45
|
var _tmpl$6 = [
|
|
37
46
|
"<tr",
|
|
38
47
|
" class=\"",
|
|
@@ -46,18 +55,29 @@ var _tmpl$6 = [
|
|
|
46
55
|
"<!--/--><!--$-->",
|
|
47
56
|
"<!--/--></td></tr>"
|
|
48
57
|
];
|
|
49
|
-
var _tmpl$7 = [
|
|
58
|
+
var _tmpl$7 = [
|
|
59
|
+
"<span",
|
|
60
|
+
" class=\"muted\">",
|
|
61
|
+
"</span>"
|
|
62
|
+
];
|
|
50
63
|
var _tmpl$8 = [
|
|
51
64
|
"<div",
|
|
52
|
-
" class=\"card user-details\"><h3>
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
65
|
+
" class=\"card user-details\"><h3>",
|
|
66
|
+
"</h3><div class=\"form-grid\"><label><!--$-->",
|
|
67
|
+
"<!--/--><input class=\"input\"",
|
|
68
|
+
"></label><label><!--$-->",
|
|
69
|
+
"<!--/--><input class=\"input\" type=\"email\"",
|
|
70
|
+
"></label><label><!--$-->",
|
|
71
|
+
"<!--/--><select class=\"input\"",
|
|
72
|
+
"><option value=\"ACTIVE\">",
|
|
73
|
+
"</option><option value=\"INACTIVE\">",
|
|
74
|
+
"</option></select></label><label><!--$-->",
|
|
75
|
+
"<!--/--><select class=\"input\"",
|
|
56
76
|
"",
|
|
57
|
-
"><option value
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
77
|
+
"><option value>",
|
|
78
|
+
"</option><!--$-->",
|
|
79
|
+
"<!--/--></select></label></div><p class=\"muted\">",
|
|
80
|
+
"</p><div class=\"media-details__actions\"><!--$-->",
|
|
61
81
|
"<!--/--><!--$-->",
|
|
62
82
|
"<!--/--><!--$-->",
|
|
63
83
|
"<!--/--></div></div>"
|
|
@@ -74,6 +94,7 @@ function formatDate(value) {
|
|
|
74
94
|
return Number.isNaN(date.getTime()) ? "—" : date.toLocaleString("pt-BR");
|
|
75
95
|
}
|
|
76
96
|
function UsersManager() {
|
|
97
|
+
const { t } = useTranslation();
|
|
77
98
|
const [users, setUsers] = createSignal([]);
|
|
78
99
|
const [roles, setRoles] = createSignal([]);
|
|
79
100
|
const [total, setTotal] = createSignal(0);
|
|
@@ -110,17 +131,17 @@ function UsersManager() {
|
|
|
110
131
|
await load();
|
|
111
132
|
};
|
|
112
133
|
const resetPassword = async (user) => {
|
|
113
|
-
const password = prompt(
|
|
134
|
+
const password = prompt(t("users.detail.passwordPrompt", { email: user.email }));
|
|
114
135
|
if (!password) return;
|
|
115
136
|
if (password.length < 8) {
|
|
116
|
-
setError("
|
|
137
|
+
setError(t("users.detail.passwordError"));
|
|
117
138
|
return;
|
|
118
139
|
}
|
|
119
140
|
setBusy(true);
|
|
120
141
|
setError("");
|
|
121
142
|
try {
|
|
122
143
|
await apiClient.setUserPassword(user.id, password);
|
|
123
|
-
setInfo(
|
|
144
|
+
setInfo(t("users.detail.toasts.passwordChanged", { name: user.name }));
|
|
124
145
|
} catch (err) {
|
|
125
146
|
setError(err instanceof Error ? err.message : String(err));
|
|
126
147
|
} finally {
|
|
@@ -136,7 +157,7 @@ function UsersManager() {
|
|
|
136
157
|
email: user.email,
|
|
137
158
|
status: user.status
|
|
138
159
|
});
|
|
139
|
-
setInfo(
|
|
160
|
+
setInfo(t("users.detail.toasts.saved", { name: user.name }));
|
|
140
161
|
setSelected(null);
|
|
141
162
|
await load();
|
|
142
163
|
} catch (err) {
|
|
@@ -146,13 +167,13 @@ function UsersManager() {
|
|
|
146
167
|
}
|
|
147
168
|
};
|
|
148
169
|
const removeUser = async (user) => {
|
|
149
|
-
if (!confirm(
|
|
170
|
+
if (!confirm(t("users.detail.confirmDelete", { email: user.email }))) return;
|
|
150
171
|
setBusy(true);
|
|
151
172
|
setError("");
|
|
152
173
|
try {
|
|
153
174
|
await apiClient.deleteUser(user.id);
|
|
154
175
|
if (selected()?.id === user.id) setSelected(null);
|
|
155
|
-
setInfo(
|
|
176
|
+
setInfo(t("users.detail.toasts.deleted", { name: user.name }));
|
|
156
177
|
await load();
|
|
157
178
|
} catch (err) {
|
|
158
179
|
setError(err instanceof Error ? err.message : String(err));
|
|
@@ -177,7 +198,9 @@ function UsersManager() {
|
|
|
177
198
|
}
|
|
178
199
|
})), escape(createComponent(Input, {
|
|
179
200
|
name: "user-search",
|
|
180
|
-
placeholder
|
|
201
|
+
get placeholder() {
|
|
202
|
+
return t("users.toolbar.search");
|
|
203
|
+
},
|
|
181
204
|
get value() {
|
|
182
205
|
return search();
|
|
183
206
|
},
|
|
@@ -187,34 +210,40 @@ function UsersManager() {
|
|
|
187
210
|
}
|
|
188
211
|
})), escape(createComponent(Select, {
|
|
189
212
|
name: "user-status",
|
|
190
|
-
placeholder
|
|
213
|
+
get placeholder() {
|
|
214
|
+
return t("users.toolbar.allStatus");
|
|
215
|
+
},
|
|
191
216
|
get value() {
|
|
192
217
|
return status();
|
|
193
218
|
},
|
|
194
|
-
options
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
219
|
+
get options() {
|
|
220
|
+
return [{
|
|
221
|
+
value: "ACTIVE",
|
|
222
|
+
label: t("users.toolbar.active")
|
|
223
|
+
}, {
|
|
224
|
+
value: "INACTIVE",
|
|
225
|
+
label: t("users.toolbar.inactive")
|
|
226
|
+
}];
|
|
227
|
+
},
|
|
201
228
|
onChange: (value) => {
|
|
202
229
|
setStatus(value);
|
|
203
230
|
searchNow();
|
|
204
231
|
}
|
|
205
|
-
})), escape(createComponent(Button, {
|
|
232
|
+
})), escape(t("users.toolbar.newBtn")), escape(createComponent(Button, {
|
|
206
233
|
variant: "secondary",
|
|
207
234
|
onClick: () => void searchNow(),
|
|
208
|
-
children
|
|
235
|
+
get children() {
|
|
236
|
+
return t("users.toolbar.searchBtn");
|
|
237
|
+
}
|
|
209
238
|
})), escape(createComponent(Show2, {
|
|
210
239
|
get when() {
|
|
211
240
|
return users().length > 0;
|
|
212
241
|
},
|
|
213
242
|
get fallback() {
|
|
214
|
-
return ssr(_tmpl$5, ssrHydrationKey());
|
|
243
|
+
return ssr(_tmpl$5, ssrHydrationKey(), escape(t("users.empty")));
|
|
215
244
|
},
|
|
216
245
|
get children() {
|
|
217
|
-
return ssr(_tmpl$3, ssrHydrationKey(), escape(createComponent(For2, {
|
|
246
|
+
return ssr(_tmpl$3, ssrHydrationKey(), escape(t("users.table.name")), escape(t("users.table.email")), escape(t("users.table.role")), escape(t("users.table.status")), escape(t("users.table.lastAccess")), escape(createComponent(For2, {
|
|
218
247
|
get each() {
|
|
219
248
|
return users();
|
|
220
249
|
},
|
|
@@ -223,23 +252,27 @@ function UsersManager() {
|
|
|
223
252
|
return user.roles.length > 0;
|
|
224
253
|
},
|
|
225
254
|
get fallback() {
|
|
226
|
-
return ssr(_tmpl$7, ssrHydrationKey());
|
|
255
|
+
return ssr(_tmpl$7, ssrHydrationKey(), escape(t("users.noRole")));
|
|
227
256
|
},
|
|
228
257
|
get children() {
|
|
229
258
|
return createComponent(Badge, { get children() {
|
|
230
259
|
return user.roles.join(", ");
|
|
231
260
|
} });
|
|
232
261
|
}
|
|
233
|
-
})), `status-dot ${user.status === "ACTIVE" ? "status-dot--active" : ""}`, escape(user.status), escape(formatDate(user.last_login_at)), escape(createComponent(Button, {
|
|
262
|
+
})), `status-dot ${user.status === "ACTIVE" ? "status-dot--active" : ""}`, escape(t("common.status." + user.status.toLowerCase())), escape(formatDate(user.last_login_at)), escape(createComponent(Button, {
|
|
234
263
|
variant: "secondary",
|
|
235
264
|
size: "sm",
|
|
236
265
|
onClick: () => setSelected(user),
|
|
237
|
-
children
|
|
266
|
+
get children() {
|
|
267
|
+
return t("users.table.actions.manage");
|
|
268
|
+
}
|
|
238
269
|
})), escape(createComponent(Button, {
|
|
239
270
|
variant: "danger",
|
|
240
271
|
size: "sm",
|
|
241
272
|
onClick: () => void removeUser(user),
|
|
242
|
-
children
|
|
273
|
+
get children() {
|
|
274
|
+
return t("users.table.actions.delete");
|
|
275
|
+
}
|
|
243
276
|
})))
|
|
244
277
|
})));
|
|
245
278
|
}
|
|
@@ -259,12 +292,15 @@ function UsersManager() {
|
|
|
259
292
|
get when() {
|
|
260
293
|
return selected();
|
|
261
294
|
},
|
|
262
|
-
children: (user) => ssr(_tmpl$8, ssrHydrationKey(), ssrAttribute("value", escape(user().name, true), false), ssrAttribute("value", escape(user().email, true), false), ssrAttribute("value", escape(user().status, true), false), ssrAttribute("value", escape(currentRole(user())?.id ?? "", true), false), ssrAttribute("disabled", busy(), true), escape(createComponent(For2, {
|
|
295
|
+
children: (user) => ssr(_tmpl$8, ssrHydrationKey(), escape(t("users.detail.title")), escape(t("users.detail.fields.name")), ssrAttribute("value", escape(user().name, true), false), escape(t("users.detail.fields.email")), ssrAttribute("value", escape(user().email, true), false), escape(t("users.detail.fields.status")), ssrAttribute("value", escape(user().status, true), false), escape(t("users.detail.statusOptions.active")), escape(t("users.detail.statusOptions.inactive")), escape(t("users.detail.fields.role")), ssrAttribute("value", escape(currentRole(user())?.id ?? "", true), false), ssrAttribute("disabled", busy(), true), escape(t("users.detail.rolePlaceholder")), escape(createComponent(For2, {
|
|
263
296
|
get each() {
|
|
264
297
|
return roles();
|
|
265
298
|
},
|
|
266
299
|
children: (role) => ssr(_tmpl$9, ssrHydrationKey() + ssrAttribute("value", escape(role.id, true), false), escape(role.name), escape(role.slug))
|
|
267
|
-
})), escape(
|
|
300
|
+
})), escape(t("users.detail.meta", {
|
|
301
|
+
created: formatDate(user().created_at),
|
|
302
|
+
lastAccess: formatDate(user().last_login_at)
|
|
303
|
+
})), escape(createComponent(Button, {
|
|
268
304
|
variant: "primary",
|
|
269
305
|
get disabled() {
|
|
270
306
|
return busy();
|
|
@@ -273,18 +309,24 @@ function UsersManager() {
|
|
|
273
309
|
return busy();
|
|
274
310
|
},
|
|
275
311
|
onClick: () => void saveUser(user()),
|
|
276
|
-
children
|
|
312
|
+
get children() {
|
|
313
|
+
return t("users.detail.actions.save");
|
|
314
|
+
}
|
|
277
315
|
})), escape(createComponent(Button, {
|
|
278
316
|
variant: "secondary",
|
|
279
317
|
get disabled() {
|
|
280
318
|
return busy();
|
|
281
319
|
},
|
|
282
320
|
onClick: () => void resetPassword(user()),
|
|
283
|
-
children
|
|
321
|
+
get children() {
|
|
322
|
+
return t("users.detail.actions.resetPassword");
|
|
323
|
+
}
|
|
284
324
|
})), escape(createComponent(Button, {
|
|
285
325
|
variant: "secondary",
|
|
286
326
|
onClick: () => setSelected(null),
|
|
287
|
-
children
|
|
327
|
+
get children() {
|
|
328
|
+
return t("users.detail.actions.close");
|
|
329
|
+
}
|
|
288
330
|
})))
|
|
289
331
|
})));
|
|
290
332
|
}
|
|
@@ -295,11 +337,15 @@ var users_exports = /* @__PURE__ */ __exportAll({
|
|
|
295
337
|
file: () => $$file,
|
|
296
338
|
url: () => $$url
|
|
297
339
|
});
|
|
340
|
+
createAstro("https://astro.build");
|
|
298
341
|
var $$Index = createComponent$1(($$result, $$props, $$slots) => {
|
|
342
|
+
const Astro = $$result.createAstro($$props, $$slots);
|
|
343
|
+
Astro.self = $$Index;
|
|
344
|
+
const { t } = Astro.locals;
|
|
299
345
|
return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
|
|
300
|
-
"title": "
|
|
346
|
+
"title": t("users.title"),
|
|
301
347
|
"data-astro-cid-ao6unroh": true
|
|
302
|
-
}, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<div class="users-page" data-astro-cid-ao6unroh><div class="page-header" data-astro-cid-ao6unroh><h2 data-astro-cid-ao6unroh
|
|
348
|
+
}, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<div class="users-page" data-astro-cid-ao6unroh><div class="page-header" data-astro-cid-ao6unroh><h2 data-astro-cid-ao6unroh>${t("users.title")}</h2><p data-astro-cid-ao6unroh>${t("users.description")}</p></div>${renderComponent($$result, "UsersManager", UsersManager, {
|
|
303
349
|
"client:load": true,
|
|
304
350
|
"data-astro-cid-ao6unroh": true,
|
|
305
351
|
"client:component-hydration": "load",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
|
-
import { d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
2
|
+
import { S as createAstro, d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
3
|
import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
-
import { c as
|
|
5
|
-
import { t as apiClient } from "./api_i8T-MI6L.mjs";
|
|
4
|
+
import { a as Button, c as Input, f as Table, i as Badge, l as Pagination, n as useTranslation, o as Card, r as apiClient, t as $$DashboardLayout, u as Select } from "./DashboardLayout_DVdPm1iI.mjs";
|
|
6
5
|
import { createComponent, escape, ssr, ssrHydrationKey } from "solid-js/web";
|
|
6
|
+
import { Show, createSignal, onMount } from "solid-js";
|
|
7
7
|
//#region src/components/content/ContentList.tsx
|
|
8
8
|
var _tmpl$ = [
|
|
9
9
|
"<span",
|
|
@@ -13,7 +13,8 @@ var _tmpl$ = [
|
|
|
13
13
|
var _tmpl$2 = [
|
|
14
14
|
"<div",
|
|
15
15
|
" class=\"users-table__actions\"><a class=\"btn btn-secondary btn-sm\" href=\"",
|
|
16
|
-
"\">
|
|
16
|
+
"\">",
|
|
17
|
+
"</a><!--$-->",
|
|
17
18
|
"<!--/--><!--$-->",
|
|
18
19
|
"<!--/--></div>"
|
|
19
20
|
];
|
|
@@ -34,7 +35,8 @@ var _tmpl$5 = [
|
|
|
34
35
|
"<!--/--><div class=\"toolbar\"><!--$-->",
|
|
35
36
|
"<!--/--><!--$-->",
|
|
36
37
|
"<!--/--><!--$-->",
|
|
37
|
-
"<!--/--><a class=\"btn btn-primary\" href=\"/content/new\"
|
|
38
|
+
"<!--/--><a class=\"btn btn-primary\" href=\"/content/new\">",
|
|
39
|
+
"</a><!--$-->",
|
|
38
40
|
"<!--/--></div><!--$-->",
|
|
39
41
|
"<!--/--></div>"
|
|
40
42
|
];
|
|
@@ -48,6 +50,7 @@ function formatDate(row) {
|
|
|
48
50
|
return Number.isNaN(date.getTime()) ? "—" : date.toLocaleString("pt-BR");
|
|
49
51
|
}
|
|
50
52
|
function ContentList() {
|
|
53
|
+
const { t } = useTranslation();
|
|
51
54
|
const [items, setItems] = createSignal([]);
|
|
52
55
|
const [types, setTypes] = createSignal([]);
|
|
53
56
|
const [total, setTotal] = createSignal(0);
|
|
@@ -91,7 +94,7 @@ function ContentList() {
|
|
|
91
94
|
setInfo("");
|
|
92
95
|
try {
|
|
93
96
|
await apiClient.publishToggle(row.id, isPublished);
|
|
94
|
-
setInfo(isPublished ? "
|
|
97
|
+
setInfo(t(isPublished ? "content.list.toasts.unpublished" : "content.list.toasts.published"));
|
|
95
98
|
await load();
|
|
96
99
|
} catch (err) {
|
|
97
100
|
setError(err instanceof Error ? err.message : String(err));
|
|
@@ -101,7 +104,7 @@ function ContentList() {
|
|
|
101
104
|
};
|
|
102
105
|
const remove = async (row) => {
|
|
103
106
|
const title = String(raw(row)["title"] ?? row.id);
|
|
104
|
-
if (!confirm(
|
|
107
|
+
if (!confirm(t("content.list.confirmDelete", { title }))) return;
|
|
105
108
|
try {
|
|
106
109
|
await apiClient.deleteContent(row.id);
|
|
107
110
|
await load();
|
|
@@ -112,15 +115,15 @@ function ContentList() {
|
|
|
112
115
|
const columns = [
|
|
113
116
|
{
|
|
114
117
|
key: "title",
|
|
115
|
-
label: "
|
|
118
|
+
label: t("content.list.columns.title")
|
|
116
119
|
},
|
|
117
120
|
{
|
|
118
121
|
key: "type",
|
|
119
|
-
label: "
|
|
122
|
+
label: t("content.list.columns.type")
|
|
120
123
|
},
|
|
121
124
|
{
|
|
122
125
|
key: "status",
|
|
123
|
-
label: "
|
|
126
|
+
label: t("content.list.columns.status"),
|
|
124
127
|
render: (_value, row) => {
|
|
125
128
|
const statusValue = String(row["status"] ?? "");
|
|
126
129
|
return createComponent(Badge, {
|
|
@@ -131,7 +134,7 @@ function ContentList() {
|
|
|
131
134
|
},
|
|
132
135
|
{
|
|
133
136
|
key: "updated_at",
|
|
134
|
-
label: "
|
|
137
|
+
label: t("content.list.columns.updated"),
|
|
135
138
|
render: (_value, row) => ssr(_tmpl$, ssrHydrationKey(), escape(formatDate(row)))
|
|
136
139
|
},
|
|
137
140
|
{
|
|
@@ -140,31 +143,35 @@ function ContentList() {
|
|
|
140
143
|
render: (_value, row) => {
|
|
141
144
|
const content = row;
|
|
142
145
|
const isPublished = raw(content)["status"] === "PUBLISHED";
|
|
143
|
-
return ssr(_tmpl$2, ssrHydrationKey(), `/content/edit?id=${escape(encodeURIComponent(content.id), true)}`, escape(createComponent(Button, {
|
|
146
|
+
return ssr(_tmpl$2, ssrHydrationKey(), `/content/edit?id=${escape(encodeURIComponent(content.id), true)}`, escape(t("content.list.actions.edit")), escape(createComponent(Button, {
|
|
144
147
|
variant: isPublished ? "secondary" : "primary",
|
|
145
148
|
size: "sm",
|
|
146
149
|
get loading() {
|
|
147
150
|
return busyId() === content.id;
|
|
148
151
|
},
|
|
149
152
|
onClick: () => void togglePublish(content),
|
|
150
|
-
children
|
|
153
|
+
get children() {
|
|
154
|
+
return isPublished ? t("content.list.actions.unpublish") : t("content.list.actions.publish");
|
|
155
|
+
}
|
|
151
156
|
})), escape(createComponent(Button, {
|
|
152
157
|
variant: "danger",
|
|
153
158
|
size: "sm",
|
|
154
159
|
onClick: () => void remove(content),
|
|
155
|
-
children
|
|
160
|
+
get children() {
|
|
161
|
+
return t("content.list.actions.delete");
|
|
162
|
+
}
|
|
156
163
|
})));
|
|
157
164
|
}
|
|
158
165
|
}
|
|
159
166
|
];
|
|
160
|
-
return ssr(_tmpl$5, ssrHydrationKey(), escape(createComponent(
|
|
167
|
+
return ssr(_tmpl$5, ssrHydrationKey(), escape(createComponent(Show, {
|
|
161
168
|
get when() {
|
|
162
169
|
return error();
|
|
163
170
|
},
|
|
164
171
|
get children() {
|
|
165
172
|
return ssr(_tmpl$3, ssrHydrationKey(), escape(error()));
|
|
166
173
|
}
|
|
167
|
-
})), escape(createComponent(
|
|
174
|
+
})), escape(createComponent(Show, {
|
|
168
175
|
get when() {
|
|
169
176
|
return info();
|
|
170
177
|
},
|
|
@@ -173,7 +180,9 @@ function ContentList() {
|
|
|
173
180
|
}
|
|
174
181
|
})), escape(createComponent(Input, {
|
|
175
182
|
name: "search",
|
|
176
|
-
placeholder
|
|
183
|
+
get placeholder() {
|
|
184
|
+
return t("content.list.filters.search");
|
|
185
|
+
},
|
|
177
186
|
get value() {
|
|
178
187
|
return search();
|
|
179
188
|
},
|
|
@@ -183,7 +192,9 @@ function ContentList() {
|
|
|
183
192
|
}
|
|
184
193
|
})), escape(createComponent(Select, {
|
|
185
194
|
name: "type",
|
|
186
|
-
placeholder
|
|
195
|
+
get placeholder() {
|
|
196
|
+
return t("content.list.filters.allTypes");
|
|
197
|
+
},
|
|
187
198
|
get value() {
|
|
188
199
|
return type();
|
|
189
200
|
},
|
|
@@ -199,39 +210,47 @@ function ContentList() {
|
|
|
199
210
|
}
|
|
200
211
|
})), escape(createComponent(Select, {
|
|
201
212
|
name: "status",
|
|
202
|
-
placeholder
|
|
213
|
+
get placeholder() {
|
|
214
|
+
return t("content.list.filters.allStatus");
|
|
215
|
+
},
|
|
203
216
|
get value() {
|
|
204
217
|
return status();
|
|
205
218
|
},
|
|
206
|
-
options
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
219
|
+
get options() {
|
|
220
|
+
return [
|
|
221
|
+
{
|
|
222
|
+
value: "DRAFT",
|
|
223
|
+
label: t("content.list.statuses.draft")
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
value: "PUBLISHED",
|
|
227
|
+
label: t("content.list.statuses.published")
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
value: "ARCHIVED",
|
|
231
|
+
label: t("content.list.statuses.archived")
|
|
232
|
+
}
|
|
233
|
+
];
|
|
234
|
+
},
|
|
220
235
|
onChange: (value) => {
|
|
221
236
|
setStatus(value);
|
|
222
237
|
searchNow();
|
|
223
238
|
}
|
|
224
|
-
})), escape(createComponent(Button, {
|
|
239
|
+
})), escape(t("content.list.buttons.new")), escape(createComponent(Button, {
|
|
225
240
|
variant: "secondary",
|
|
226
241
|
onClick: () => void searchNow(),
|
|
227
|
-
children
|
|
242
|
+
get children() {
|
|
243
|
+
return t("content.list.buttons.search");
|
|
244
|
+
}
|
|
228
245
|
})), escape(createComponent(Card, { get children() {
|
|
229
246
|
return [createComponent(Table, {
|
|
230
247
|
columns,
|
|
231
248
|
get data() {
|
|
232
249
|
return items();
|
|
233
250
|
},
|
|
234
|
-
emptyMessage
|
|
251
|
+
get emptyMessage() {
|
|
252
|
+
return t("content.list.empty");
|
|
253
|
+
}
|
|
235
254
|
}), createComponent(Pagination, {
|
|
236
255
|
get page() {
|
|
237
256
|
return page();
|
|
@@ -254,11 +273,15 @@ var content_exports = /* @__PURE__ */ __exportAll({
|
|
|
254
273
|
file: () => $$file,
|
|
255
274
|
url: () => $$url
|
|
256
275
|
});
|
|
276
|
+
createAstro("https://astro.build");
|
|
257
277
|
var $$Index = createComponent$1(($$result, $$props, $$slots) => {
|
|
278
|
+
const Astro = $$result.createAstro($$props, $$slots);
|
|
279
|
+
Astro.self = $$Index;
|
|
280
|
+
const { t } = Astro.locals;
|
|
258
281
|
return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
|
|
259
|
-
"title": "
|
|
282
|
+
"title": t("content.list.title"),
|
|
260
283
|
"data-astro-cid-qhu5jad5": true
|
|
261
|
-
}, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<div class="content-page" data-astro-cid-qhu5jad5><div class="page-header" data-astro-cid-qhu5jad5><h2 data-astro-cid-qhu5jad5
|
|
284
|
+
}, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<div class="content-page" data-astro-cid-qhu5jad5><div class="page-header" data-astro-cid-qhu5jad5><h2 data-astro-cid-qhu5jad5>${t("content.list.title")}</h2><p data-astro-cid-qhu5jad5>${t("content.list.description")}</p></div>${renderComponent($$result, "ContentList", ContentList, {
|
|
262
285
|
"client:load": true,
|
|
263
286
|
"data-astro-cid-qhu5jad5": true,
|
|
264
287
|
"client:component-hydration": "load",
|