@oktis-works/admin 0.1.7 → 0.2.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/ContentEditor.C9TSxsGW.js +1 -0
- package/dist/client/_astro/ContentList.e1datweV.js +1 -0
- package/dist/client/_astro/DashboardHome.CqnldWlv.js +1 -0
- package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.B663y3aY.js → DashboardLayout.astro_astro_type_script_index_0_lang.sNve10RH.js} +1 -1
- package/dist/client/_astro/GeneralSettings.D-ALN9_r.js +1 -0
- package/dist/client/_astro/MediaLibrary.NQ1lF95i.js +1 -0
- package/dist/client/_astro/PostTypesManager.CdMx_Nxn.js +1 -0
- package/dist/client/_astro/TaxonomiesManager.BU7A02Ay.js +1 -0
- package/dist/client/_astro/UserCreateForm.BvDn97aZ.js +1 -0
- package/dist/client/_astro/UsersManager.CFBCKO-t.js +1 -0
- package/dist/client/_astro/api.DCaprPaL.js +1 -0
- package/dist/client/_astro/client.BY0Z100j.js +1 -0
- package/dist/client/_astro/dist.B3u752Tx.js +1 -0
- package/dist/client/_astro/extensions.PfWqwyUU.js +1 -0
- package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.ozrnjgkA.js → login.astro_astro_type_script_index_0_lang.BZaUVRCc.js} +1 -1
- package/dist/client/_astro/{web.BRlgYXBp.js → web.D_vCtCLj.js} +1 -1
- package/dist/server/chunks/{ContentEditor_DwBpNq-K.mjs → ContentEditor_CrO12IkK.mjs} +516 -20
- package/dist/server/chunks/DashboardLayout_h9iqOf7E.mjs +524 -0
- package/dist/server/chunks/MediaLibrary_Ctc5H6Od.mjs +309 -0
- package/dist/server/chunks/_slug__FVgVdi48.mjs +30 -0
- package/dist/server/chunks/{api_BWOj0bUJ.mjs → api_C1VC3OiH.mjs} +12 -0
- package/dist/server/chunks/{edit_DNavSwFw.mjs → edit_Dau0tASP.mjs} +2 -2
- package/dist/server/chunks/{general_r50g45qE.mjs → general_DOXmhv-h.mjs} +57 -50
- package/dist/server/chunks/{index_yiAU3Mfy.mjs → index_B26K6w42.mjs} +160 -48
- package/dist/server/chunks/{index_B50u2M3P.mjs → index_BYBvZsat.mjs} +1 -1
- package/dist/server/chunks/index_D9OGVvPs.mjs +275 -0
- package/dist/server/chunks/{index_6G7rXrus.mjs → index_Owj31XBA.mjs} +2 -2
- package/dist/server/chunks/{index_qxSk7_hO.mjs → index_oZK1qJym.mjs} +2 -2
- package/dist/server/chunks/{new_BWcSqoqV.mjs → new_2mb-n_fU.mjs} +2 -2
- package/dist/server/chunks/{new_h8TItZZ9.mjs → new_BhA9pTES.mjs} +2 -2
- package/dist/server/chunks/{post-types_BSobAovm.mjs → post-types_B4rrV0WI.mjs} +2 -2
- package/dist/server/chunks/{taxonomies_Ij7CReDF.mjs → taxonomies_Bdxv94jK.mjs} +2 -2
- package/dist/server/chunks/{upload_16xg6koU.mjs → upload_RgdwSWbY.mjs} +2 -2
- package/dist/server/entry.mjs +52 -22
- package/package.json +5 -5
- package/dist/client/_astro/ContentEditor.DOcUnkMP.js +0 -1
- package/dist/client/_astro/ContentList.KzxsMMxH.js +0 -1
- package/dist/client/_astro/DashboardHome.DFRZ_yyM.js +0 -1
- package/dist/client/_astro/GeneralSettings.gbcKHf_p.js +0 -1
- package/dist/client/_astro/MediaLibrary.BtCjwNlR.js +0 -1
- package/dist/client/_astro/PostTypesManager.DsxV-sF3.js +0 -1
- package/dist/client/_astro/TaxonomiesManager.DqnwUCtt.js +0 -1
- package/dist/client/_astro/UserCreateForm.BLaiQTzI.js +0 -1
- package/dist/client/_astro/UsersManager.BPRG8tjn.js +0 -1
- package/dist/client/_astro/api.BegLcOlq.js +0 -1
- package/dist/client/_astro/client.D7G9q8lk.js +0 -1
- package/dist/server/chunks/DashboardLayout_DO66tdeZ.mjs +0 -43
- package/dist/server/chunks/MediaLibrary_DEi9k6ms.mjs +0 -179
- package/dist/server/chunks/index_DUzUgyr4.mjs +0 -155
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import { a as For2, c as Select, f as createSignal, l as Show2, o as Input, p as onMount, r as Button, s as Pagination } from "./DashboardLayout_h9iqOf7E.mjs";
|
|
2
|
+
import { t as apiClient } from "./api_C1VC3OiH.mjs";
|
|
3
|
+
import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey, ssrStyleProperty } from "solid-js/web";
|
|
4
|
+
//#region src/components/media/MediaLibrary.tsx
|
|
5
|
+
var _tmpl$ = [
|
|
6
|
+
"<div",
|
|
7
|
+
" class=\"notice notice--error\">",
|
|
8
|
+
"</div>"
|
|
9
|
+
];
|
|
10
|
+
var _tmpl$2 = [
|
|
11
|
+
"<div",
|
|
12
|
+
" class=\"notice\">",
|
|
13
|
+
"</div>"
|
|
14
|
+
];
|
|
15
|
+
var _tmpl$3 = [
|
|
16
|
+
"<div",
|
|
17
|
+
" class=\"media-grid\">",
|
|
18
|
+
"</div>"
|
|
19
|
+
];
|
|
20
|
+
var _tmpl$4 = [
|
|
21
|
+
"<div",
|
|
22
|
+
" class=\"media-library\"><!--$-->",
|
|
23
|
+
"<!--/--><!--$-->",
|
|
24
|
+
"<!--/--><div class=\"",
|
|
25
|
+
"\"><p><strong>Arraste arquivos aqui</strong> ou</p><label class=\"btn btn-primary\" style=\"",
|
|
26
|
+
"\"><!--$-->",
|
|
27
|
+
"<!--/--><input type=\"file\" multiple style=\"",
|
|
28
|
+
"\"",
|
|
29
|
+
"></label><p class=\"muted\">Imagens, vídeos, áudios e documentos · até 25MB por arquivo</p></div><div class=\"toolbar\"><!--$-->",
|
|
30
|
+
"<!--/--><!--$-->",
|
|
31
|
+
"<!--/--><!--$-->",
|
|
32
|
+
"<!--/--></div><!--$-->",
|
|
33
|
+
"<!--/--><!--$-->",
|
|
34
|
+
"<!--/--><!--$-->",
|
|
35
|
+
"<!--/--></div>"
|
|
36
|
+
];
|
|
37
|
+
var _tmpl$5 = ["<p", " class=\"muted\">Nenhum arquivo ainda. Envie o primeiro!</p>"];
|
|
38
|
+
var _tmpl$6 = ["<img", " loading=\"lazy\">"];
|
|
39
|
+
var _tmpl$7 = [
|
|
40
|
+
"<button",
|
|
41
|
+
" type=\"button\" class=\"",
|
|
42
|
+
"\"><div class=\"media-card__preview\">",
|
|
43
|
+
"</div><div class=\"media-card__meta\"><span class=\"media-card__name\"",
|
|
44
|
+
">",
|
|
45
|
+
"</span><span class=\"muted\">",
|
|
46
|
+
"</span></div></button>"
|
|
47
|
+
];
|
|
48
|
+
var _tmpl$8 = [
|
|
49
|
+
"<span",
|
|
50
|
+
" class=\"media-card__ext\">",
|
|
51
|
+
"</span>"
|
|
52
|
+
];
|
|
53
|
+
var _tmpl$9 = ["<img", ">"];
|
|
54
|
+
var _tmpl$0 = [
|
|
55
|
+
"<div",
|
|
56
|
+
" class=\"card media-details\"><h3>Detalhes</h3><div class=\"media-details__preview\">",
|
|
57
|
+
"</div><dl class=\"media-details__list\"><dt>Arquivo</dt><dd>",
|
|
58
|
+
"</dd><dt>Tipo</dt><dd>",
|
|
59
|
+
"</dd><dt>Tamanho</dt><dd>",
|
|
60
|
+
"</dd><dt>URL</dt><dd class=\"media-details__url\"><code>",
|
|
61
|
+
"</code><button class=\"btn btn-secondary btn-sm\" type=\"button\">Copiar</button></dd></dl><!--$-->",
|
|
62
|
+
"<!--/--><!--$-->",
|
|
63
|
+
"<!--/--><div class=\"media-details__actions\"><!--$-->",
|
|
64
|
+
"<!--/--><!--$-->",
|
|
65
|
+
"<!--/--><!--$-->",
|
|
66
|
+
"<!--/--></div></div>"
|
|
67
|
+
];
|
|
68
|
+
var _tmpl$1 = [
|
|
69
|
+
"<p",
|
|
70
|
+
" class=\"muted\">",
|
|
71
|
+
"</p>"
|
|
72
|
+
];
|
|
73
|
+
function formatSize(bytes) {
|
|
74
|
+
if (!Number.isFinite(bytes)) return "—";
|
|
75
|
+
if (bytes < 1024) return `${bytes} B`;
|
|
76
|
+
if (bytes < 1048576) return `${(bytes / 1024).toFixed(1)} KB`;
|
|
77
|
+
return `${(bytes / 1048576).toFixed(1)} MB`;
|
|
78
|
+
}
|
|
79
|
+
var isImage = (media) => media.mime_type.startsWith("image/");
|
|
80
|
+
function MediaLibrary(props) {
|
|
81
|
+
const [items, setItems] = createSignal([]);
|
|
82
|
+
const [total, setTotal] = createSignal(0);
|
|
83
|
+
const [page, setPage] = createSignal(1);
|
|
84
|
+
const [search, setSearch] = createSignal("");
|
|
85
|
+
const [mimeType, setMimeType] = createSignal("");
|
|
86
|
+
const [error, setError] = createSignal("");
|
|
87
|
+
const [info, setInfo] = createSignal("");
|
|
88
|
+
const [uploading, setUploading] = createSignal(false);
|
|
89
|
+
const [selected, setSelected] = createSignal(null);
|
|
90
|
+
const [dragOver, setDragOver] = createSignal(false);
|
|
91
|
+
const [savingDetails, setSavingDetails] = createSignal(false);
|
|
92
|
+
const limit = 24;
|
|
93
|
+
const load = async () => {
|
|
94
|
+
try {
|
|
95
|
+
const result = await apiClient.listMedia({
|
|
96
|
+
page: page(),
|
|
97
|
+
limit,
|
|
98
|
+
search: search() || void 0,
|
|
99
|
+
mimeType: mimeType() || void 0
|
|
100
|
+
});
|
|
101
|
+
setItems(result.data ?? []);
|
|
102
|
+
setTotal(result.total ?? 0);
|
|
103
|
+
} catch (err) {
|
|
104
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
onMount(load);
|
|
108
|
+
const searchNow = async () => {
|
|
109
|
+
setPage(1);
|
|
110
|
+
await load();
|
|
111
|
+
};
|
|
112
|
+
const remove = async (media) => {
|
|
113
|
+
if (!confirm(`Excluir "${media.filename}"? O arquivo será removido do disco.`)) return;
|
|
114
|
+
try {
|
|
115
|
+
await apiClient.deleteMedia(media.id);
|
|
116
|
+
if (selected()?.id === media.id) setSelected(null);
|
|
117
|
+
await load();
|
|
118
|
+
} catch (err) {
|
|
119
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
const saveDetails = async () => {
|
|
123
|
+
const media = selected();
|
|
124
|
+
if (!media) return;
|
|
125
|
+
setSavingDetails(true);
|
|
126
|
+
setError("");
|
|
127
|
+
try {
|
|
128
|
+
const updated = await apiClient.updateMedia(media.id, {
|
|
129
|
+
alt: media.alt ?? "",
|
|
130
|
+
caption: media.caption ?? ""
|
|
131
|
+
});
|
|
132
|
+
setSelected({
|
|
133
|
+
...media,
|
|
134
|
+
...updated
|
|
135
|
+
});
|
|
136
|
+
setInfo("Detalhes salvos ✓");
|
|
137
|
+
await load();
|
|
138
|
+
} catch (err) {
|
|
139
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
140
|
+
} finally {
|
|
141
|
+
setSavingDetails(false);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
return ssr(_tmpl$4, ssrHydrationKey(), escape(createComponent(Show2, {
|
|
145
|
+
get when() {
|
|
146
|
+
return error();
|
|
147
|
+
},
|
|
148
|
+
get children() {
|
|
149
|
+
return ssr(_tmpl$, ssrHydrationKey(), escape(error()));
|
|
150
|
+
}
|
|
151
|
+
})), escape(createComponent(Show2, {
|
|
152
|
+
get when() {
|
|
153
|
+
return info();
|
|
154
|
+
},
|
|
155
|
+
get children() {
|
|
156
|
+
return ssr(_tmpl$2, ssrHydrationKey(), escape(info()));
|
|
157
|
+
}
|
|
158
|
+
})), `upload-zone ${dragOver() || props.focusUpload ? "upload-zone--active" : ""}`, ssrStyleProperty("cursor:", "pointer"), uploading() ? "Enviando…" : "Selecionar arquivos", ssrStyleProperty("display:", "none"), ssrAttribute("disabled", uploading(), true), escape(createComponent(Input, {
|
|
159
|
+
name: "media-search",
|
|
160
|
+
placeholder: "Buscar por nome ou alt…",
|
|
161
|
+
get value() {
|
|
162
|
+
return search();
|
|
163
|
+
},
|
|
164
|
+
onInput: (value) => {
|
|
165
|
+
setSearch(value);
|
|
166
|
+
searchNow();
|
|
167
|
+
}
|
|
168
|
+
})), escape(createComponent(Select, {
|
|
169
|
+
name: "media-mime",
|
|
170
|
+
placeholder: "Todos os tipos",
|
|
171
|
+
get value() {
|
|
172
|
+
return mimeType();
|
|
173
|
+
},
|
|
174
|
+
options: [
|
|
175
|
+
{
|
|
176
|
+
value: "image/png",
|
|
177
|
+
label: "PNG"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
value: "image/jpeg",
|
|
181
|
+
label: "JPEG"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
value: "image/gif",
|
|
185
|
+
label: "GIF"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
value: "image/webp",
|
|
189
|
+
label: "WebP"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
value: "image/svg+xml",
|
|
193
|
+
label: "SVG"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
value: "application/pdf",
|
|
197
|
+
label: "PDF"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
value: "video/mp4",
|
|
201
|
+
label: "MP4"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
value: "audio/mpeg",
|
|
205
|
+
label: "MP3"
|
|
206
|
+
}
|
|
207
|
+
],
|
|
208
|
+
onChange: (value) => {
|
|
209
|
+
setMimeType(value);
|
|
210
|
+
searchNow();
|
|
211
|
+
}
|
|
212
|
+
})), escape(createComponent(Button, {
|
|
213
|
+
variant: "secondary",
|
|
214
|
+
onClick: () => void searchNow(),
|
|
215
|
+
children: "Buscar"
|
|
216
|
+
})), escape(createComponent(Show2, {
|
|
217
|
+
get when() {
|
|
218
|
+
return items().length > 0;
|
|
219
|
+
},
|
|
220
|
+
get fallback() {
|
|
221
|
+
return ssr(_tmpl$5, ssrHydrationKey());
|
|
222
|
+
},
|
|
223
|
+
get children() {
|
|
224
|
+
return ssr(_tmpl$3, ssrHydrationKey(), escape(createComponent(For2, {
|
|
225
|
+
get each() {
|
|
226
|
+
return items();
|
|
227
|
+
},
|
|
228
|
+
children: (media) => ssr(_tmpl$7, ssrHydrationKey(), `media-card ${selected()?.id === media.id ? "media-card--selected" : ""}`, escape(createComponent(Show2, {
|
|
229
|
+
get when() {
|
|
230
|
+
return isImage(media);
|
|
231
|
+
},
|
|
232
|
+
get fallback() {
|
|
233
|
+
return ssr(_tmpl$8, ssrHydrationKey(), escape(media.mime_type.split("/")[1]?.toUpperCase() ?? "FILE"));
|
|
234
|
+
},
|
|
235
|
+
get children() {
|
|
236
|
+
return ssr(_tmpl$6, ssrHydrationKey() + ssrAttribute("src", escape(media.url, true), false) + ssrAttribute("alt", escape(media.alt ?? media.filename, true), false));
|
|
237
|
+
}
|
|
238
|
+
})), ssrAttribute("title", escape(media.filename, true), false), escape(media.filename), escape(formatSize(media.size)))
|
|
239
|
+
})));
|
|
240
|
+
}
|
|
241
|
+
})), escape(createComponent(Pagination, {
|
|
242
|
+
get page() {
|
|
243
|
+
return page();
|
|
244
|
+
},
|
|
245
|
+
limit,
|
|
246
|
+
get total() {
|
|
247
|
+
return total();
|
|
248
|
+
},
|
|
249
|
+
onPageChange: (next) => {
|
|
250
|
+
setPage(next);
|
|
251
|
+
load();
|
|
252
|
+
}
|
|
253
|
+
})), escape(createComponent(Show2, {
|
|
254
|
+
get when() {
|
|
255
|
+
return selected();
|
|
256
|
+
},
|
|
257
|
+
children: (media) => ssr(_tmpl$0, ssrHydrationKey(), escape(createComponent(Show2, {
|
|
258
|
+
get when() {
|
|
259
|
+
return isImage(media());
|
|
260
|
+
},
|
|
261
|
+
get fallback() {
|
|
262
|
+
return ssr(_tmpl$1, ssrHydrationKey(), escape(media().mime_type));
|
|
263
|
+
},
|
|
264
|
+
get children() {
|
|
265
|
+
return ssr(_tmpl$9, ssrHydrationKey() + ssrAttribute("src", escape(media().url, true), false) + ssrAttribute("alt", escape(media().alt ?? "", true), false));
|
|
266
|
+
}
|
|
267
|
+
})), escape(media().filename), escape(media().mime_type), escape(formatSize(media().size)), escape(media().url), escape(createComponent(Input, {
|
|
268
|
+
name: "media-alt",
|
|
269
|
+
label: "Texto alternativo (alt)",
|
|
270
|
+
get value() {
|
|
271
|
+
return media().alt ?? "";
|
|
272
|
+
},
|
|
273
|
+
onInput: (value) => setSelected({
|
|
274
|
+
...media(),
|
|
275
|
+
alt: value
|
|
276
|
+
})
|
|
277
|
+
})), escape(createComponent(Input, {
|
|
278
|
+
name: "media-caption",
|
|
279
|
+
label: "Legenda",
|
|
280
|
+
get value() {
|
|
281
|
+
return media().caption ?? "";
|
|
282
|
+
},
|
|
283
|
+
onInput: (value) => setSelected({
|
|
284
|
+
...media(),
|
|
285
|
+
caption: value
|
|
286
|
+
})
|
|
287
|
+
})), escape(createComponent(Button, {
|
|
288
|
+
variant: "primary",
|
|
289
|
+
get disabled() {
|
|
290
|
+
return savingDetails();
|
|
291
|
+
},
|
|
292
|
+
get loading() {
|
|
293
|
+
return savingDetails();
|
|
294
|
+
},
|
|
295
|
+
onClick: () => void saveDetails(),
|
|
296
|
+
children: "Salvar detalhes"
|
|
297
|
+
})), escape(createComponent(Button, {
|
|
298
|
+
variant: "danger",
|
|
299
|
+
onClick: () => void remove(media()),
|
|
300
|
+
children: "Excluir"
|
|
301
|
+
})), escape(createComponent(Button, {
|
|
302
|
+
variant: "secondary",
|
|
303
|
+
onClick: () => setSelected(null),
|
|
304
|
+
children: "Fechar"
|
|
305
|
+
})))
|
|
306
|
+
})));
|
|
307
|
+
}
|
|
308
|
+
//#endregion
|
|
309
|
+
export { MediaLibrary as t };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
|
+
import { S as createAstro, d as maybeRenderHead, i as renderComponent, p as addAttribute, u as renderTemplate } from "./server_CnzC2Y0K.mjs";
|
|
3
|
+
import { t as createComponent } from "./compiler_CYjwXhLT.mjs";
|
|
4
|
+
import { t as $$DashboardLayout } from "./DashboardLayout_h9iqOf7E.mjs";
|
|
5
|
+
//#region src/pages/plugins/[slug].astro
|
|
6
|
+
var _slug__exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
default: () => $$Slug,
|
|
8
|
+
file: () => $$file,
|
|
9
|
+
url: () => $$url
|
|
10
|
+
});
|
|
11
|
+
createAstro("https://astro.build");
|
|
12
|
+
var $$Slug = createComponent(($$result, $$props, $$slots) => {
|
|
13
|
+
const Astro = $$result.createAstro($$props, $$slots);
|
|
14
|
+
Astro.self = $$Slug;
|
|
15
|
+
const { slug } = Astro.props;
|
|
16
|
+
const pluginSlug = String(slug ?? "").split("/")[0] ?? "";
|
|
17
|
+
const pageTitle = String(slug ?? "Plugin");
|
|
18
|
+
return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
|
|
19
|
+
"title": pageTitle,
|
|
20
|
+
"description": `Página de extensão do plugin ${pluginSlug}`,
|
|
21
|
+
"data-astro-cid-q2qjpybz": true
|
|
22
|
+
}, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<div class="plugin-page"${addAttribute(pluginSlug, "data-plugin")}${addAttribute(slug, "data-plugin-page")} data-astro-cid-q2qjpybz><div class="card plugin-page__container" data-astro-cid-q2qjpybz><h2 data-astro-cid-q2qjpybz>${pageTitle}</h2><p class="muted" data-astro-cid-q2qjpybz>Conteúdo renderizado pelo runtime de componentes do plugin — isolado via<code data-astro-cid-q2qjpybz>data-plugin="${pluginSlug}"</code>.</p><div class="plugin-page__mount"${addAttribute(`page:${slug}`, "data-plugin-component")}${addAttribute(pluginSlug, "data-plugin")} data-astro-cid-q2qjpybz><!-- Componente do plugin (declarativo, sem injeção de DOM direta — DECI-027) --></div></div></div>` })}`;
|
|
23
|
+
}, "/home/runner/work/cms/cms/apps/admin/src/pages/plugins/[slug].astro", void 0);
|
|
24
|
+
var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/plugins/[slug].astro";
|
|
25
|
+
var $$url = "/plugins/[slug]";
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region \0virtual:astro:page:src/pages/plugins/[slug]@_@astro
|
|
28
|
+
var page = () => _slug__exports;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { page };
|
|
@@ -133,6 +133,18 @@ var ApiClient = class {
|
|
|
133
133
|
async deleteContent(id) {
|
|
134
134
|
await this.request("DELETE", `/api/v1/content/${id}`);
|
|
135
135
|
}
|
|
136
|
+
/** A2: publica via rota real do publisher (eventBus + cache + revisions). */
|
|
137
|
+
async publishContent(id) {
|
|
138
|
+
return this.request("POST", `/api/v1/content/${id}/publish`);
|
|
139
|
+
}
|
|
140
|
+
/** A2: despublica via rota real do publisher. */
|
|
141
|
+
async unpublishContent(id) {
|
|
142
|
+
return this.request("POST", `/api/v1/content/${id}/unpublish`);
|
|
143
|
+
}
|
|
144
|
+
/** Atalho usado pela ContentList: publish/unpublish conforme status atual. */
|
|
145
|
+
async publishToggle(id, isPublished) {
|
|
146
|
+
return isPublished ? this.unpublishContent(id) : this.publishContent(id);
|
|
147
|
+
}
|
|
136
148
|
async getContentTypes() {
|
|
137
149
|
return this.request("GET", "/api/v1/content-types");
|
|
138
150
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
2
|
import { d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_CnzC2Y0K.mjs";
|
|
3
3
|
import { t as createComponent } from "./compiler_CYjwXhLT.mjs";
|
|
4
|
-
import { t as $$DashboardLayout } from "./
|
|
5
|
-
import { t as ContentEditor } from "./
|
|
4
|
+
import { t as $$DashboardLayout } from "./DashboardLayout_h9iqOf7E.mjs";
|
|
5
|
+
import { t as ContentEditor } from "./ContentEditor_CrO12IkK.mjs";
|
|
6
6
|
//#region src/pages/content/edit.astro
|
|
7
7
|
var edit_exports = /* @__PURE__ */ __exportAll({
|
|
8
8
|
default: () => $$Edit,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
2
|
import { d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_CnzC2Y0K.mjs";
|
|
3
3
|
import { t as createComponent$1 } from "./compiler_CYjwXhLT.mjs";
|
|
4
|
-
import { t as $$DashboardLayout } from "./
|
|
5
|
-
import { t as apiClient } from "./
|
|
6
|
-
import { createComponent, escape, memo, ssr,
|
|
7
|
-
import { For, Show, createSignal, onMount } from "solid-js";
|
|
4
|
+
import { c as Select, f as createSignal, i as Card, l as Show2, o as Input, p as onMount, r as Button, t as $$DashboardLayout } from "./DashboardLayout_h9iqOf7E.mjs";
|
|
5
|
+
import { t as apiClient } from "./api_C1VC3OiH.mjs";
|
|
6
|
+
import { createComponent, escape, memo, ssr, ssrHydrationKey } from "solid-js/web";
|
|
8
7
|
//#region src/components/apps/settings/GeneralSettings.tsx
|
|
9
8
|
var _tmpl$ = [
|
|
10
9
|
"<div",
|
|
@@ -18,10 +17,9 @@ var _tmpl$2 = [
|
|
|
18
17
|
];
|
|
19
18
|
var _tmpl$3 = [
|
|
20
19
|
"<form",
|
|
21
|
-
"
|
|
22
|
-
"</div><div class=\"media-details__actions\"
|
|
23
|
-
">"
|
|
24
|
-
"</button></div></form>"
|
|
20
|
+
"><h3>Geral</h3><div class=\"form-grid\">",
|
|
21
|
+
"</div><div class=\"media-details__actions\">",
|
|
22
|
+
"</div></form>"
|
|
25
23
|
];
|
|
26
24
|
var _tmpl$4 = [
|
|
27
25
|
"<div",
|
|
@@ -31,28 +29,6 @@ var _tmpl$4 = [
|
|
|
31
29
|
"<!--/--></div>"
|
|
32
30
|
];
|
|
33
31
|
var _tmpl$5 = ["<p", " class=\"muted\">Carregando…</p>"];
|
|
34
|
-
var _tmpl$6 = [
|
|
35
|
-
"<select",
|
|
36
|
-
" class=\"input\"",
|
|
37
|
-
">",
|
|
38
|
-
"</select>"
|
|
39
|
-
];
|
|
40
|
-
var _tmpl$7 = [
|
|
41
|
-
"<label",
|
|
42
|
-
"><!--$-->",
|
|
43
|
-
"<!--/--><!--$-->",
|
|
44
|
-
"<!--/--></label>"
|
|
45
|
-
];
|
|
46
|
-
var _tmpl$8 = [
|
|
47
|
-
"<input",
|
|
48
|
-
" class=\"input\"",
|
|
49
|
-
">"
|
|
50
|
-
];
|
|
51
|
-
var _tmpl$9 = [
|
|
52
|
-
"<option",
|
|
53
|
-
">",
|
|
54
|
-
"</option>"
|
|
55
|
-
];
|
|
56
32
|
var FIELDS = [
|
|
57
33
|
{
|
|
58
34
|
key: "siteTitle",
|
|
@@ -101,21 +77,21 @@ function GeneralSettings() {
|
|
|
101
77
|
setError(err instanceof Error ? err.message : String(err));
|
|
102
78
|
}
|
|
103
79
|
});
|
|
104
|
-
return ssr(_tmpl$4, ssrHydrationKey(), escape(createComponent(
|
|
80
|
+
return ssr(_tmpl$4, ssrHydrationKey(), escape(createComponent(Show2, {
|
|
105
81
|
get when() {
|
|
106
82
|
return error();
|
|
107
83
|
},
|
|
108
84
|
get children() {
|
|
109
85
|
return ssr(_tmpl$, ssrHydrationKey(), escape(error()));
|
|
110
86
|
}
|
|
111
|
-
})), escape(createComponent(
|
|
87
|
+
})), escape(createComponent(Show2, {
|
|
112
88
|
get when() {
|
|
113
89
|
return info();
|
|
114
90
|
},
|
|
115
91
|
get children() {
|
|
116
92
|
return ssr(_tmpl$2, ssrHydrationKey(), escape(info()));
|
|
117
93
|
}
|
|
118
|
-
})), escape(createComponent(
|
|
94
|
+
})), escape(createComponent(Show2, {
|
|
119
95
|
get when() {
|
|
120
96
|
return loaded();
|
|
121
97
|
},
|
|
@@ -123,25 +99,56 @@ function GeneralSettings() {
|
|
|
123
99
|
return ssr(_tmpl$5, ssrHydrationKey());
|
|
124
100
|
},
|
|
125
101
|
get children() {
|
|
126
|
-
return
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
102
|
+
return createComponent(Card, { get children() {
|
|
103
|
+
return ssr(_tmpl$3, ssrHydrationKey(), escape(FIELDS.map((field) => field.type === "select" ? createComponent(Select, {
|
|
104
|
+
get name() {
|
|
105
|
+
return field.key;
|
|
106
|
+
},
|
|
107
|
+
get label() {
|
|
108
|
+
return field.label;
|
|
109
|
+
},
|
|
110
|
+
get value() {
|
|
111
|
+
return values()[field.key] ?? "";
|
|
112
|
+
},
|
|
113
|
+
get options() {
|
|
114
|
+
return memo(() => "options" in field)() ? field.options.map((option) => ({
|
|
115
|
+
value: option,
|
|
116
|
+
label: option
|
|
117
|
+
})) : [];
|
|
118
|
+
},
|
|
119
|
+
onChange: (value) => setValues({
|
|
120
|
+
...values(),
|
|
121
|
+
[field.key]: value
|
|
122
|
+
})
|
|
123
|
+
}) : createComponent(Input, {
|
|
124
|
+
get name() {
|
|
125
|
+
return field.key;
|
|
126
|
+
},
|
|
127
|
+
get label() {
|
|
128
|
+
return field.label;
|
|
129
|
+
},
|
|
130
|
+
get placeholder() {
|
|
131
|
+
return memo(() => "placeholder" in field)() ? field.placeholder : "";
|
|
132
|
+
},
|
|
133
|
+
get value() {
|
|
134
|
+
return values()[field.key] ?? "";
|
|
135
|
+
},
|
|
136
|
+
onInput: (value) => setValues({
|
|
137
|
+
...values(),
|
|
138
|
+
[field.key]: value
|
|
139
|
+
})
|
|
140
|
+
}))), escape(createComponent(Button, {
|
|
141
|
+
variant: "primary",
|
|
142
|
+
type: "submit",
|
|
143
|
+
get disabled() {
|
|
144
|
+
return saving();
|
|
131
145
|
},
|
|
132
|
-
get
|
|
133
|
-
return
|
|
146
|
+
get loading() {
|
|
147
|
+
return saving();
|
|
134
148
|
},
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return memo(() => "options" in field)() ? field.options : [];
|
|
139
|
-
},
|
|
140
|
-
children: (option) => ssr(_tmpl$9, ssrHydrationKey() + ssrAttribute("value", escape(option, true), false), escape(option))
|
|
141
|
-
})));
|
|
142
|
-
}
|
|
143
|
-
})))
|
|
144
|
-
})), ssrAttribute("disabled", saving(), true), saving() ? "Salvando…" : "Salvar");
|
|
149
|
+
children: "Salvar"
|
|
150
|
+
})));
|
|
151
|
+
} });
|
|
145
152
|
}
|
|
146
153
|
})));
|
|
147
154
|
}
|