@oktis-works/admin 0.1.5 → 0.1.8
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/{BaseLayout.COf3Eran.css → BaseLayout.BPkaFsmK.css} +1 -1
- 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.sNve10RH.js +1 -0
- 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.BLhqPWk8.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/{BaseLayout_Mvr1_6Ng.mjs → BaseLayout_C41_wW4F.mjs} +19 -2
- package/dist/server/chunks/{edit_D14rRl_p.mjs → ContentEditor_CrO12IkK.mjs} +535 -48
- 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_C1VC3OiH.mjs +286 -0
- package/dist/server/chunks/edit_Dau0tASP.mjs +30 -0
- package/dist/server/chunks/general_DOXmhv-h.mjs +180 -0
- package/dist/server/chunks/index_B26K6w42.mjs +316 -0
- package/dist/server/chunks/index_BYBvZsat.mjs +23 -0
- package/dist/server/chunks/index_D9OGVvPs.mjs +275 -0
- package/dist/server/chunks/index_Owj31XBA.mjs +133 -0
- package/dist/server/chunks/index_oZK1qJym.mjs +30 -0
- package/dist/server/chunks/{login_B7vbWIed.mjs → login_BH67N4b1.mjs} +2 -19
- package/dist/server/chunks/new_2mb-n_fU.mjs +86 -0
- package/dist/server/chunks/new_BhA9pTES.mjs +30 -0
- package/dist/server/chunks/{post-types_BtNyF2Iv.mjs → post-types_B4rrV0WI.mjs} +2 -2
- package/dist/server/chunks/{taxonomies_DSgstawN.mjs → taxonomies_Bdxv94jK.mjs} +2 -2
- package/dist/server/chunks/upload_RgdwSWbY.mjs +31 -0
- package/dist/server/entry.mjs +291 -15
- package/package.json +5 -5
- package/dist/client/_astro/ContentEditor.COyD6bGV.js +0 -1
- package/dist/client/_astro/PostTypesManager.APvO7Cs9.js +0 -1
- package/dist/client/_astro/TaxonomiesManager.CVFdfaUR.js +0 -1
- package/dist/client/_astro/api.DSP61PKM.js +0 -1
- package/dist/client/_astro/client.D7G9q8lk.js +0 -1
- package/dist/server/chunks/DashboardLayout_CP5ag-_P.mjs +0 -17
- package/dist/server/chunks/api_Cy8sbUHf.mjs +0 -153
- package/dist/server/chunks/index_BgbHlcwr.mjs +0 -23
- package/dist/server/chunks/index_c3b5hMDp.mjs +0 -22
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
|
+
import { d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_CnzC2Y0K.mjs";
|
|
3
|
+
import { t as createComponent$1 } from "./compiler_CYjwXhLT.mjs";
|
|
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";
|
|
7
|
+
//#region src/components/apps/settings/GeneralSettings.tsx
|
|
8
|
+
var _tmpl$ = [
|
|
9
|
+
"<div",
|
|
10
|
+
" class=\"notice notice--error\">",
|
|
11
|
+
"</div>"
|
|
12
|
+
];
|
|
13
|
+
var _tmpl$2 = [
|
|
14
|
+
"<div",
|
|
15
|
+
" class=\"notice\">",
|
|
16
|
+
"</div>"
|
|
17
|
+
];
|
|
18
|
+
var _tmpl$3 = [
|
|
19
|
+
"<form",
|
|
20
|
+
"><h3>Geral</h3><div class=\"form-grid\">",
|
|
21
|
+
"</div><div class=\"media-details__actions\">",
|
|
22
|
+
"</div></form>"
|
|
23
|
+
];
|
|
24
|
+
var _tmpl$4 = [
|
|
25
|
+
"<div",
|
|
26
|
+
" class=\"general-settings\"><!--$-->",
|
|
27
|
+
"<!--/--><!--$-->",
|
|
28
|
+
"<!--/--><!--$-->",
|
|
29
|
+
"<!--/--></div>"
|
|
30
|
+
];
|
|
31
|
+
var _tmpl$5 = ["<p", " class=\"muted\">Carregando…</p>"];
|
|
32
|
+
var FIELDS = [
|
|
33
|
+
{
|
|
34
|
+
key: "siteTitle",
|
|
35
|
+
label: "Título do site",
|
|
36
|
+
type: "text",
|
|
37
|
+
placeholder: "Meu Site"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "siteDescription",
|
|
41
|
+
label: "Descrição",
|
|
42
|
+
type: "text",
|
|
43
|
+
placeholder: "Um novo site feito com OkCMS"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: "language",
|
|
47
|
+
label: "Idioma",
|
|
48
|
+
type: "select",
|
|
49
|
+
options: [
|
|
50
|
+
"pt-BR",
|
|
51
|
+
"en-US",
|
|
52
|
+
"es-ES"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: "timezone",
|
|
57
|
+
label: "Fuso horário",
|
|
58
|
+
type: "text",
|
|
59
|
+
placeholder: "America/Sao_Paulo"
|
|
60
|
+
}
|
|
61
|
+
];
|
|
62
|
+
function GeneralSettings() {
|
|
63
|
+
const [values, setValues] = createSignal({});
|
|
64
|
+
const [loaded, setLoaded] = createSignal(false);
|
|
65
|
+
const [error, setError] = createSignal("");
|
|
66
|
+
const [info, setInfo] = createSignal("");
|
|
67
|
+
const [saving, setSaving] = createSignal(false);
|
|
68
|
+
onMount(async () => {
|
|
69
|
+
try {
|
|
70
|
+
const rows = await apiClient.getSettings("general");
|
|
71
|
+
const map = {};
|
|
72
|
+
for (const row of rows) map[row.key] = typeof row.value === "string" ? row.value : JSON.stringify(row.value ?? "");
|
|
73
|
+
for (const field of FIELDS) if (map[field.key] === void 0) map[field.key] = "";
|
|
74
|
+
setValues(map);
|
|
75
|
+
setLoaded(true);
|
|
76
|
+
} catch (err) {
|
|
77
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
return ssr(_tmpl$4, ssrHydrationKey(), escape(createComponent(Show2, {
|
|
81
|
+
get when() {
|
|
82
|
+
return error();
|
|
83
|
+
},
|
|
84
|
+
get children() {
|
|
85
|
+
return ssr(_tmpl$, ssrHydrationKey(), escape(error()));
|
|
86
|
+
}
|
|
87
|
+
})), escape(createComponent(Show2, {
|
|
88
|
+
get when() {
|
|
89
|
+
return info();
|
|
90
|
+
},
|
|
91
|
+
get children() {
|
|
92
|
+
return ssr(_tmpl$2, ssrHydrationKey(), escape(info()));
|
|
93
|
+
}
|
|
94
|
+
})), escape(createComponent(Show2, {
|
|
95
|
+
get when() {
|
|
96
|
+
return loaded();
|
|
97
|
+
},
|
|
98
|
+
get fallback() {
|
|
99
|
+
return ssr(_tmpl$5, ssrHydrationKey());
|
|
100
|
+
},
|
|
101
|
+
get children() {
|
|
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();
|
|
145
|
+
},
|
|
146
|
+
get loading() {
|
|
147
|
+
return saving();
|
|
148
|
+
},
|
|
149
|
+
children: "Salvar"
|
|
150
|
+
})));
|
|
151
|
+
} });
|
|
152
|
+
}
|
|
153
|
+
})));
|
|
154
|
+
}
|
|
155
|
+
//#endregion
|
|
156
|
+
//#region src/pages/settings/general.astro
|
|
157
|
+
var general_exports = /* @__PURE__ */ __exportAll({
|
|
158
|
+
default: () => $$General,
|
|
159
|
+
file: () => $$file,
|
|
160
|
+
url: () => $$url
|
|
161
|
+
});
|
|
162
|
+
var $$General = createComponent$1(($$result, $$props, $$slots) => {
|
|
163
|
+
return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
|
|
164
|
+
"title": "Settings · General",
|
|
165
|
+
"data-astro-cid-nzku6miy": true
|
|
166
|
+
}, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<div class="settings-page" data-astro-cid-nzku6miy><div class="page-header" data-astro-cid-nzku6miy><h2 data-astro-cid-nzku6miy>Geral</h2><p data-astro-cid-nzku6miy>Informações básicas exibidas no site.</p><p data-astro-cid-nzku6miy><a href="/settings" data-astro-cid-nzku6miy>← Todas as configurações</a></p></div>${renderComponent($$result, "GeneralSettings", GeneralSettings, {
|
|
167
|
+
"client:load": true,
|
|
168
|
+
"data-astro-cid-nzku6miy": true,
|
|
169
|
+
"client:component-hydration": "load",
|
|
170
|
+
"client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/settings/GeneralSettings.tsx",
|
|
171
|
+
"client:component-export": "GeneralSettings"
|
|
172
|
+
})}</div>` })}`;
|
|
173
|
+
}, "/home/runner/work/cms/cms/apps/admin/src/pages/settings/general.astro", void 0);
|
|
174
|
+
var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/settings/general.astro";
|
|
175
|
+
var $$url = "/settings/general";
|
|
176
|
+
//#endregion
|
|
177
|
+
//#region \0virtual:astro:page:src/pages/settings/general@_@astro
|
|
178
|
+
var page = () => general_exports;
|
|
179
|
+
//#endregion
|
|
180
|
+
export { page };
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
|
+
import { d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_CnzC2Y0K.mjs";
|
|
3
|
+
import { t as createComponent$1 } from "./compiler_CYjwXhLT.mjs";
|
|
4
|
+
import { a as For2, c as Select, f as createSignal, l as Show2, n as Badge, o as Input, p as onMount, r as Button, s as Pagination, t as $$DashboardLayout } from "./DashboardLayout_h9iqOf7E.mjs";
|
|
5
|
+
import { t as apiClient } from "./api_C1VC3OiH.mjs";
|
|
6
|
+
import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
|
|
7
|
+
//#region src/components/apps/users/UsersManager.tsx
|
|
8
|
+
var _tmpl$ = [
|
|
9
|
+
"<div",
|
|
10
|
+
" class=\"notice notice--error\">",
|
|
11
|
+
"</div>"
|
|
12
|
+
];
|
|
13
|
+
var _tmpl$2 = [
|
|
14
|
+
"<div",
|
|
15
|
+
" class=\"notice\">",
|
|
16
|
+
"</div>"
|
|
17
|
+
];
|
|
18
|
+
var _tmpl$3 = [
|
|
19
|
+
"<table",
|
|
20
|
+
" class=\"users-table\"><thead><tr><th>Nome</th><th>Email</th><th>Papel</th><th>Status</th><th>Último acesso</th><th></th></tr></thead><tbody>",
|
|
21
|
+
"</tbody></table>"
|
|
22
|
+
];
|
|
23
|
+
var _tmpl$4 = [
|
|
24
|
+
"<div",
|
|
25
|
+
" class=\"users-manager\"><!--$-->",
|
|
26
|
+
"<!--/--><!--$-->",
|
|
27
|
+
"<!--/--><div class=\"toolbar\"><!--$-->",
|
|
28
|
+
"<!--/--><!--$-->",
|
|
29
|
+
"<!--/--><a class=\"btn btn-primary\" href=\"/users/new\">+ Novo usuário</a><!--$-->",
|
|
30
|
+
"<!--/--></div><!--$-->",
|
|
31
|
+
"<!--/--><!--$-->",
|
|
32
|
+
"<!--/--><!--$-->",
|
|
33
|
+
"<!--/--></div>"
|
|
34
|
+
];
|
|
35
|
+
var _tmpl$5 = ["<p", " class=\"muted\">Nenhum usuário encontrado.</p>"];
|
|
36
|
+
var _tmpl$6 = [
|
|
37
|
+
"<tr",
|
|
38
|
+
" class=\"",
|
|
39
|
+
"\"><td>",
|
|
40
|
+
"</td><td class=\"muted\">",
|
|
41
|
+
"</td><td>",
|
|
42
|
+
"</td><td><span class=\"",
|
|
43
|
+
"\"></span><!--$-->",
|
|
44
|
+
"<!--/--></td><td class=\"muted\">",
|
|
45
|
+
"</td><td class=\"users-table__actions\"><!--$-->",
|
|
46
|
+
"<!--/--><!--$-->",
|
|
47
|
+
"<!--/--></td></tr>"
|
|
48
|
+
];
|
|
49
|
+
var _tmpl$7 = ["<span", " class=\"muted\">sem papel</span>"];
|
|
50
|
+
var _tmpl$8 = [
|
|
51
|
+
"<div",
|
|
52
|
+
" class=\"card user-details\"><h3>Gerenciar usuário</h3><div class=\"form-grid\"><label>Nome<input class=\"input\"",
|
|
53
|
+
"></label><label>Email<input class=\"input\" type=\"email\"",
|
|
54
|
+
"></label><label>Status<select class=\"input\"",
|
|
55
|
+
"><option value=\"ACTIVE\">Ativo</option><option value=\"INACTIVE\">Inativo</option></select></label><label>Papel<select class=\"input\"",
|
|
56
|
+
"",
|
|
57
|
+
"><option value>— sem papel —</option><!--$-->",
|
|
58
|
+
"<!--/--></select></label></div><p class=\"muted\">Criado em <!--$-->",
|
|
59
|
+
"<!--/--> · último acesso <!--$-->",
|
|
60
|
+
"<!--/--></p><div class=\"media-details__actions\"><!--$-->",
|
|
61
|
+
"<!--/--><!--$-->",
|
|
62
|
+
"<!--/--><!--$-->",
|
|
63
|
+
"<!--/--></div></div>"
|
|
64
|
+
];
|
|
65
|
+
var _tmpl$9 = [
|
|
66
|
+
"<option",
|
|
67
|
+
"><!--$-->",
|
|
68
|
+
"<!--/--> (<!--$-->",
|
|
69
|
+
"<!--/-->)</option>"
|
|
70
|
+
];
|
|
71
|
+
function formatDate(value) {
|
|
72
|
+
if (!value) return "—";
|
|
73
|
+
const date = new Date(value);
|
|
74
|
+
return Number.isNaN(date.getTime()) ? "—" : date.toLocaleString("pt-BR");
|
|
75
|
+
}
|
|
76
|
+
function UsersManager() {
|
|
77
|
+
const [users, setUsers] = createSignal([]);
|
|
78
|
+
const [roles, setRoles] = createSignal([]);
|
|
79
|
+
const [total, setTotal] = createSignal(0);
|
|
80
|
+
const [page, setPage] = createSignal(1);
|
|
81
|
+
const [search, setSearch] = createSignal("");
|
|
82
|
+
const [status, setStatus] = createSignal("");
|
|
83
|
+
const [error, setError] = createSignal("");
|
|
84
|
+
const [info, setInfo] = createSignal("");
|
|
85
|
+
const [selected, setSelected] = createSignal(null);
|
|
86
|
+
const [busy, setBusy] = createSignal(false);
|
|
87
|
+
const limit = 20;
|
|
88
|
+
const load = async () => {
|
|
89
|
+
try {
|
|
90
|
+
const result = await apiClient.listUsers({
|
|
91
|
+
page: page(),
|
|
92
|
+
limit,
|
|
93
|
+
search: search() || void 0,
|
|
94
|
+
status: status() || void 0
|
|
95
|
+
});
|
|
96
|
+
setUsers(result.data ?? []);
|
|
97
|
+
setTotal(result.total ?? 0);
|
|
98
|
+
} catch (err) {
|
|
99
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
onMount(async () => {
|
|
103
|
+
await load();
|
|
104
|
+
try {
|
|
105
|
+
setRoles(await apiClient.listRoles());
|
|
106
|
+
} catch {}
|
|
107
|
+
});
|
|
108
|
+
const searchNow = async () => {
|
|
109
|
+
setPage(1);
|
|
110
|
+
await load();
|
|
111
|
+
};
|
|
112
|
+
const resetPassword = async (user) => {
|
|
113
|
+
const password = prompt(`Nova senha para ${user.email} (mínimo 8 caracteres):`);
|
|
114
|
+
if (!password) return;
|
|
115
|
+
if (password.length < 8) {
|
|
116
|
+
setError("A senha precisa de pelo menos 8 caracteres");
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
setBusy(true);
|
|
120
|
+
setError("");
|
|
121
|
+
try {
|
|
122
|
+
await apiClient.setUserPassword(user.id, password);
|
|
123
|
+
setInfo(`Senha de ${user.name} alterada ✓`);
|
|
124
|
+
} catch (err) {
|
|
125
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
126
|
+
} finally {
|
|
127
|
+
setBusy(false);
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
const saveUser = async (user) => {
|
|
131
|
+
setBusy(true);
|
|
132
|
+
setError("");
|
|
133
|
+
try {
|
|
134
|
+
await apiClient.updateUser(user.id, {
|
|
135
|
+
name: user.name,
|
|
136
|
+
email: user.email,
|
|
137
|
+
status: user.status
|
|
138
|
+
});
|
|
139
|
+
setInfo(`Usuário ${user.name} salvo ✓`);
|
|
140
|
+
setSelected(null);
|
|
141
|
+
await load();
|
|
142
|
+
} catch (err) {
|
|
143
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
144
|
+
} finally {
|
|
145
|
+
setBusy(false);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const removeUser = async (user) => {
|
|
149
|
+
if (!confirm(`Excluir o usuário ${user.email}?`)) return;
|
|
150
|
+
setBusy(true);
|
|
151
|
+
setError("");
|
|
152
|
+
try {
|
|
153
|
+
await apiClient.deleteUser(user.id);
|
|
154
|
+
if (selected()?.id === user.id) setSelected(null);
|
|
155
|
+
setInfo(`Usuário ${user.name} excluído ✓`);
|
|
156
|
+
await load();
|
|
157
|
+
} catch (err) {
|
|
158
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
159
|
+
} finally {
|
|
160
|
+
setBusy(false);
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
const currentRole = (user) => roles().find((r) => r.slug === user.roles[0]);
|
|
164
|
+
return ssr(_tmpl$4, ssrHydrationKey(), escape(createComponent(Show2, {
|
|
165
|
+
get when() {
|
|
166
|
+
return error();
|
|
167
|
+
},
|
|
168
|
+
get children() {
|
|
169
|
+
return ssr(_tmpl$, ssrHydrationKey(), escape(error()));
|
|
170
|
+
}
|
|
171
|
+
})), escape(createComponent(Show2, {
|
|
172
|
+
get when() {
|
|
173
|
+
return info();
|
|
174
|
+
},
|
|
175
|
+
get children() {
|
|
176
|
+
return ssr(_tmpl$2, ssrHydrationKey(), escape(info()));
|
|
177
|
+
}
|
|
178
|
+
})), escape(createComponent(Input, {
|
|
179
|
+
name: "user-search",
|
|
180
|
+
placeholder: "Buscar por nome ou email…",
|
|
181
|
+
get value() {
|
|
182
|
+
return search();
|
|
183
|
+
},
|
|
184
|
+
onInput: (value) => {
|
|
185
|
+
setSearch(value);
|
|
186
|
+
searchNow();
|
|
187
|
+
}
|
|
188
|
+
})), escape(createComponent(Select, {
|
|
189
|
+
name: "user-status",
|
|
190
|
+
placeholder: "Todos os status",
|
|
191
|
+
get value() {
|
|
192
|
+
return status();
|
|
193
|
+
},
|
|
194
|
+
options: [{
|
|
195
|
+
value: "ACTIVE",
|
|
196
|
+
label: "Ativos"
|
|
197
|
+
}, {
|
|
198
|
+
value: "INACTIVE",
|
|
199
|
+
label: "Inativos"
|
|
200
|
+
}],
|
|
201
|
+
onChange: (value) => {
|
|
202
|
+
setStatus(value);
|
|
203
|
+
searchNow();
|
|
204
|
+
}
|
|
205
|
+
})), escape(createComponent(Button, {
|
|
206
|
+
variant: "secondary",
|
|
207
|
+
onClick: () => void searchNow(),
|
|
208
|
+
children: "Buscar"
|
|
209
|
+
})), escape(createComponent(Show2, {
|
|
210
|
+
get when() {
|
|
211
|
+
return users().length > 0;
|
|
212
|
+
},
|
|
213
|
+
get fallback() {
|
|
214
|
+
return ssr(_tmpl$5, ssrHydrationKey());
|
|
215
|
+
},
|
|
216
|
+
get children() {
|
|
217
|
+
return ssr(_tmpl$3, ssrHydrationKey(), escape(createComponent(For2, {
|
|
218
|
+
get each() {
|
|
219
|
+
return users();
|
|
220
|
+
},
|
|
221
|
+
children: (user) => ssr(_tmpl$6, ssrHydrationKey(), selected()?.id === user.id ? "users-table__row--selected" : "", escape(user.name), escape(user.email), escape(createComponent(Show2, {
|
|
222
|
+
get when() {
|
|
223
|
+
return user.roles.length > 0;
|
|
224
|
+
},
|
|
225
|
+
get fallback() {
|
|
226
|
+
return ssr(_tmpl$7, ssrHydrationKey());
|
|
227
|
+
},
|
|
228
|
+
get children() {
|
|
229
|
+
return createComponent(Badge, { get children() {
|
|
230
|
+
return user.roles.join(", ");
|
|
231
|
+
} });
|
|
232
|
+
}
|
|
233
|
+
})), `status-dot ${user.status === "ACTIVE" ? "status-dot--active" : ""}`, escape(user.status), escape(formatDate(user.last_login_at)), escape(createComponent(Button, {
|
|
234
|
+
variant: "secondary",
|
|
235
|
+
size: "sm",
|
|
236
|
+
onClick: () => setSelected(user),
|
|
237
|
+
children: "Gerenciar"
|
|
238
|
+
})), escape(createComponent(Button, {
|
|
239
|
+
variant: "danger",
|
|
240
|
+
size: "sm",
|
|
241
|
+
onClick: () => void removeUser(user),
|
|
242
|
+
children: "Excluir"
|
|
243
|
+
})))
|
|
244
|
+
})));
|
|
245
|
+
}
|
|
246
|
+
})), escape(createComponent(Pagination, {
|
|
247
|
+
get page() {
|
|
248
|
+
return page();
|
|
249
|
+
},
|
|
250
|
+
limit,
|
|
251
|
+
get total() {
|
|
252
|
+
return total();
|
|
253
|
+
},
|
|
254
|
+
onPageChange: (next) => {
|
|
255
|
+
setPage(next);
|
|
256
|
+
load();
|
|
257
|
+
}
|
|
258
|
+
})), escape(createComponent(Show2, {
|
|
259
|
+
get when() {
|
|
260
|
+
return selected();
|
|
261
|
+
},
|
|
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, {
|
|
263
|
+
get each() {
|
|
264
|
+
return roles();
|
|
265
|
+
},
|
|
266
|
+
children: (role) => ssr(_tmpl$9, ssrHydrationKey() + ssrAttribute("value", escape(role.id, true), false), escape(role.name), escape(role.slug))
|
|
267
|
+
})), escape(formatDate(user().created_at)), escape(formatDate(user().last_login_at)), escape(createComponent(Button, {
|
|
268
|
+
variant: "primary",
|
|
269
|
+
get disabled() {
|
|
270
|
+
return busy();
|
|
271
|
+
},
|
|
272
|
+
get loading() {
|
|
273
|
+
return busy();
|
|
274
|
+
},
|
|
275
|
+
onClick: () => void saveUser(user()),
|
|
276
|
+
children: "Salvar"
|
|
277
|
+
})), escape(createComponent(Button, {
|
|
278
|
+
variant: "secondary",
|
|
279
|
+
get disabled() {
|
|
280
|
+
return busy();
|
|
281
|
+
},
|
|
282
|
+
onClick: () => void resetPassword(user()),
|
|
283
|
+
children: "Redefinir senha"
|
|
284
|
+
})), escape(createComponent(Button, {
|
|
285
|
+
variant: "secondary",
|
|
286
|
+
onClick: () => setSelected(null),
|
|
287
|
+
children: "Fechar"
|
|
288
|
+
})))
|
|
289
|
+
})));
|
|
290
|
+
}
|
|
291
|
+
//#endregion
|
|
292
|
+
//#region src/pages/users/index.astro
|
|
293
|
+
var users_exports = /* @__PURE__ */ __exportAll({
|
|
294
|
+
default: () => $$Index,
|
|
295
|
+
file: () => $$file,
|
|
296
|
+
url: () => $$url
|
|
297
|
+
});
|
|
298
|
+
var $$Index = createComponent$1(($$result, $$props, $$slots) => {
|
|
299
|
+
return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
|
|
300
|
+
"title": "Users",
|
|
301
|
+
"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>Usuários</h2><p data-astro-cid-ao6unroh>Gerencie contas, papéis (roles) e acessos do projeto.</p></div>${renderComponent($$result, "UsersManager", UsersManager, {
|
|
303
|
+
"client:load": true,
|
|
304
|
+
"data-astro-cid-ao6unroh": true,
|
|
305
|
+
"client:component-hydration": "load",
|
|
306
|
+
"client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/users/UsersManager.tsx",
|
|
307
|
+
"client:component-export": "UsersManager"
|
|
308
|
+
})}</div>` })}`;
|
|
309
|
+
}, "/home/runner/work/cms/cms/apps/admin/src/pages/users/index.astro", void 0);
|
|
310
|
+
var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/users/index.astro";
|
|
311
|
+
var $$url = "/users";
|
|
312
|
+
//#endregion
|
|
313
|
+
//#region \0virtual:astro:page:src/pages/users/index@_@astro
|
|
314
|
+
var page = () => users_exports;
|
|
315
|
+
//#endregion
|
|
316
|
+
export { page };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
|
+
import { d as maybeRenderHead, i as renderComponent, 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/settings/index.astro
|
|
6
|
+
var settings_exports = /* @__PURE__ */ __exportAll({
|
|
7
|
+
default: () => $$Index,
|
|
8
|
+
file: () => $$file,
|
|
9
|
+
url: () => $$url
|
|
10
|
+
});
|
|
11
|
+
var $$Index = createComponent(($$result, $$props, $$slots) => {
|
|
12
|
+
return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
|
|
13
|
+
"title": "Settings",
|
|
14
|
+
"data-astro-cid-pvy7orjg": true
|
|
15
|
+
}, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<div class="settings-page" data-astro-cid-pvy7orjg><div class="page-header" data-astro-cid-pvy7orjg><h2 data-astro-cid-pvy7orjg>Configurações</h2><p data-astro-cid-pvy7orjg>Escolha uma seção para configurar o projeto.</p></div><div class="settings-cards" data-astro-cid-pvy7orjg><a class="card settings-card" href="/settings/general" data-astro-cid-pvy7orjg><h3 data-astro-cid-pvy7orjg>Geral</h3><p class="muted" data-astro-cid-pvy7orjg>Título, descrição, idioma e fuso horário do site.</p></a><a class="card settings-card" href="/settings/post-types" data-astro-cid-pvy7orjg><h3 data-astro-cid-pvy7orjg>Content Types</h3><p class="muted" data-astro-cid-pvy7orjg>Tipos de conteúdo personalizados (CPTs) além de Posts e Páginas.</p></a><a class="card settings-card" href="/settings/taxonomies" data-astro-cid-pvy7orjg><h3 data-astro-cid-pvy7orjg>Taxonomias</h3><p class="muted" data-astro-cid-pvy7orjg>Categorias, tags e taxonomias personalizadas.</p></a></div></div>` })}`;
|
|
16
|
+
}, "/home/runner/work/cms/cms/apps/admin/src/pages/settings/index.astro", void 0);
|
|
17
|
+
var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/settings/index.astro";
|
|
18
|
+
var $$url = "/settings";
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region \0virtual:astro:page:src/pages/settings/index@_@astro
|
|
21
|
+
var page = () => settings_exports;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { page };
|