@oktis-works/admin 0.3.5 → 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.
Files changed (95) hide show
  1. package/dist/client/_astro/ActivityWidget.B1PK1jNM.js +16 -0
  2. package/dist/client/_astro/AdminBar.DGqkNINI.js +234 -0
  3. package/dist/client/_astro/AtGlanceWidget.CbAM9D09.js +43 -0
  4. package/dist/client/_astro/BaseLayout.B2MfKf6B.css +1 -0
  5. package/dist/client/_astro/ContentEditor.BG7DWach.js +1 -0
  6. package/dist/client/_astro/ContentList.CfGc6HN5.js +1 -0
  7. package/dist/client/_astro/DashboardHome._7yIrBzf.js +1 -0
  8. package/dist/client/_astro/DashboardLayout.DrKf2Klk.css +1 -0
  9. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.BrC4PbPa.js +1 -0
  10. package/dist/client/_astro/Footer.CjhzORqz.js +74 -0
  11. package/dist/client/_astro/GeneralSettings.BwnPXbvc.js +1 -0
  12. package/dist/client/_astro/HelpTabs.Ddud8gs3.js +103 -0
  13. package/dist/client/_astro/LanguageSelector.Dx6zaHYm.js +14 -0
  14. package/dist/client/_astro/MediaLibrary.BXUJ5yFA.js +1 -0
  15. package/dist/client/_astro/PostTypesManager.CA2yTVB_.js +1 -0
  16. package/dist/client/_astro/QuickDraftWidget.CCKwWLpX.js +17 -0
  17. package/dist/client/_astro/ScreenOptions.Dgiw-9ow.js +70 -0
  18. package/dist/client/_astro/TaxonomiesManager.D3HNo_oM.js +1 -0
  19. package/dist/client/_astro/UserCreateForm.CTv1Gd43.js +1 -0
  20. package/dist/client/_astro/UsersManager.DPpSVGNe.js +1 -0
  21. package/dist/client/_astro/api.DTNuyqvx.js +1 -0
  22. package/dist/client/_astro/ar.CzsjUutD.js +1 -0
  23. package/dist/client/_astro/{client.BY0Z100j.js → client.C7p516_9.js} +1 -1
  24. package/dist/client/_astro/en.DmN7xy_a.js +1 -0
  25. package/dist/client/_astro/es-ES.p2TLEMlZ.js +1 -0
  26. package/dist/client/_astro/{extensions.JQggUqT5.js → extensions.DfxrGzbo.js} +1 -1
  27. package/dist/client/_astro/he.BnYHiYpn.js +1 -0
  28. package/dist/client/_astro/i18n.CLOpd2JA.js +1 -0
  29. package/dist/client/_astro/it.WrWKBEAD.js +1 -0
  30. package/dist/client/_astro/ja.DxnfhIdt.js +1 -0
  31. package/dist/client/_astro/login.astro_astro_type_script_index_0_lang.CLM9X6sQ.js +1 -0
  32. package/dist/client/_astro/pl.jUj-RfZS.js +1 -0
  33. package/dist/client/_astro/pt-BR.DtNwEO0i.js +1 -0
  34. package/dist/client/_astro/ru.KFSfdjWn.js +1 -0
  35. package/dist/client/_astro/{src.DX_xrAwd.js → src.Cgonpfb5.js} +1 -1
  36. package/dist/client/_astro/sw.3jlAOLOv.js +1 -0
  37. package/dist/client/_astro/tr.tnLMnGPg.js +1 -0
  38. package/dist/client/_astro/uk.VquHY_xc.js +1 -0
  39. package/dist/client/_astro/version.BAM_tCGw.js +1 -0
  40. package/dist/client/_astro/{web.D_vCtCLj.js → web.D1H9RxZL.js} +1 -1
  41. package/dist/client/_astro/yo.Cr8hCb5u.js +1 -0
  42. package/dist/client/_astro/zh-CN.E32QqP4v.js +1 -0
  43. package/dist/server/chunks/{BaseLayout_CcUFilW5.mjs → BaseLayout_GUKuUGNt.mjs} +4 -1
  44. package/dist/server/chunks/{ContentEditor_DtKBw5Nv.mjs → ContentEditor_D_mc9cIc.mjs} +38 -24
  45. package/dist/server/chunks/DashboardLayout_DVdPm1iI.mjs +2084 -0
  46. package/dist/server/chunks/{MediaLibrary_BDyBahZ3.mjs → MediaLibrary_BV1YB_7x.mjs} +90 -65
  47. package/dist/server/chunks/{_slug__DNJwUFYD.mjs → _slug__D0xMd1Ym.mjs} +1 -1
  48. package/dist/server/chunks/ar_DBjdWIJ0.mjs +408 -0
  49. package/dist/server/chunks/{edit_CSA-bTD0.mjs → edit_DmKkdawE.mjs} +8 -4
  50. package/dist/server/chunks/en_C750mYKk.mjs +408 -0
  51. package/dist/server/chunks/es-ES_TJ4oK1yi.mjs +408 -0
  52. package/dist/server/chunks/{general_D8esOFBG.mjs → general_CfZaFpuy.mjs} +50 -39
  53. package/dist/server/chunks/he_TWsuTphz.mjs +408 -0
  54. package/dist/server/chunks/index_BHrVcd5b.mjs +27 -0
  55. package/dist/server/chunks/{index_BzJtUv3l.mjs → index_BjydUJNY.mjs} +9 -5
  56. package/dist/server/chunks/{index__EF7aYFm.mjs → index_BoeLyrhK.mjs} +91 -45
  57. package/dist/server/chunks/{index_CSD_Oyb4.mjs → index_D_aAiDE0.mjs} +61 -38
  58. package/dist/server/chunks/index_GAl799IJ.mjs +152 -0
  59. package/dist/server/chunks/it_CEVFVWh1.mjs +408 -0
  60. package/dist/server/chunks/ja_CqDirMqf.mjs +408 -0
  61. package/dist/server/chunks/login_B7FSWUaM.mjs +24 -0
  62. package/dist/server/chunks/{new_C7iXK0wp.mjs → new_BRMGHdiW.mjs} +8 -4
  63. package/dist/server/chunks/{new_Dg7GlHuV.mjs → new_DkKhl-3k.mjs} +30 -14
  64. package/dist/server/chunks/pl_ChIKxfZG.mjs +408 -0
  65. package/dist/server/chunks/post-types_B7f9RrsE.mjs +158 -0
  66. package/dist/server/chunks/pt-BR_4d4jZWL0.mjs +408 -0
  67. package/dist/server/chunks/ru_CIc6O5Q7.mjs +408 -0
  68. package/dist/server/chunks/sw_Bs3iYVDM.mjs +408 -0
  69. package/dist/server/chunks/{taxonomies_BJehVfgw.mjs → taxonomies_DadZj79u.mjs} +31 -14
  70. package/dist/server/chunks/tr_C7JbXuoQ.mjs +408 -0
  71. package/dist/server/chunks/uk_Dibs8Wkc.mjs +408 -0
  72. package/dist/server/chunks/{upload_CeK7uSwz.mjs → upload_CMYjz_4a.mjs} +9 -5
  73. package/dist/server/chunks/yo_B6MPvz_U.mjs +408 -0
  74. package/dist/server/chunks/zh-CN_G1Dc2b28.mjs +408 -0
  75. package/dist/server/entry.mjs +15 -15
  76. package/package.json +4 -4
  77. package/dist/client/_astro/BaseLayout.BPkaFsmK.css +0 -1
  78. package/dist/client/_astro/ContentEditor.Buc5ptK0.js +0 -1
  79. package/dist/client/_astro/ContentList.Bo_ok2oa.js +0 -1
  80. package/dist/client/_astro/DashboardHome.DKuoH-SO.js +0 -1
  81. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.DfB7XHS-.js +0 -1
  82. package/dist/client/_astro/GeneralSettings.BNzHpRY6.js +0 -1
  83. package/dist/client/_astro/MediaLibrary.Dn4DRbZb.js +0 -1
  84. package/dist/client/_astro/PostTypesManager.6GQ4vWY1.js +0 -1
  85. package/dist/client/_astro/TaxonomiesManager.B25xOjSO.js +0 -1
  86. package/dist/client/_astro/UserCreateForm.DtBifGTo.js +0 -1
  87. package/dist/client/_astro/UsersManager.-5jU3GxA.js +0 -1
  88. package/dist/client/_astro/api.BEC1o0dT.js +0 -1
  89. package/dist/client/_astro/login.astro_astro_type_script_index_0_lang.Dz6HvEV3.js +0 -1
  90. package/dist/server/chunks/DashboardLayout_Bpur473M.mjs +0 -442
  91. package/dist/server/chunks/api_i8T-MI6L.mjs +0 -278
  92. package/dist/server/chunks/index_BCUHGT54.mjs +0 -133
  93. package/dist/server/chunks/index_X49R9glL.mjs +0 -23
  94. package/dist/server/chunks/login_C04LKHw3.mjs +0 -23
  95. package/dist/server/chunks/post-types_CJt6sMSh.mjs +0 -137
@@ -0,0 +1,16 @@
1
+ import{C as e,E as t,S as n,b as r,g as i,o as a,p as o,r as s,s as c,u as l}from"./web.D1H9RxZL.js";import{t as u}from"./i18n.CLOpd2JA.js";import{t as d}from"./api.DTNuyqvx.js";var f=o(`<div class=activity-widget data-widget-panel=activity style="grid-column:span 2"><div class=dashboard-widget-header><h3 class=dashboard-widget-title></h3></div><div class=dashboard-widget-content></div><div class=styles-container><style>
2
+ .activity-list { display: flex; flex-direction: column; gap: 0.5rem; }
3
+ .activity-item {
4
+ display: flex; gap: 0.75rem; padding: 0.75rem;
5
+ background: var(--color-background); border: 1px solid var(--color-border);
6
+ border-radius: var(--radius-md); transition: all 0.15s;
7
+ text-decoration: none; color: inherit;
8
+ }
9
+ .activity-item:hover { border-color: var(--color-primary); background: var(--color-surface); }
10
+ .activity-icon { font-size: 1.25rem; flex-shrink: 0; }
11
+ .activity-content { flex: 1; min-width: 0; }
12
+ .activity-description { font-size: 0.875rem; color: var(--color-text); margin: 0 0 0.25rem; word-break: break-word; }
13
+ .activity-meta { display: flex; gap: 0.75rem; font-size: 0.6875rem; }
14
+ .activity-user { font-weight: 500; color: var(--color-text); }
15
+ .activity-time { color: var(--color-muted); }
16
+ `),p=o(`<div class=skeleton>Loading...`),m=o(`<div>`),h=o(`<div class=activity-list>`),g=o(`<a class=activity-item><div class=activity-icon></div><div class=activity-content><p class=activity-description></p><p class=activity-meta><span class=activity-user></span><span class=activity-time>`),_=o(`<p class=empty-state>`);function v(){let{t:o}=u(),[v,y]=e([]),[b,x]=e(!0);t(async()=>{try{let[e,t]=await Promise.all([d.getContent({limit:20}),d.listUsers({limit:5})]),n=[],r=(e.data??[]).slice(0,10),i=await Promise.all(r.map(e=>d.getContentById(e.id).catch(()=>null)));r.forEach((e,t)=>{let r=e,a=r.updated_at??r.updatedAt??r.created_at,s=i[t]?.author;n.push({id:`content-${e.id}`,type:e.status===`PUBLISHED`?`post_published`:`post_updated`,user:{name:s?.name??`—`,email:s?.email??``},description:`${e.status===`PUBLISHED`?o(`activity.published`):o(`activity.updated`)} "${e.title}"`,timestamp:a??new Date().toISOString(),url:`/content/edit?id=${e.id}`})});for(let e of t.data??[])n.push({id:`user-${e.id}`,type:`user_registered`,user:{name:e.name,email:e.email},description:o(`activity.newUser`,{name:e.name}),timestamp:e.created_at??new Date().toISOString()});n.sort((e,t)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime()),y(n.slice(0,15))}catch(e){console.error(`Failed to load activity:`,e)}finally{x(!1)}});let S=e=>{let t=new Date(e),n=new Date().getTime()-t.getTime(),r=Math.floor(n/6e4),i=Math.floor(n/36e5),a=Math.floor(n/864e5);return r<1?o(`activity.justNow`):r<60?`${r} ${o(`activity.minAgo`)}`:i<24?`${i}h ${o(`activity.ago`)}`:a<7?`${a}d ${o(`activity.ago`)}`:t.toLocaleDateString(`pt-BR`,{day:`2-digit`,month:`2-digit`,year:`numeric`})},C=e=>{switch(e){case`post_created`:return`📝`;case`post_updated`:return`✏️`;case`post_published`:return`🚀`;case`media_uploaded`:return`📎`;case`user_registered`:return`👤`;case`comment_added`:return`💬`;default:return`📌`}};return(()=>{var e=s(f),t=e.firstChild,u=t.firstChild,d=t.nextSibling;return a(u,()=>o(`dashboard.widgets.activity.title`)),a(d,(()=>{var e=c(()=>!!b());return()=>e()?s(p):(()=>{var e=s(m);return a(e,(()=>{var e=c(()=>v().length>0);return()=>e()?(()=>{var e=s(h);return a(e,r(i,{get each(){return v()},children:e=>(()=>{var t=s(g),r=t.firstChild,i=r.nextSibling.firstChild,o=i.nextSibling.firstChild,c=o.nextSibling;return a(r,()=>C(e.type)),a(i,()=>e.description),a(o,()=>e.user.name),a(c,()=>S(e.timestamp)),n(n=>{var r=e.url||`#`,i=e.url?`_blank`:``;return r!==n.e&&l(t,`href`,n.e=r),i!==n.t&&l(t,`target`,n.t=i),n},{e:void 0,t:void 0}),t})()})),e})():(()=>{var e=s(_);return a(e,()=>o(`dashboard.widgets.activity.empty`)),e})()})()),e})()})()),e})()}export{v as ActivityWidget};
@@ -0,0 +1,234 @@
1
+ import{C as e,E as t,S as n,_ as r,b as i,i as a,l as o,n as s,o as c,p as l,r as u,t as d,u as f}from"./web.D1H9RxZL.js";import{i as p,n as m,r as h,t as g}from"./i18n.CLOpd2JA.js";import{t as _}from"./api.DTNuyqvx.js";var v=l(`<style>
2
+ #admin-bar {
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ right: 0;
7
+ height: 46px;
8
+ background: #0A0A0A;
9
+ border-bottom: 1px solid #333;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: space-between;
13
+ padding: 0 1rem;
14
+ z-index: 2000;
15
+ font-family: inherit;
16
+ }
17
+ #admin-bar * { box-sizing: border-box; }
18
+ .admin-bar-left, .admin-bar-right {
19
+ display: flex;
20
+ align-items: center;
21
+ gap: 1rem;
22
+ }
23
+ .admin-bar-brand {
24
+ display: flex;
25
+ align-items: center;
26
+ gap: 0.5rem;
27
+ color: #FAF5E8;
28
+ font-weight: 600;
29
+ font-size: 1.125rem;
30
+ text-decoration: none;
31
+ padding: 0.375rem 0.75rem;
32
+ border-radius: 0.375rem;
33
+ transition: background 0.15s;
34
+ }
35
+ .admin-bar-brand:hover {
36
+ background: rgba(255,255,255,0.08);
37
+ }
38
+ .admin-bar-brand svg { width: 28px; height: 28px; }
39
+ .admin-bar-separator { width: 1px; height: 24px; background: #333; }
40
+ .admin-bar-menu { display: flex; gap: 0.25rem; }
41
+ .admin-bar-menu-item {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: 0.5rem;
45
+ padding: 0.375rem 0.75rem;
46
+ color: rgba(255,255,255,0.7);
47
+ font-size: 0.8125rem;
48
+ font-weight: 500;
49
+ border-radius: 0.375rem;
50
+ text-decoration: none;
51
+ transition: all 0.15s;
52
+ }
53
+ .admin-bar-menu-item:hover {
54
+ background: rgba(255,255,255,0.1);
55
+ color: #fff;
56
+ }
57
+ .admin-bar-menu-item svg { width: 18px; height: 18px; }
58
+ .admin-bar-right { gap: 0.75rem; }
59
+ .notifications-btn {
60
+ position: relative;
61
+ background: none;
62
+ border: none;
63
+ color: rgba(255,255,255,0.7);
64
+ padding: 0.375rem;
65
+ border-radius: 0.375rem;
66
+ cursor: pointer;
67
+ transition: all 0.15s;
68
+ }
69
+ .notifications-btn:hover { background: rgba(255,255,255,0.1); color: #fff; }
70
+ .notifications-badge {
71
+ position: absolute;
72
+ top: 2px;
73
+ right: 2px;
74
+ min-width: 16px;
75
+ height: 16px;
76
+ background: #EF4444;
77
+ color: #fff;
78
+ font-size: 0.625rem;
79
+ font-weight: 600;
80
+ border-radius: 9999px;
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ padding: 0 4px;
85
+ }
86
+ .notifications-dropdown { position: relative; }
87
+ .notifications-panel {
88
+ position: absolute;
89
+ top: calc(100% + 0.5rem);
90
+ right: 0;
91
+ min-width: 280px;
92
+ max-width: 90vw;
93
+ background: #FFFFFF;
94
+ border: 1px solid #DCDCDE;
95
+ border-radius: 0.5rem;
96
+ box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
97
+ z-index: 2100;
98
+ overflow: hidden;
99
+ animation: slideIn 0.15s ease-out;
100
+ }
101
+ .notifications-header {
102
+ padding: 0.75rem 1rem;
103
+ font-size: 0.6875rem;
104
+ font-weight: 600;
105
+ text-transform: uppercase;
106
+ letter-spacing: 0.04em;
107
+ color: #646970;
108
+ border-bottom: 1px solid #DCDCDE;
109
+ }
110
+ .notifications-item {
111
+ display: flex;
112
+ flex-direction: column;
113
+ gap: 0.125rem;
114
+ padding: 0.625rem 1rem;
115
+ border-bottom: 1px solid #F6F7F7;
116
+ }
117
+ .notifications-item:last-child { border-bottom: none; }
118
+ .notifications-action {
119
+ font-size: 0.8125rem;
120
+ font-weight: 600;
121
+ color: #2C3338;
122
+ font-family: ui-monospace, SFMono-Regular, monospace;
123
+ word-break: break-word;
124
+ }
125
+ .notifications-meta {
126
+ display: flex;
127
+ justify-content: space-between;
128
+ gap: 0.75rem;
129
+ font-size: 0.6875rem;
130
+ color: #646970;
131
+ }
132
+ .notifications-empty { padding: 1rem; margin: 0; font-size: 0.8125rem; color: #646970; }
133
+ .user-menu-trigger {
134
+ display: flex;
135
+ align-items: center;
136
+ gap: 0.5rem;
137
+ background: none;
138
+ border: none;
139
+ color: #fff;
140
+ padding: 0.375rem 0.75rem;
141
+ border-radius: 0.375rem;
142
+ cursor: pointer;
143
+ font-size: 0.8125rem;
144
+ font-weight: 500;
145
+ transition: background 0.15s;
146
+ }
147
+ .user-menu-trigger:hover { background: rgba(255,255,255,0.1); }
148
+ .user-avatar {
149
+ width: 32px;
150
+ height: 32px;
151
+ border-radius: 50%;
152
+ background: linear-gradient(135deg, #D8B45E 0%, #B99542 100%);
153
+ display: flex;
154
+ align-items: center;
155
+ justify-content: center;
156
+ font-weight: 600;
157
+ font-size: 0.875rem;
158
+ color: #0A0A0A;
159
+ }
160
+ .user-menu-dropdown {
161
+ position: absolute;
162
+ top: calc(100% + 0.5rem);
163
+ right: 0;
164
+ min-width: 200px;
165
+ background: #FFFFFF;
166
+ border: 1px solid #DCDCDE;
167
+ border-radius: 0.5rem;
168
+ box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
169
+ z-index: 2100;
170
+ overflow: hidden;
171
+ animation: slideIn 0.15s ease-out;
172
+ }
173
+ @keyframes slideIn { from { opacity: 0; transform: translateY(-0.5rem); } to { opacity: 1; transform: translateY(0); } }
174
+ .user-menu-header {
175
+ padding: 1rem;
176
+ border-bottom: 1px solid #DCDCDE;
177
+ }
178
+ .user-menu-name { font-weight: 600; color: #0A0A0A; font-size: 0.875rem; }
179
+ .user-menu-email { color: #646970; font-size: 0.75rem; margin-top: 0.125rem; }
180
+ .user-menu-divider { height: 1px; background: #DCDCDE; }
181
+ .user-menu-item {
182
+ display: flex;
183
+ align-items: center;
184
+ gap: 0.5rem;
185
+ width: 100%;
186
+ padding: 0.625rem 1rem;
187
+ background: none;
188
+ border: none;
189
+ color: #2C3338;
190
+ font-size: 0.8125rem;
191
+ font-weight: 500;
192
+ text-align: left;
193
+ cursor: pointer;
194
+ transition: background 0.15s;
195
+ }
196
+ .user-menu-item:hover { background: #F6F7F7; }
197
+ .user-menu-item svg { width: 18px; height: 18px; color: #646970; }
198
+ .user-menu-item.danger { color: #EF4444; }
199
+ .user-menu-item.danger:hover { background: #FEF2F2; }
200
+ .lang-menu-dropdown {
201
+ position: absolute;
202
+ top: calc(100% + 0.5rem);
203
+ right: 0;
204
+ min-width: 180px;
205
+ background: #FFFFFF;
206
+ border: 1px solid #DCDCDE;
207
+ border-radius: 0.5rem;
208
+ box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
209
+ z-index: 2100;
210
+ overflow: hidden;
211
+ animation: slideIn 0.15s ease-out;
212
+ }
213
+ @keyframes slideIn { from { opacity: 0; transform: translateY(-0.5rem); } to { opacity: 1; transform: translateY(0); } }
214
+ .lang-menu-item {
215
+ display: flex;
216
+ align-items: center;
217
+ gap: 0.5rem;
218
+ width: 100%;
219
+ padding: 0.625rem 1rem;
220
+ background: none;
221
+ border: none;
222
+ color: #2C3338;
223
+ font-size: 0.8125rem;
224
+ font-weight: 500;
225
+ text-align: left;
226
+ cursor: pointer;
227
+ }
228
+ .lang-menu-item:hover { background: #F6F7F7; }
229
+ .lang-menu-item.active { background: #FAF5E8; color: #B99542; font-weight: 600; }
230
+ .lang-menu-item .flag { font-size: 1rem; }
231
+ @media (max-width: 782px) {
232
+ .admin-bar-menu { display: none; }
233
+ }
234
+ `),ee=l(`<span class=notifications-badge>`),te=l(`<div class=notifications-panel role=menu><div class=notifications-header></div><!$><!/>`),ne=l(`<div class=lang-menu-dropdown role=menu>`),re=l(`<div class=user-menu-dropdown role=menu><div class=user-menu-header><div class=user-menu-name></div><div class=user-menu-email></div></div><div class=user-menu-divider></div><button class=user-menu-item type=button role=menuitem><svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><circle cx=12 cy=12 r=3></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg><!$><!/></button><div class=user-menu-divider></div><button class="user-menu-item danger"type=button role=menuitem><svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1=21 y1=12 x2=9 y2=12></line></svg><!$><!/>`),ie=l(`<div class=user-menu-dropdown-wrapper><button class=user-menu-trigger type=button><span class=user-avatar></span><span></span><svg class=chevron width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><path d="M6 9l6 6 6-6"></path></svg></button><!$><!/>`),ae=l(`<a href=/login class="btn btn-primary"style="padding:0.375rem 1rem;font-size:0.8125rem">`),y=l(`<header id=admin-bar role=banner><div class=admin-bar-left><a href=/ class=admin-bar-brand><svg viewBox="0 0 32 32"fill=none xmlns=http://www.w3.org/2000/svg aria-hidden=true><rect width=32 height=32 rx=8 fill=url(#grad)></rect><path d="M8 10h16M8 16h12M8 22h8"stroke=#0A0A0A stroke-width=2.5 stroke-linecap=round stroke-linejoin=round></path><defs><linearGradient id=grad x1=0 y1=0 x2=32 y2=32 gradientUnits=userSpaceOnUse><stop offset=0% stop-color=#D8B45E></stop><stop offset=100% stop-color=#B99542></stop></linearGradient></defs></svg><span>OkCMS</span></a><div class=admin-bar-separator></div><nav class=admin-bar-menu><a href=/content class=admin-bar-menu-item><svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1=16 y1=13 x2=8 y2=13></line><line x1=16 y1=17 x2=8 y2=17></line></svg><!$><!/></a><a href=/media class=admin-bar-menu-item><svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><rect x=3 y=3 width=18 height=18 rx=2 ry=2></rect><circle cx=8.5 cy=8.5 r=1.5></circle><polyline points="21 15 16 10 5 21"></polyline></svg><!$><!/></a><a href=/settings class=admin-bar-menu-item><svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><circle cx=12 cy=12 r=3></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg><!$><!/></a></nav></div><div class=admin-bar-right><div class=notifications-dropdown><button class=notifications-btn type=button><svg width=20 height=20 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path><path d="M13.73 21a2 2 0 0 1-3.46 0"></path></svg><!$><!/></button><!$><!/></div><div class=lang-dropdown><button class=notifications-btn><span class=flag></span><span></span><svg class=chevron width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><path d="M6 9l6 6 6-6"></path></svg></button><!$><!/></div><!$><!/><!$><!/><button class=sidebar-toggle type=button style=background:none;border:none;color:rgba(255,255,255,0.7);padding:0.375rem;border-radius:0.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center><svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><line x1=3 y1=12 x2=21 y2=12></line><line x1=3 y1=6 x2=21 y2=6></line><line x1=3 y1=18 x2=21 y2=18>`),b=l(`<p class=notifications-empty>`),x=l(`<div class=notifications-item role=menuitem><span class=notifications-action></span><span class=notifications-meta><span class=notifications-resource></span><span class=notifications-time>`),S=l(`<button type=button role=menuitem><span class=flag></span><!$><!/>`);function C(s){let{locale:l,changeLocale:C,t:w}=g(),[T,E]=e(s.user??null),[D,O]=e(!1),[k,A]=e(!1),[j,M]=e(!1),[N,P]=e([]),F=l,I=w,L=e=>{e.target.closest(`#admin-bar`)||(O(!1),A(!1),M(!1))};t(()=>(document.addEventListener(`click`,L),(async()=>{if(!s.user)try{let e=await _.getMe();E(e.user)}catch{}})(),(async()=>{try{let e=await _.getAuditLogs(8);P(e.data??[])}catch{P([])}})(),()=>document.removeEventListener(`click`,L)));let oe=e=>{if(!e)return``;let t=new Date(e);if(Number.isNaN(t.getTime()))return``;let n=Date.now()-t.getTime(),r=Math.floor(n/6e4);if(r<1)return I(`activity.justNow`);if(r<60)return`${r} ${I(`activity.minAgo`)}`;let i=Math.floor(n/36e5);if(i<24)return`${i}h ${I(`activity.ago`)}`;let a=Math.floor(n/864e5);return a<7?`${a}d ${I(`activity.ago`)}`:t.toLocaleDateString(`pt-BR`,{day:`2-digit`,month:`2-digit`,year:`numeric`})},se=async()=>{try{await _.logout()}catch{}window.location.href=`/login`},R=()=>{document.body.classList.toggle(`sidebar-collapsed`),localStorage.setItem(`sidebar-collapsed`,document.body.classList.contains(`sidebar-collapsed`).toString())};return[u(v),(()=>{var e=u(y),t=e.firstChild,s=t.firstChild,l=s.nextSibling.nextSibling,g=l.firstChild,_=g.firstChild.nextSibling,[v,E]=a(_.nextSibling),P=g.nextSibling,I=P.firstChild.nextSibling,[L,z]=a(I.nextSibling),B=P.nextSibling,V=B.firstChild.nextSibling,[H,U]=a(V.nextSibling),W=t.nextSibling,G=W.firstChild,K=G.firstChild,ce=K.firstChild.nextSibling,[le,ue]=a(ce.nextSibling),de=K.nextSibling,[fe,pe]=a(de.nextSibling),q=G.nextSibling,J=q.firstChild,Y=J.firstChild,me=Y.nextSibling,he=J.nextSibling,[X,ge]=a(he.nextSibling),_e=q.nextSibling,[Z,ve]=a(_e.nextSibling),ye=Z.nextSibling,[Q,be]=a(ye.nextSibling),$=Q.nextSibling;return c(g,()=>w(`layout.nav.content`),v,E),c(P,()=>w(`layout.nav.media`),L,z),c(B,()=>w(`layout.nav.settings`),H,U),K.$$click=()=>M(!j()),c(K,i(r,{get when(){return N().length>0},get children(){var e=u(ee);return c(e,()=>N().length),e}}),le,ue),c(G,i(r,{get when(){return j()},get children(){var e=u(te),t=e.firstChild,o=t.nextSibling,[s,l]=a(o.nextSibling);return c(t,()=>w(`adminBar.notifications`)),c(e,i(r,{get when(){return N().length>0},get fallback(){return(()=>{var e=u(b);return c(e,()=>w(`adminBar.notificationsEmpty`)),e})()},get children(){return N().map(e=>(()=>{var t=u(x),n=t.firstChild,r=n.nextSibling.firstChild,i=r.nextSibling;return c(n,()=>e.action),c(r,()=>e.resourceType),c(i,()=>oe(e.created_at)),t})())}}),s,l),n(()=>f(e,`aria-label`,w(`adminBar.notifications`))),e}}),fe,pe),J.$$click=()=>A(!k()),c(Y,()=>m[F]??`🌐`),c(me,()=>h[F]??F),c(q,i(r,{get when(){return k()},get children(){var e=u(ne);return c(e,()=>p.map(e=>(()=>{var t=u(S),n=t.firstChild,r=n.nextSibling,[i,s]=a(r.nextSibling);return t.$$click=()=>{C(e),A(!1)},d(t,F===e?`lang-menu-item active`:`lang-menu-item`),c(n,()=>m[e]??`🌐`),c(t,()=>h[e]??e,i,s),o(),t})())),n(()=>f(e,`aria-label`,w(`common.language`))),e}}),X,ge),c(W,i(r,{get when(){return T()},get children(){var e=u(ie),t=e.firstChild,s=t.firstChild,l=s.nextSibling,d=t.nextSibling,[p,m]=a(d.nextSibling);return t.$$click=()=>O(!D()),c(s,()=>T()?.name?.charAt(0).toUpperCase()??`U`),c(l,()=>T()?.name),c(e,i(r,{get when(){return D()},get children(){var e=u(re),t=e.firstChild,r=t.firstChild,i=r.nextSibling,s=t.nextSibling.nextSibling,l=s.firstChild.nextSibling,[d,p]=a(l.nextSibling),m=s.nextSibling.nextSibling,h=m.firstChild.nextSibling,[g,_]=a(h.nextSibling);return c(r,()=>T()?.name),c(i,()=>T()?.email),s.$$click=()=>{window.location.href=`/settings`,O(!1)},c(s,()=>w(`adminBar.settings`),d,p),m.$$click=se,c(m,()=>w(`layout.actions.logout`),g,_),n(()=>f(e,`aria-label`,w(`adminBar.userMenu`))),o(),e}}),p,m),n(e=>{var n=w(`adminBar.userMenu`),r=D();return n!==e.e&&f(t,`aria-label`,e.e=n),r!==e.t&&f(t,`aria-expanded`,e.t=r),e},{e:void 0,t:void 0}),o(),e}}),Z,ve),c(W,i(r,{get when(){return!T()},get children(){var e=u(ae);return c(e,()=>w(`login.submit`)),e}}),Q,be),$.$$click=R,n(e=>{var t=w(`layout.appName`),n=w(`adminBar.mainMenu`),r=w(`adminBar.notifications`),i=j(),a=w(`common.language`),o=k(),c=w(`adminBar.toggleSidebar`);return t!==e.e&&f(s,`aria-label`,e.e=t),n!==e.t&&f(l,`aria-label`,e.t=n),r!==e.a&&f(K,`aria-label`,e.a=r),i!==e.o&&f(K,`aria-expanded`,e.o=i),a!==e.i&&f(J,`aria-label`,e.i=a),o!==e.n&&f(J,`aria-expanded`,e.n=o),c!==e.s&&f($,`aria-label`,e.s=c),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),o(),e})()]}s([`click`]);export{C as AdminBar};
@@ -0,0 +1,43 @@
1
+ import{C as e,E as t,S as n,_ as r,b as i,f as a,o,p as s,r as c,t as l,u}from"./web.D1H9RxZL.js";import{t as d}from"./i18n.CLOpd2JA.js";import{t as f}from"./api.DTNuyqvx.js";import{t as p}from"./version.BAM_tCGw.js";var m=s(`<div><div class=dashboard-widget-header><h3 class=dashboard-widget-title></h3></div><div class=dashboard-widget-content></div><style>
2
+ .dashboard-widget {
3
+ background: var(--color-surface);
4
+ border: 1px solid var(--color-border);
5
+ border-radius: var(--radius-lg);
6
+ display: flex;
7
+ flex-direction: column;
8
+ min-height: 200px;
9
+ transition: all 0.15s ease;
10
+ }
11
+ .dashboard-widget:hover { border-color: var(--color-primary); box-shadow: var(--shadow-md); }
12
+ .dashboard-widget-header {
13
+ padding: 1rem 1.25rem;
14
+ border-bottom: 1px solid var(--color-border);
15
+ display: flex; align-items: center; justify-content: space-between;
16
+ }
17
+ .dashboard-widget-title { font-size: 0.875rem; font-weight: 600; color: var(--color-text); }
18
+ .dashboard-widget-content { padding: 1.25rem; flex: 1; }
19
+ `),h=s(`<div class=stat-grid><div class=stat-item><span class=stat-label></span><div class=stat-values><span class="stat-value published"></span><span class=stat-separator>/</span><span class="stat-value draft"></span><span class=stat-separator>/</span><span class="stat-value trash"></span></div><span class=stat-desc></span></div><div class=stat-item><span class=stat-label></span><div class=stat-values><span class="stat-value published"></span><span class=stat-separator>/</span><span class="stat-value draft"></span><span class=stat-separator>/</span><span class="stat-value trash"></span></div><span class=stat-desc></span></div><div class=stat-item><span class=stat-label></span><div class=stat-values><span class="stat-value total"></span></div><span class=stat-desc></span></div><div class=stat-item><span class=stat-label></span><div class=stat-values><span class="stat-value total"></span><span class=stat-separator>/</span><span class="stat-value active"></span><span class=stat-separator>/</span><span class="stat-value inactive"></span></div><span class=stat-desc></span></div><div class="stat-item full-width"><span class=stat-label></span><div class=version-info><span class=version-label>OkCMS</span><span class=version-number></span><span class=version-separator>|</span><span class=storage-label></span><span class=storage-value>`),g=s(`<style>
20
+ .stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; }
21
+ .stat-item { display: flex; flex-direction: column; gap: 0.5rem; padding: 1rem; background: var(--color-background); border: 1px solid var(--color-border); border-radius: var(--radius-md); }
22
+ .stat-item.full-width { grid-column: 1 / -1; }
23
+ .stat-label { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-muted); }
24
+ .stat-values { display: flex; align-items: baseline; gap: 0.375rem; flex-wrap: wrap; }
25
+ .stat-value { font-size: 1.5rem; font-weight: 700; color: var(--color-text); }
26
+ .stat-value.published { color: var(--color-success); }
27
+ .stat-value.draft { color: var(--color-warning); }
28
+ .stat-value.trash { color: var(--color-muted); }
29
+ .stat-value.pending { color: var(--color-warning); }
30
+ .stat-value.approved { color: var(--color-success); }
31
+ .stat-value.spam { color: var(--color-danger); }
32
+ .stat-value.total { color: var(--color-primary); }
33
+ .stat-value.active { color: var(--color-success); }
34
+ .stat-value.inactive { color: var(--color-danger); }
35
+ .stat-separator { color: var(--color-muted); }
36
+ .stat-desc { font-size: 0.6875rem; color: var(--color-muted); }
37
+ .version-info { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
38
+ .version-label { font-weight: 500; color: var(--color-text); }
39
+ .version-number { background: var(--color-primary-soft); color: var(--color-primary-hover); padding: 0.125rem 0.5rem; border-radius: var(--radius-sm); font-size: 0.8125rem; font-weight: 600; }
40
+ .version-separator { color: var(--color-muted); }
41
+ .storage-label { font-size: 0.8125rem; color: var(--color-muted); }
42
+ .storage-value { font-weight: 600; color: var(--color-text); }
43
+ `),_=s(`<div class="stat-grid skeleton">Loading...`);function v(e){return(()=>{var t=c(m),r=t.firstChild,i=r.firstChild,s=r.nextSibling;return o(i,()=>e.title),o(s,()=>e.children),n(n=>{var r=`dashboard-widget ${e.className||``}`,i=e.panelId,o=`grid-column: span ${e.columns||1}`;return r!==n.e&&l(t,n.e=r),i!==n.t&&u(t,`data-widget-panel`,n.t=i),n.a=a(t,o,n.a),n},{e:void 0,t:void 0,a:void 0}),t})()}function y(e){if(e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=Math.min(Math.floor(Math.log(e)/Math.log(1024)),t.length-1),r=e/1024**n;return`${r>=100||n===0?Math.round(r):r.toFixed(1)} ${t[n]}`}function b(){let{t:n}=d(),[a,s]=e(null),[l,u]=e(!0);return t(async()=>{try{let[e,t,n]=await Promise.all([f.getContent({limit:1e3}),f.listMedia({limit:1e3}),f.listUsers({limit:1e3})]),r=e.data??[],i=t.data??[],a=n.data??[],o=i.reduce((e,t)=>e+(Number(t.size)||0),0);s({posts:{published:r.filter(e=>e.type===`post`&&e.status===`PUBLISHED`).length,drafts:r.filter(e=>e.type===`post`&&e.status===`DRAFT`).length,trash:r.filter(e=>e.type===`post`&&e.status===`TRASHED`).length},pages:{published:r.filter(e=>e.type===`page`&&e.status===`PUBLISHED`).length,drafts:r.filter(e=>e.type===`page`&&e.status===`DRAFT`).length,trash:r.filter(e=>e.type===`page`&&e.status===`TRASHED`).length},media:{total:t.total??i.length},users:{total:a.length,active:a.filter(e=>e.status===`ACTIVE`).length,inactive:a.filter(e=>e.status===`INACTIVE`).length},storage:{used:y(o)},version:p})}catch(e){console.error(`Failed to load At Glance stats:`,e)}finally{u(!1)}}),i(v,{get title(){return n(`dashboard.widgets.atGlance`)},panelId:`at-glance`,get children(){return[i(r,{get when(){return l()},get fallback(){return c(_)},get children(){var e=c(h),t=e.firstChild,r=t.firstChild,i=r.nextSibling,s=i.firstChild,l=s.nextSibling.nextSibling,u=l.nextSibling.nextSibling,d=i.nextSibling,f=t.nextSibling,p=f.firstChild,m=p.nextSibling,g=m.firstChild,_=g.nextSibling.nextSibling,v=_.nextSibling.nextSibling,y=m.nextSibling,b=f.nextSibling,x=b.firstChild,S=x.nextSibling,C=S.firstChild,w=S.nextSibling,T=b.nextSibling,E=T.firstChild,D=E.nextSibling,O=D.firstChild,k=O.nextSibling.nextSibling,A=k.nextSibling.nextSibling,j=D.nextSibling,M=T.nextSibling.firstChild,N=M.nextSibling.firstChild.nextSibling,P=N.nextSibling.nextSibling,F=P.nextSibling;return o(r,()=>n(`dashboard.widgets.posts`)),o(s,()=>a()?.posts.published??0),o(l,()=>a()?.posts.drafts??0),o(u,()=>a()?.posts.trash??0),o(d,()=>n(`dashboard.widgets.postsDesc`)),o(p,()=>n(`dashboard.widgets.pages`)),o(g,()=>a()?.pages.published??0),o(_,()=>a()?.pages.drafts??0),o(v,()=>a()?.pages.trash??0),o(y,()=>n(`dashboard.widgets.pagesDesc`)),o(x,()=>n(`dashboard.widgets.media`)),o(C,()=>a()?.media.total??0),o(w,()=>n(`dashboard.widgets.mediaDesc`)),o(E,()=>n(`dashboard.widgets.users`)),o(O,()=>a()?.users.total??0),o(k,()=>a()?.users.active??0),o(A,()=>a()?.users.inactive??0),o(j,()=>n(`dashboard.widgets.usersDesc`)),o(M,()=>n(`dashboard.widgets.version`)),o(N,()=>a()?.version),o(P,()=>n(`dashboard.widgets.storage`)),o(F,()=>a()?.storage.used),e}}),c(g)]}})}export{b as AtGlanceWidget,v as DashboardWidget};
@@ -0,0 +1 @@
1
+ :root{--color-primary:#d8b45e;--color-primary-hover:#b99542;--color-primary-light:#f3e7c5;--color-primary-soft:#faf5e8;--color-ink:#0a0a0a;--color-surface-dark:#171717;--color-white:#fff;--color-background:#f6f7f7;--color-border:#dcdcde;--color-text:#2c3338;--color-muted:#646970;--color-success:#22c55e;--color-warning:#f59e0b;--color-danger:#ef4444;--color-surface:#fff;--color-surface-hover:#f6f7f7;--color-surface-active:#f3e7c5;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--focus-ring:0 0 0 2px var(--color-primary-soft), 0 0 0 4px var(--color-primary)}*{box-sizing:border-box;margin:0;padding:0}html{color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}body{min-height:100vh}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1280px;margin:0 auto;padding:0 1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.font-bold{font-weight:600}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-ink)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-text)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-white)}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem}.input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.input::placeholder{color:var(--color-muted)}.input:disabled{background:var(--color-background);color:var(--color-muted);cursor:not-allowed}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23646970' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem}.table th{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--color-background);font-size:.75rem;font-weight:600}.table tbody tr:hover{background:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em;align-items:center;padding:.1875rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.badge-success{color:#166534;background:#22c55e1a}.badge-warning{color:#854d0e;background:#f59e0b1a}.badge-danger{color:#991b1b;background:#ef44441a}.badge-secondary{background:var(--color-border);color:var(--color-muted)}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary-hover)}.layout{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--color-surface-dark);border-right:1px solid var(--color-border);height:100vh;padding:1.5rem 1rem;position:sticky;top:0}.main-content{background:var(--color-background);padding:2rem;overflow-y:auto}.nav-item{border-radius:var(--radius-md);color:#ffffffb3;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{color:var(--color-white);background:#ffffff1a}.nav-item.active{background:var(--color-primary);color:var(--color-ink)}.nav-submenu{border-left:2px solid var(--color-primary);margin:.25rem 0 .5rem 1.5rem;padding-left:.75rem}.nav-subitem{border-radius:var(--radius-sm);color:#fff9;padding:.375rem .75rem;font-size:.8125rem;text-decoration:none;transition:all .15s;display:block}.nav-subitem:hover{color:var(--color-white);background:#ffffff1a}.nav-subitem.active{color:var(--color-primary);font-weight:600}.modal-overlay{backdrop-filter:blur(2px);z-index:1000;background:#0a0a0a99;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-xl);padding:1.5rem;overflow-y:auto}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.toast{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);z-index:1100;padding:.75rem 1rem;animation:.2s ease-out slideIn;position:fixed;bottom:1.5rem;right:1.5rem}@keyframes slideIn{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-danger)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-primary)}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:1.25rem;height:1.25rem;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--color-muted);font-size:.875rem}.notice{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);margin-bottom:1rem;padding:.75rem 1rem}.notice--error{border-color:var(--color-danger);color:var(--color-danger);background:#ef44440d}.notice--success{border-color:var(--color-success);color:var(--color-success);background:#22c55e0d}.toolbar{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.toolbar .input{flex:1;min-width:200px}.pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.upload-zone{border:2px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;transition:border-color .15s,background .15s;display:flex}.upload-zone--active{border-color:var(--color-primary);background:var(--color-primary-soft)}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.media-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;color:var(--color-text);font:inherit;flex-direction:column;gap:.5rem;padding:.5rem;transition:all .15s;display:flex}.media-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.media-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft), 0 0 0 4px var(--color-primary)}.media-card__preview{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--color-background);justify-content:center;align-items:center;display:flex;overflow:hidden}.media-card__preview img{object-fit:cover;width:100%;height:100%}.media-card__ext{color:var(--color-muted);letter-spacing:.05em;text-align:center;padding:1rem;font-weight:700}.media-card__meta{flex-direction:column;gap:.125rem;display:flex}.media-card__name{white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.media-details{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex;position:sticky;bottom:0}.media-details__preview img{border-radius:var(--radius-lg);object-fit:contain;background:var(--color-background);max-width:100%;max-height:280px}.media-details__list{grid-template-columns:100px 1fr;gap:.35rem .75rem;margin:0;display:grid}.media-details__list dt{color:var(--color-muted);font-size:.8125rem}.media-details__list dd{overflow-wrap:anywhere;margin:0;font-size:.875rem}.media-details__url{align-items:center;gap:.5rem;display:flex}.media-details__url code{background:var(--color-background);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.75rem}.media-details__actions{flex-wrap:wrap;gap:.5rem;display:flex}.users-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;overflow:hidden}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;font-size:.875rem}.users-table th{background:var(--color-background);color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.users-table tr:last-child td{border-bottom:none}.users-table__row--selected td{background:var(--color-primary-soft)}.users-table__actions{white-space:nowrap;justify-content:flex-end;gap:.375rem;display:flex}.status-dot{background:var(--color-danger);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:.5rem;display:inline-block}.status-dot--active{background:var(--color-success)}.user-details{flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.dashboard-home{flex-direction:column;gap:1.5rem;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;padding:1.5rem;transition:all .15s}.stat-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.stat-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.stat-value{color:var(--color-primary);font-size:2.5rem;font-weight:700;line-height:1.2}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.login-page{background:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2.5rem 2rem}.login-header{text-align:center;margin-bottom:2rem}.login-header .logo{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);border-radius:var(--radius-xl);width:72px;height:72px;box-shadow:0 4px 14px -2px var(--color-primary);justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.login-header .logo svg{width:40px;height:40px;color:var(--color-ink)}.login-header h1{color:var(--color-text);margin-bottom:.375rem;font-size:1.5rem;font-weight:600}.login-header p{color:var(--color-muted);font-size:.9375rem}.login-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text);font-size:.8125rem;font-weight:500}.form-group .input{padding:.625rem .875rem;font-size:.9375rem}.form-group .input::placeholder{color:var(--color-muted)}.form-actions{gap:.5rem;margin-top:.5rem;display:flex}.form-actions .btn{flex:1}.empty-state,.skeleton{text-align:center;color:var(--color-muted);padding:2rem}.login-form .btn-primary{margin-top:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600}.login-form .btn-primary:focus-visible{box-shadow:0 0 0 3px var(--color-primary-soft), 0 0 0 5px var(--color-primary)}.error-message{border-radius:var(--radius-md);border:1px solid var(--color-danger);color:var(--color-danger);background:#ef444414;padding:.75rem 1rem;font-size:.875rem}[dir=rtl]{direction:rtl}[dir=rtl] .layout{grid-template-columns:1fr 250px}[dir=rtl] .sidebar{border-right:none;border-left:1px solid var(--color-border)}[dir=rtl] .nav-item,[dir=rtl] .nav-subitem,[dir=rtl] .table th,[dir=rtl] .table td,[dir=rtl] .users-table th,[dir=rtl] .users-table td{text-align:right}[dir=rtl] .toolbar{flex-direction:row-reverse}[dir=rtl] .toolbar .input{text-align:right}[dir=rtl] .form-grid,[dir=rtl] .form-grid label{direction:rtl}[dir=rtl] .card-header,[dir=rtl] .modal-header,[dir=rtl] .toolbar,[dir=rtl] .toolbar{flex-direction:row-reverse}[dir=rtl] .badge{direction:rtl}[dir=rtl] .toast{left:1.5rem;right:auto}[dir=rtl] .media-grid{direction:rtl}[dir=rtl] .media-card__meta{text-align:right}[dir=rtl] .media-details__list{direction:rtl}[dir=rtl] .media-details__url{flex-direction:row-reverse}[dir=rtl] .user-details .form-grid{direction:rtl}[dir=rtl] .user-details .media-details__actions{flex-direction:row-reverse}[dir=rtl] .notice{direction:rtl}[dir=rtl] .pagination{flex-direction:row-reverse}[dir=rtl] input,[dir=rtl] textarea,[dir=rtl] select,[dir=rtl] input::placeholder,[dir=rtl] textarea::placeholder{text-align:right}[dir=rtl] .chevron{transform:scaleX(-1)}[dir=rtl] .language-trigger[aria-expanded=true] .chevron{transform:scaleX(-1)rotate(180deg)}[dir=rtl] .nav-submenu{border-left:none;border-right:1px solid var(--color-border);margin-left:0;margin-right:1.75rem;padding-left:0;padding-right:.6rem}[dir=rtl] .users-table__actions{justify-content:flex-start}[dir=rtl] .media-details__actions{flex-direction:row-reverse}[dir=rtl] .media-details__preview{margin-left:auto;margin-right:0}[dir=rtl] .login-card{direction:rtl}[dir=rtl] .login-form .form-group label,[dir=rtl] .login-header{text-align:right}[dir=rtl] .settings-cards{direction:rtl}[dir=rtl] .settings-card{text-align:right}[dir=rtl] .action-card,[dir=rtl] .media-card__name{direction:rtl}[dir=rtl] .login-form .form-group{text-align:right}[dir=rtl] .input{padding-left:.75rem;padding-right:2.5rem}[dir=rtl] select.input{background-position:.75rem;padding-left:2.5rem;padding-right:.75rem}[dir=rtl] .status-dot{margin-left:.4rem;margin-right:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}
@@ -0,0 +1 @@
1
+ import"./src.Cgonpfb5.js";import{C as e,E as t,S as n,_ as r,b as i,d as a,g as o,i as s,l as c,n as l,o as u,p as d,r as f,s as p,u as m,x as h}from"./web.D1H9RxZL.js";import{t as g}from"./i18n.CLOpd2JA.js";import{t as _}from"./api.DTNuyqvx.js";function v(e){return e==null?!0:typeof e==`string`?e.trim()===``:Array.isArray(e)?e.length===0:!1}function y(e,t,n,r){return!t||!v(e)||(r.push({field:n,code:`REQUIRED`,message:`${n} é obrigatório`}),!1)}function b(e,t,n,r){if(v(e))return;let i=String(e),a=t.characterLimit;a!==void 0&&i.length>a&&r.push({field:n,code:`CHARACTER_LIMIT`,message:`${n} excede o limite de ${a} caracteres`})}function x(e,t,n){v(e)||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(e))||n.push({field:t,code:`INVALID_EMAIL`,message:`${t} não é um e-mail válido`})}function S(e,t,n){if(!v(e))try{let t=new URL(String(e));if(![`http:`,`https:`].includes(t.protocol))throw Error(`protocol`)}catch{n.push({field:t,code:`INVALID_URL`,message:`${t} não é uma URL válida (http/https)`})}}function C(e,t,n,r){if(v(e))return;let i=Number(e);if(Number.isNaN(i)){r.push({field:n,code:`NOT_A_NUMBER`,message:`${n} deve ser um número`});return}let a=t.minValue,o=t.maxValue,s=t.step;if(a!==void 0&&i<a&&r.push({field:n,code:`MIN_VALUE`,message:`${n} deve ser maior ou igual a ${a}`}),o!==void 0&&i>o&&r.push({field:n,code:`MAX_VALUE`,message:`${n} deve ser menor ou igual a ${o}`}),s!==void 0&&s>0){let e=a??0;Math.abs((i-e)/s-Math.round((i-e)/s))>1e-9&&r.push({field:n,code:`STEP_MISMATCH`,message:`${n} deve seguir o incremento de ${s}`})}}function w(e){let t=e.choices??[];return new Set(t.map(e=>String(e.value)))}function T(e,t,n,r,i){n||t.has(String(e))||i.push({field:r,code:`INVALID_CHOICE`,message:`${r} contém um valor fora das opções permitidas`})}function E(e,t,n,r){let i=t.minSelections,a=t.maxSelections;i!==void 0&&e.length<i&&r.push({field:n,code:`MIN_SELECTIONS`,message:`${n} requer no mínimo ${i} seleção(ões)`}),a!==void 0&&e.length>a&&r.push({field:n,code:`MAX_SELECTIONS`,message:`${n} permite no máximo ${a} seleção(ões)`})}function D(e,t,n,r){if(v(e))return;let i=!!t.multiple,a=!!(t.allowCustom??!1),o=w(t);if(i){if(!Array.isArray(e)){r.push({field:n,code:`NOT_ARRAY`,message:`${n} deve ser uma lista`});return}if(!a)for(let t of e)T(t,o,!1,n,r);E(e,t,n,r);return}T(e,o,a,n,r),Array.isArray(e)&&r.push({field:n,code:`SINGLE_ONLY`,message:`${n} aceita apenas um valor`})}function O(e,t,n,r){if(v(e))return;if(!Array.isArray(e)){r.push({field:n,code:`NOT_ARRAY`,message:`${n} deve ser uma lista de valores`});return}let i=w(t);for(let t of e)T(t,i,!0,n,r);E(e,t,n,r)}function k(e,t,n,r){v(e)||T(e,w(t),!!t.allowCustom,n,r)}function A(e,t,n){e!=null&&typeof e!=`boolean`&&e!==0&&e!==1&&e!==`0`&&e!==`1`&&n.push({field:t,code:`NOT_BOOLEAN`,message:`${t} deve ser verdadeiro ou falso`})}function j(e,t,n,r){if(typeof e!=`object`||!e||Array.isArray(e)){r.push({field:n,code:`INVALID_MEDIA`,message:`${n} deve referenciar uma mídia válida`});return}let i=e,a=t.mimeTypes??[];a.length>0&&i.mimeType&&(a.map(e=>e.toLowerCase()).includes(i.mimeType.toLowerCase())||r.push({field:n,code:`INVALID_MIME`,message:`${n} não aceita arquivos do tipo ${i.mimeType}`}));let o=t.maxSize,s=t.minSize;if(i.size!==void 0&&(o!==void 0&&i.size>o&&r.push({field:n,code:`FILE_TOO_LARGE`,message:`${n} excede o tamanho máximo de ${Math.round(o/1024)}KB`}),s!==void 0&&i.size<s&&r.push({field:n,code:`FILE_TOO_SMALL`,message:`${n} está abaixo do tamanho mínimo de ${Math.round(s/1024)}KB`})),i.width!==void 0&&i.height!==void 0){let e=t.minWidth,a=t.maxWidth,o=t.minHeight,s=t.maxHeight;e!==void 0&&i.width<e&&r.push({field:n,code:`MIN_WIDTH`,message:`${n} requer largura mínima de ${e}px`}),a!==void 0&&i.width>a&&r.push({field:n,code:`MAX_WIDTH`,message:`${n} permite largura máxima de ${a}px`}),o!==void 0&&i.height<o&&r.push({field:n,code:`MIN_HEIGHT`,message:`${n} requer altura mínima de ${o}px`}),s!==void 0&&i.height>s&&r.push({field:n,code:`MAX_HEIGHT`,message:`${n} permite altura máxima de ${s}px`})}}function M(e,t,n,r){v(e)||j(e,t,n,r)}function N(e,t,n,r){v(e)||j(e,t,n,r)}function P(e,t,n,r){if(e==null)return;if(!Array.isArray(e)){r.push({field:n,code:`NOT_ARRAY`,message:`${n} deve ser uma lista de imagens`});return}let i=t.minSelections!==void 0||t.maxSelections!==void 0;if(e.length===0&&!i)return;let a=t.minSelections,o=t.maxSelections;a!==void 0&&e.length<a&&r.push({field:n,code:`MIN_SELECTIONS`,message:`${n} requer no mínimo ${a} imagem(ns)`}),o!==void 0&&e.length>o&&r.push({field:n,code:`MAX_SELECTIONS`,message:`${n} permite no máximo ${o} imagem(ns)`});for(let i of e)j(i,t,n,r)}function F(e,t,n,r){if(v(e))return;let i=t.multiple!==!1,a=t.minSelections,o=t.maxSelections,s=Array.isArray(e)?e:[e];for(let e of s)if(typeof e!=`string`&&typeof e!=`number`){r.push({field:n,code:`INVALID_ID`,message:`${n} contém um identificador inválido`});return}i?(o!==void 0&&s.length>o&&r.push({field:n,code:`MAX_SELECTIONS`,message:`${n} permite no máximo ${o} seleção(ões)`}),a!==void 0&&s.length<a&&r.push({field:n,code:`MIN_SELECTIONS`,message:`${n} requer no mínimo ${a} seleção(ões)`})):s.length>1&&r.push({field:n,code:`SINGLE_ONLY`,message:`${n} aceita apenas um valor`})}function I(e,t,n){if(v(e))return;if(typeof e!=`object`||!e){n.push({field:t,code:`INVALID_LINK`,message:`${t} deve ser um objeto de link`});return}let r=e;if(!r.url||typeof r.url!=`string`){n.push({field:t,code:`LINK_URL_REQUIRED`,message:`${t} requer uma URL`});return}try{let e=new URL(r.url);if(![`http:`,`https:`,`mailto:`,`tel:`].includes(e.protocol)&&!r.url.startsWith(`#`)&&!r.url.startsWith(`/`))throw Error(`protocol`)}catch{!r.url.startsWith(`#`)&&!r.url.startsWith(`/`)&&!r.url.startsWith(`?`)&&n.push({field:t,code:`INVALID_URL`,message:`${t} contém uma URL inválida`})}r.target!==void 0&&![`_self`,`_blank`].includes(String(r.target))&&n.push({field:t,code:`INVALID_TARGET`,message:`${t} aceita apenas _self ou _blank`})}function L(e,t,n){if(v(e))return;if(typeof e!=`object`||!e){n.push({field:t,code:`INVALID_MAP`,message:`${t} deve conter endereço e coordenadas`});return}let r=e;v(r.address)&&n.push({field:t,code:`ADDRESS_REQUIRED`,message:`${t} requer um endereço`});let i=Number(r.lat),a=Number(r.lng);(!Number.isFinite(i)||i<-90||i>90)&&n.push({field:t,code:`INVALID_LATITUDE`,message:`${t} contém latitude inválida (-90 a 90)`}),(!Number.isFinite(a)||a<-180||a>180)&&n.push({field:t,code:`INVALID_LONGITUDE`,message:`${t} contém longitude inválida (-180 a 180)`})}var ee=/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;function R(e,t,n,r){if(v(e))return;let i=String(e),a=i.startsWith(`rgba(`);if(a&&!t.enableOpacity){r.push({field:n,code:`OPACITY_DISABLED`,message:`${n} não permite transparência`});return}if(!a&&!ee.test(i)){r.push({field:n,code:`INVALID_COLOR`,message:`${n} deve ser uma cor em formato hexadecimal válido`});return}let o=t.palette??[];o.length>0&&(o.map(e=>e.toLowerCase()).includes(i.toLowerCase())||r.push({field:n,code:`NOT_IN_PALETTE`,message:`${n} deve usar uma cor da paleta definida`}))}function te(e,t){if(e.type===`clone`||e.type===`repeater`||e.type===`group`||e.type===`flexible_content`)return null;let n=e.config??{},r=[];switch(y(t,e.required,e.label,r),e.type){case`text`:case`textarea`:case`password`:b(t,n,e.label,r);break;case`email`:x(t,e.label,r);break;case`url`:case`oembed`:S(t,e.label,r);break;case`number`:case`range`:C(t,n,e.label,r);break;case`wysiwyg`:b(t,n,e.label,r);break;case`select`:D(t,n,e.label,r);break;case`checkbox`:O(t,n,e.label,r);break;case`radio`:k(t,n,e.label,r);break;case`true_false`:A(t,e.label,r);break;case`image`:M(t,n,e.label,r);break;case`file`:N(t,n,e.label,r);break;case`gallery`:P(t,n,e.label,r);break;case`link`:I(t,e.label,r);break;case`page_link`:case`post_object`:case`relationship`:case`taxonomy`:case`user`:F(t,n,e.label,r);break;case`google_map`:L(t,e.label,r);break;case`color_picker`:R(t,n,e.label,r)}return r[0]?.message??null}function z(e){let t=new Map;for(let n of e)t.set(n.name,n);let n=[],r=new Set,i=e=>{r.has(e.name)||(r.add(e.name),n.push(e))};for(let n of e){if(n.type!==`clone`){i(n);continue}let e=n.config??{},r=e.display??`seamless`,a=e.clone??[],o=[];for(let e of a){let n=t.get(e);n&&n.type!==`clone`&&o.push(n)}if(o.length!==0){if(r===`group`){i({...n,type:`group`,name:n.name,label:n.label,required:!1,conditionalLogic:void 0,subFields:o.map(e=>({...e,name:`${n.name}_${e.name}`}))});continue}for(let e of o)i(e)}}return n}var ne=d(`<ul class=relationship-picker__selection>`),B=d(`<li class=relationship-picker__empty>Buscando...`),re=d(`<li class=relationship-picker__empty>Nenhum resultado`),V=d(`<ul class=relationship-picker__results><!$><!/><!$><!/><!$><!/>`),ie=d(`<div class=relationship-picker><!$><!/><input type=search class=input><!$><!/>`),H=d(`<li><!$><!/><button type=button aria-label=Remover>×`),ae=d(`<li><button type=button><!$><!/><span class=relationship-picker__type>`);function oe(t){let[l,d]=e(``),[g,v]=e([]),[y,b]=e([]),[x,S]=e(!1),[C,w]=e(!1),T=h(()=>{let e=t.value;return Array.isArray(e)?e.map(String):e?[String(e)]:[]}),E=async()=>{S(!0);try{let e=await _.getContent({type:t.postType,status:`PUBLISHED`,search:l()||void 0,limit:10});v(e.data.filter(e=>!T().includes(e.id)).map(e=>({id:e.id,title:e.title,type:e.type}))),w(!0)}catch{v([])}finally{S(!1)}},D=e=>{b(t=>[...t,e]),t.multiple?t.onChange([...T(),e.id]):(t.onChange(e.id),d(``)),v([]),w(!1)},O=e=>{b(t=>t.filter(t=>t.id!==e));let n=T().filter(t=>t!==e);t.onChange(t.multiple?n:n[0]??null)},k=async()=>{C()||await E()};return(()=>{var e=f(ie),h=e.firstChild,[_,v]=s(h.nextSibling),b=_.nextSibling,S=b.nextSibling,[A,j]=s(S.nextSibling);return u(e,i(r,{get when(){return y().length>0||T().length>0},get children(){var e=f(ne);return u(e,i(o,{get each(){return y()},children:e=>(()=>{var t=f(H),n=t.firstChild,[r,i]=s(n.nextSibling),a=r.nextSibling;return u(t,()=>e.title,r,i),a.$$click=()=>O(e.id),c(),t})()})),e}}),_,v),b.addEventListener(`blur`,()=>setTimeout(()=>w(!1),150)),b.$$input=e=>{d(e.currentTarget.value),E()},b.addEventListener(`focus`,()=>void k()),u(e,i(r,{get when(){return p(()=>!!C())()&&(x()||g().length>0)},get children(){var e=f(V),t=e.firstChild,[n,a]=s(t.nextSibling),l=n.nextSibling,[d,m]=s(l.nextSibling),h=d.nextSibling,[_,v]=s(h.nextSibling);return u(e,i(r,{get when(){return x()},get children(){return f(B)}}),n,a),u(e,i(o,{get each(){return g()},children:e=>(()=>{var t=f(ae),n=t.firstChild,r=n.firstChild,[i,a]=s(r.nextSibling),o=i.nextSibling;return n.$$click=()=>D(e),n.$$mousedown=e=>e.preventDefault(),u(n,()=>e.title,i,a),u(o,()=>e.type),c(),t})()}),d,m),u(e,i(r,{get when(){return p(()=>!x())()&&g().length===0},get children(){return f(re)}}),_,v),e}}),A,j),n(()=>m(b,`placeholder`,t.placeholder??`Buscar conteúdo...`)),n(()=>a(b,`value`,l())),c(),e})()}l([`input`,`click`,`mousedown`]);var U=d(`<span class=field-renderer__required>*`),se=d(`<p class=field-renderer__instructions>`),W=d(`<p class=field-renderer__error role=alert>`),ce=d(`<div class=field-renderer><label class=field-renderer__label><!$><!/><!$><!/></label><!$><!/><!$><!/><!$><!/>`),G=d(`<input type=text class=input>`),le=d(`<textarea class=input rows=4>`),K=d(`<textarea class="input wysiwyg"rows=8>`),q=d(`<input type=number class=input>`),J=d(`<input type=email class=input>`),ue=d(`<input type=url class=input placeholder=https://>`),de=d(`<input type=password class=input>`),fe=d(`<input type=checkbox>`),Y=d(`<select class=input>`),X=d(`<option>`),Z=d(`<div class=field-renderer__choices>`),pe=d(`<label><input type=radio> <!$><!/>`),Q=d(`<label><input type=checkbox> <!$><!/>`),me=d(`<input type=date class=input>`),he=d(`<input type=datetime-local class=input>`),ge=d(`<input type=time class=input>`),_e=d(`<input type=color>`),ve=d(`<div class=field-renderer__map><input type=text class=input placeholder=Endereço><input type=number class=input placeholder="Latitude (-90 a 90)"step=any min=-90 max=90><input type=number class=input placeholder="Longitude (-180 a 180)"step=any min=-180 max=180>`),ye=d(`<div class=field-renderer__link><input type=url class=input placeholder="https:// ou /caminho"><select class=input><option value=_self>Mesma janela</option><option value=_blank>Nova janela`),be=d(`<div class=field-renderer__rows><!$><!/><button type=button class=btn>+ Adicionar linha`),xe=d(`<div class=field-renderer__rows><!$><!/><select class=input value><option value>+ Adicionar layout...</option><!$><!/>`),Se=d(`<div class=field-renderer__row><div class=field-renderer__row-header><span><!$><!/> <!$><!/></span><button type=button class=btn>↑</button><button type=button class=btn>↓</button><button type=button class="btn btn-danger">Remover</button></div><!$><!/>`),Ce=d(`<p class=field-renderer__instructions>Layout "<!$><!/>" não encontrado.`),we=d(`<fieldset class=field-renderer__group>`),Te=d(`<div class=field-renderer__row><div class=field-renderer__row-header><span>Linha <!$><!/></span><button type=button class="btn btn-danger">Remover</button></div><!$><!/>`),Ee=d(`<input type=file class=input>`);function De(e){return e==null||e===``||Array.isArray(e)&&e.length===0||typeof e==`boolean`&&!e}function Oe(e,t){if(typeof t==`boolean`)return!!e===t;let n=Number(e),r=Number(t);return e===t||!Number.isNaN(n)&&!Number.isNaN(r)&&n===r}function ke(e,t){let n=e.conditionalLogic;return!n?.groups||n.groups.length===0||n.groups.map(e=>{let n=e.rules??[];if(n.length===0)return!0;let r=n.map(e=>{let n=t[e.field];switch(e.operator){case`eq`:return Oe(n,e.value);case`neq`:return!Oe(n,e.value);case`gt`:return Number(n)>Number(e.value);case`lt`:return Number(n)<Number(e.value);case`contains`:return Array.isArray(n)?n.includes(e.value):String(n??``).includes(String(e.value));case`pattern_matches`:try{return new RegExp(String(e.value)).test(String(n??``))}catch{return!1}case`has_any_value`:return!De(n);case`has_no_value`:return De(n);default:return!1}});return e.match===`ANY`?r.some(Boolean):r.every(Boolean)}).some(Boolean)}var Ae=new Set([`message`,`tab`,`accordion`]);function $(t){let a=()=>ke(t.field,t.values),[o,c]=e(!1),l=()=>t.values[t.field.name],d=h(()=>o()?te(t.field,t.values[t.field.name]):null),g=e=>{c(!0),t.onChange(t.field.name,e)};return i(r,{get when(){return p(()=>!!a())()&&!Ae.has(t.field.type)},get children(){var e=f(ce),a=e.firstChild,o=a.firstChild,[c,p]=s(o.nextSibling),h=c.nextSibling,[_,v]=s(h.nextSibling),y=a.nextSibling,[b,x]=s(y.nextSibling),S=b.nextSibling,[C,w]=s(S.nextSibling),T=C.nextSibling,[E,D]=s(T.nextSibling);return u(a,()=>t.field.label,c,p),u(a,i(r,{get when(){return t.field.required},get children(){return f(U)}}),_,v),u(e,i(r,{get when(){return t.field.instructions},get children(){var e=f(se);return u(e,()=>t.field.instructions),e}}),b,x),u(e,i(je,{get field(){return t.field},get value(){return l()},onChange:g,get values(){return t.values}}),C,w),u(e,i(r,{get when(){return d()},get children(){var e=f(W);return u(e,d),e}}),E,D),n(()=>m(e,`data-field-type`,t.field.type)),e}})}function je(e){let t=()=>e.field.config??{};switch(e.field.type){case`text`:return(()=>{var r=f(G);return r.addEventListener(`blur`,t=>e.onChange(t.currentTarget.value.trim())),r.$$input=t=>e.onChange(t.currentTarget.value),n(()=>m(r,`maxlength`,t().characterLimit)),c(),r})();case`textarea`:return(()=>{var r=f(le);return r.$$input=t=>e.onChange(t.currentTarget.value),n(()=>m(r,`maxlength`,t().characterLimit)),c(),r})();case`wysiwyg`:return(()=>{var t=f(K);return t.$$input=t=>e.onChange(t.currentTarget.value),c(),t})();case`number`:case`range`:return(()=>{var r=f(q);return r.$$input=t=>e.onChange(t.currentTarget.value===``?void 0:Number(t.currentTarget.value)),n(e=>{var n=t().minValue,i=t().maxValue,a=t().step;return n!==e.e&&m(r,`min`,e.e=n),i!==e.t&&m(r,`max`,e.t=i),a!==e.a&&m(r,`step`,e.a=a),e},{e:void 0,t:void 0,a:void 0}),c(),r})();case`email`:return(()=>{var t=f(J);return t.$$input=t=>e.onChange(t.currentTarget.value),c(),t})();case`url`:return(()=>{var t=f(ue);return t.$$input=t=>e.onChange(t.currentTarget.value),c(),t})();case`password`:return(()=>{var t=f(de);return t.$$input=t=>e.onChange(t.currentTarget.value),c(),t})();case`true_false`:return(()=>{var t=f(fe);return t.addEventListener(`change`,t=>e.onChange(t.currentTarget.checked)),n(()=>a(t,`checked`,!!e.value)),t})();case`select`:return(()=>{var r=f(Y);return r.addEventListener(`change`,t=>e.onChange(t.currentTarget.multiple?Array.from(t.currentTarget.selectedOptions).map(e=>e.value):t.currentTarget.value)),u(r,i(o,{get each(){return t().choices??[]},children:e=>(()=>{var t=f(X);return u(t,()=>e.label),n(()=>a(t,`value`,e.value)),t})()})),n(()=>a(r,`multiple`,t().multiple===!0)),r})();case`radio`:return(()=>{var r=f(Z);return u(r,i(o,{get each(){return t().choices??[]},children:t=>(()=>{var r=f(pe),i=r.firstChild,o=i.nextSibling.nextSibling,[c,l]=s(o.nextSibling);return i.addEventListener(`change`,()=>e.onChange(t.value)),u(r,()=>t.label,c,l),n(()=>m(i,`name`,e.field.name)),n(()=>a(i,`checked`,e.value===t.value)),r})()})),r})();case`checkbox`:return(()=>{var r=f(Z);return u(r,i(o,{get each(){return t().choices??[]},children:t=>{let r=()=>Array.isArray(e.value)&&e.value.includes(t.value);return(()=>{var i=f(Q),o=i.firstChild,c=o.nextSibling.nextSibling,[l,d]=s(c.nextSibling);return o.addEventListener(`change`,n=>{let r=Array.isArray(e.value)?[...e.value]:[];e.onChange(n.currentTarget.checked?[...r,t.value]:r.filter(e=>e!==t.value))}),u(i,()=>t.label,l,d),n(()=>a(o,`checked`,r())),i})()}})),r})();case`date_picker`:return(()=>{var t=f(me);return t.$$input=t=>e.onChange(t.currentTarget.value),c(),t})();case`date_time_picker`:return(()=>{var t=f(he);return t.$$input=t=>e.onChange(t.currentTarget.value),c(),t})();case`time_picker`:return(()=>{var t=f(ge);return t.$$input=t=>e.onChange(t.currentTarget.value),c(),t})();case`color_picker`:return(()=>{var t=f(_e);return t.addEventListener(`change`,t=>e.onChange(t.currentTarget.value)),t})();case`image`:case`file`:return i(Ne,{multiple:!1,get onChange(){return e.onChange},get accept(){return e.field.type===`image`?`image/*`:void 0}});case`gallery`:return i(Ne,{multiple:!0,get onChange(){return e.onChange},accept:`image/*`});case`google_map`:return(()=>{var t=f(ve),n=t.firstChild,r=n.nextSibling,i=r.nextSibling;return n.$$input=t=>{let n=e.value??{};e.onChange({...n,address:t.currentTarget.value})},r.$$input=t=>{let n=e.value??{};e.onChange({...n,lat:Number(t.currentTarget.value)})},i.$$input=t=>{let n=e.value??{};e.onChange({...n,lng:Number(t.currentTarget.value)})},c(),t})();case`link`:return(()=>{var t=f(ye),n=t.firstChild,r=n.nextSibling;return n.$$input=t=>{let n=e.value??{};e.onChange({...n,url:t.currentTarget.value})},r.addEventListener(`change`,t=>{let n=e.value??{};e.onChange({...n,target:t.currentTarget.value})}),c(),t})();case`relationship`:case`post_object`:return i(oe,{get postType(){return t().postType},get multiple(){return t().multiple!==!1},get value(){return e.value},get onChange(){return e.onChange}});case`taxonomy`:case`user`:return i(Pe,{get field(){return e.field},get value(){return e.value},get onChange(){return e.onChange},get multiple(){return t().multiple!==!1}});case`repeater`:{let t=()=>Array.isArray(e.value)?e.value:[];return(()=>{var n=f(be),r=n.firstChild,[a,l]=s(r.nextSibling),d=a.nextSibling;return u(n,i(o,{get each(){return t()},children:(n,r)=>i(Me,{get field(){return e.field},row:n,get index(){return r()},onUpdate:n=>{let i=[...t()];i[r()]=n,e.onChange(i)},onRemove:()=>{e.onChange(t().filter((e,t)=>t!==r()))}})}),a,l),d.$$click=()=>e.onChange([...t(),{}]),c(),n})()}case`flexible_content`:{let l=()=>t().layouts??[],d=()=>(Array.isArray(e.value)?e.value:[]).map(e=>({acf_fc_layout:String(e.acf_fc_layout??``),data:e}));return(()=>{var t=f(xe),p=t.firstChild,[m,h]=s(p.nextSibling),g=m.nextSibling,_=g.firstChild.nextSibling,[v,y]=s(_.nextSibling);return u(t,i(o,{get each(){return d()},children:(t,p)=>{let m=()=>l().find(e=>e.name===t.acf_fc_layout),h=()=>{let{acf_fc_layout:e,...n}=t.data;return n};return(()=>{var l=f(Se),g=l.firstChild,_=g.firstChild,v=_.firstChild,[y,b]=s(v.nextSibling),x=y.nextSibling.nextSibling,[S,C]=s(x.nextSibling),w=_.nextSibling,T=w.nextSibling,E=T.nextSibling,D=g.nextSibling,[O,k]=s(D.nextSibling);return u(_,()=>m()?.label||t.acf_fc_layout||`Linha`,y,b),u(_,()=>p()+1,S,C),w.$$click=()=>{let t=[...Array.isArray(e.value)?e.value:[]];[t[p()-1],t[p()]]=[t[p()],t[p()-1]],e.onChange(t)},T.$$click=()=>{let t=[...Array.isArray(e.value)?e.value:[]];[t[p()],t[p()+1]]=[t[p()+1],t[p()]],e.onChange(t)},E.$$click=()=>e.onChange((Array.isArray(e.value)?e.value:[]).filter((e,t)=>t!==p())),u(l,i(r,{get when(){return m()},get fallback(){return(()=>{var e=f(Ce),n=e.firstChild.nextSibling,[r,i]=s(n.nextSibling);return r.nextSibling,u(e,()=>t.acf_fc_layout,r,i),e})()},get children(){return i(o,{get each(){return m().subFields??[]},children:t=>i($,{field:t,get values(){return h()},onChange:(t,n)=>{let r=[...Array.isArray(e.value)?e.value:[]];r[p()]={...r[p()],[t]:n},e.onChange(r)}})})}}),O,k),n(e=>{var t=p()===0,n=p()===d().length-1;return t!==e.e&&a(w,`disabled`,e.e=t),n!==e.t&&a(T,`disabled`,e.t=n),e},{e:void 0,t:void 0}),c(),l})()}}),m,h),g.addEventListener(`change`,t=>{t.currentTarget.value&&(e.onChange([...Array.isArray(e.value)?e.value:[],{acf_fc_layout:t.currentTarget.value}]),t.currentTarget.value=``)}),u(g,i(o,{get each(){return l()},children:e=>(()=>{var t=f(X);return u(t,()=>e.label??e.name),n(()=>a(t,`value`,e.name)),t})()}),v,y),t})()}case`group`:return(()=>{var t=f(we);return u(t,i(o,{get each(){return e.field.subFields??[]},children:t=>i($,{field:t,get values(){return e.value??{}},onChange:(t,n)=>e.onChange({...e.value??{},[t]:n})})})),t})();default:return(()=>{var t=f(G);return t.$$input=t=>e.onChange(t.currentTarget.value),c(),t})()}}function Me(e){return(()=>{var t=f(Te),n=t.firstChild,r=n.firstChild,a=r.firstChild.nextSibling,[l,d]=s(a.nextSibling),p=r.nextSibling,m=n.nextSibling,[h,g]=s(m.nextSibling);return u(r,()=>e.index+1,l,d),p.$$click=()=>e.onRemove(),u(t,i(o,{get each(){return e.field.subFields??[]},children:t=>i($,{field:t,get values(){return e.row},onChange:(t,n)=>e.onUpdate({...e.row,[t]:n})})}),h,g),c(),t})()}function Ne(e){return(()=>{var t=f(Ee);return t.addEventListener(`change`,t=>{let n=Array.from(t.currentTarget.files??[]);e.onChange(e.multiple?n:n[0])}),n(n=>{var r=e.multiple,i=e.accept;return r!==n.e&&a(t,`multiple`,n.e=r),i!==n.t&&m(t,`accept`,n.t=i),n},{e:void 0,t:void 0}),t})()}function Pe(e){let t=()=>Array.isArray(e.value)?e.value:e.value?[e.value]:[];return(()=>{var r=f(Y);return r.addEventListener(`change`,t=>{let n=Array.from(t.currentTarget.selectedOptions).map(e=>e.value);e.onChange(e.multiple?n:n[0])}),u(r,i(o,{get each(){return e.field.config?.choices??[]},children:e=>(()=>{var r=f(X);return u(r,()=>e.label),n(()=>a(r,`selected`,t().includes(e.value))),n(()=>a(r,`value`,e.value)),r})()})),n(t=>{var n=e.multiple,i=Math.min(6,Math.max(3,(e.field.config?.choices??[]).length||3));return n!==t.e&&a(r,`multiple`,t.e=n),i!==t.t&&m(r,`size`,t.t=i),t},{e:void 0,t:void 0}),r})()}l([`input`,`click`]);var Fe=d(`<div class=field-type-picker__panel role=listbox><input type=search class=field-type-picker__search placeholder="Buscar tipo de campo..."><!$><!/>`),Ie=d(`<div class=field-type-picker><button type=button class=field-type-picker__trigger><span><!$><!/> <!$><!/></span><span aria-hidden=true></span></button><!$><!/>`),Le=d(`<div class=field-type-picker__group><div class=field-type-picker__group-label><!$><!/> <!$><!/></div><!$><!/>`),Re=d(`<span class=field-type-picker__hint>sem lógica condicional`),ze=d(`<button type=button role=option class=field-type-picker__option><span></span><span></span><!$><!/>`);function Be(t){let[l,d]=e(!1),[p,h]=e(``),g=()=>t.types.find(e=>e.type===t.value),_=()=>{let e=p().toLowerCase();return e?t.types.filter(t=>t.label.toLowerCase().includes(e)||t.type.includes(e)):t.types};return(()=>{var e=f(Ie),v=e.firstChild,y=v.firstChild,b=y.firstChild,[x,S]=s(b.nextSibling),C=x.nextSibling.nextSibling,[w,T]=s(C.nextSibling),E=y.nextSibling,D=v.nextSibling,[O,k]=s(D.nextSibling);return v.$$click=()=>d(!l()),u(y,()=>g()?.icon??` `,x,S),u(y,()=>g()?.label??`Selecione o tipo`,w,T),u(E,()=>l()?`▴`:`▾`),u(e,i(r,{get when(){return l()},get children(){var e=f(Fe),l=e.firstChild,g=l.nextSibling,[v,y]=s(g.nextSibling);return l.$$input=e=>h(e.currentTarget.value),u(e,i(o,{get each(){return t.categories},children:e=>{let a=_().filter(t=>t.category===e.id);return i(r,{get when(){return a.length>0},get children(){var l=f(Le),p=l.firstChild,g=p.firstChild,[_,v]=s(g.nextSibling),y=_.nextSibling.nextSibling,[b,x]=s(y.nextSibling),S=p.nextSibling,[C,w]=s(S.nextSibling);return u(p,()=>e.icon,_,v),u(p,()=>e.label,b,x),u(l,i(o,{each:a,children:e=>(()=>{var a=f(ze),o=a.firstChild,l=o.nextSibling,p=l.nextSibling,[g,_]=s(p.nextSibling);return a.$$click=()=>{t.onChange(e.type),d(!1),h(``)},u(o,()=>e.icon),u(l,()=>e.label),u(a,i(r,{get when(){return!e.supportsConditions},get children(){return f(Re)}}),g,_),n(n=>{var r=t.value===e.type,i=t.value===e.type;return r!==n.e&&m(a,`aria-selected`,n.e=r),i!==n.t&&a.classList.toggle(`is-selected`,n.t=i),n},{e:void 0,t:void 0}),c(),a})()}),C,w),l}})}}),v,y),n(()=>a(l,`value`,p())),c(),e}}),O,k),n(()=>m(v,`aria-expanded`,l())),c(),e})()}l([`click`,`input`]);var Ve=d(`<div class="notice notice--success">`),He=d(`<label><!$><!/><input class=input required>`),Ue=d(`<label><!$><!/><textarea class=input rows=3>`),We=d(`<label><!$><!/><input class=input>`),Ge=d(`<label><!$><!/><select class=input><option value></option><!$><!/>`),Ke=d(`<div class="card custom-fields"><h3></h3><!$><!/><details><summary></summary><!$><!/>`),qe=d(`<form class=content-editor><!$><!/><!$><!/><div class=card><label><!$><!/><select class=input></select></label><!$><!/><label><!$><!/><input class=input></label><!$><!/><!$><!/><label><!$><!/><select class=input><option value=DRAFT></option><option value=PUBLISHED></option><option value=ARCHIVED></option></select></label><!$><!/></div><!$><!/><button type=submit class="btn btn-primary">`),Je=d(`<div class="notice notice--error">`),Ye=d(`<option>`);function Xe(){let{t:l}=g(),[d,p]=e([]),[m,h]=e([]),[v,y]=e([]),[b,x]=e([]),[S,C]=e([]),[w,T]=e({}),[E,D]=e([]),[O,k]=e(!1),[A,j]=e(``),[M,N]=e({type:`post`,title:``,status:`DRAFT`}),P=()=>new Set(d().find(e=>e.slug===M().type)?.supports??[`title`,`editor`]),F=e=>P().has(e);t(async()=>{try{let[e,t,n]=await Promise.all([_.getContentTypes(),_.getFieldTypes(),_.getThemes().catch(()=>[])]);p(e),h(t.types),y(t.categories),C(n)}catch(e){D([e instanceof Error?e.message:String(e)])}let e=new URLSearchParams(window.location.search).get(`id`);if(e)try{let t=await _.getContentById(e),n=t;N({id:t.id,type:t.type,title:t.title,slug:t.slug,excerpt:t.excerpt,featuredImageId:n.featuredImageId??n.featured_image_id,status:t.status,layout:t.layout}),T(t.body??{})}catch(e){D([e instanceof Error?e.message:String(e)])}await L(M().type)});let I=()=>{let e=new Set;for(let t of S())for(let n of t.manifest?.provides?.layouts??[])e.add(n);return[...e].sort()},L=async e=>{try{let t=await _.getFieldGroups(e?{type:e}:void 0),n=await Promise.all(t.filter(e=>e.active).map(async e=>(await _.getFieldGroup(e.id)).fields??[]));x(z(n.flat()))}catch(e){D([e instanceof Error?e.message:String(e)])}},ee=async e=>{e.preventDefault(),j(``),k(!0);try{let e={...M(),layout:M().layout||null,body:w(),...F(`excerpt`)?{}:{excerpt:void 0},...F(`thumbnail`)?{}:{featuredImageId:void 0}},t=M().id?await _.updateContent(M().id,e):await _.createContent(e);N({...M(),id:t.id}),j(l(`content.editor.saved`))}catch(e){D([e instanceof Error?e.message:String(e)])}finally{k(!1)}};return(()=>{var e=f(qe),t=e.firstChild,[p,h]=s(t.nextSibling),g=p.nextSibling,[_,y]=s(g.nextSibling),x=_.nextSibling,S=x.firstChild,C=S.firstChild,[D,k]=s(C.nextSibling),j=D.nextSibling,P=S.nextSibling,[R,te]=s(P.nextSibling),z=R.nextSibling,ne=z.firstChild,[B,re]=s(ne.nextSibling),V=B.nextSibling,ie=z.nextSibling,[H,ae]=s(ie.nextSibling),oe=H.nextSibling,[U,se]=s(oe.nextSibling),W=U.nextSibling,ce=W.firstChild,[G,le]=s(ce.nextSibling),K=G.nextSibling,q=K.firstChild,J=q.nextSibling,ue=J.nextSibling,de=W.nextSibling,[fe,Y]=s(de.nextSibling),X=x.nextSibling,[Z,pe]=s(X.nextSibling),Q=Z.nextSibling;return e.addEventListener(`submit`,ee),u(e,i(r,{get when(){return E().length>0},get children(){return i(o,{get each(){return E()},children:e=>(()=>{var t=f(Je);return u(t,e),t})()})}}),p,h),u(e,i(r,{get when(){return A()},get children(){var e=f(Ve);return u(e,A),e}}),_,y),u(S,()=>l(`content.editor.type`),D,k),j.addEventListener(`change`,e=>{N({...M(),type:e.currentTarget.value}),L(e.currentTarget.value)}),u(j,i(o,{get each(){return d()},children:e=>(()=>{var t=f(Ye);return u(t,()=>e.pluralLabel),n(()=>a(t,`value`,e.slug)),t})()})),u(x,i(r,{get when(){return F(`title`)},get children(){var e=f(He),t=e.firstChild,[r,i]=s(t.nextSibling),o=r.nextSibling;return u(e,()=>l(`content.editor.title`),r,i),o.$$input=e=>N({...M(),title:e.currentTarget.value}),n(()=>a(o,`value`,M().title)),c(),e}}),R,te),u(z,()=>l(`content.editor.slug`),B,re),V.$$input=e=>N({...M(),slug:e.currentTarget.value}),u(x,i(r,{get when(){return F(`excerpt`)},get children(){var e=f(Ue),t=e.firstChild,[r,i]=s(t.nextSibling),o=r.nextSibling;return u(e,()=>l(`content.editor.excerpt`),r,i),o.$$input=e=>N({...M(),excerpt:e.currentTarget.value}),n(()=>a(o,`value`,M().excerpt??``)),c(),e}}),H,ae),u(x,i(r,{get when(){return F(`thumbnail`)},get children(){var e=f(We),t=e.firstChild,[r,i]=s(t.nextSibling),o=r.nextSibling;return u(e,()=>l(`content.editor.featuredImage`),r,i),o.$$input=e=>N({...M(),featuredImageId:e.currentTarget.value}),n(()=>a(o,`value`,M().featuredImageId??``)),c(),e}}),U,se),u(W,()=>l(`content.editor.status`),G,le),K.addEventListener(`change`,e=>N({...M(),status:e.currentTarget.value})),u(q,()=>l(`content.editor.statusOptions.draft`)),u(J,()=>l(`content.editor.statusOptions.published`)),u(ue,()=>l(`content.editor.statusOptions.archived`)),u(x,i(r,{get when(){return I().length>0},get children(){var e=f(Ge),t=e.firstChild,[r,c]=s(t.nextSibling),d=r.nextSibling,p=d.firstChild,m=p.nextSibling,[h,g]=s(m.nextSibling);return u(e,()=>l(`content.editor.layout`),r,c),d.addEventListener(`change`,e=>N({...M(),layout:e.currentTarget.value||null})),u(p,()=>l(`content.editor.layoutAuto`)),u(d,i(o,{get each(){return I()},children:e=>(()=>{var t=f(Ye);return a(t,`value`,e),u(t,e),t})()}),h,g),n(()=>a(d,`value`,M().layout??``)),e}}),fe,Y),u(e,i(r,{get when(){return b().length>0||m().length>0},get children(){var e=f(Ke),t=e.firstChild,n=t.nextSibling,[r,a]=s(n.nextSibling),c=r.nextSibling,d=c.firstChild,p=d.nextSibling,[h,g]=s(p.nextSibling);return u(t,()=>l(`content.editor.customFields`)),u(e,i(o,{get each(){return b()},children:e=>i($,{field:e,get values(){return w()},onChange:(e,t)=>T({...w(),[e]:t})})}),r,a),u(d,()=>l(`content.editor.inspectTypes`)),u(c,i(Be,{get categories(){return v()},get types(){return m()},value:``,onChange:()=>void 0}),h,g),e}}),Z,pe),u(Q,()=>l(`content.editor.save`)),n(()=>a(Q,`disabled`,O())),n(()=>a(j,`value`,M().type)),n(()=>a(V,`value`,M().slug??``)),n(()=>a(K,`value`,M().status)),c(),e})()}l([`input`]);export{Xe as ContentEditor};
@@ -0,0 +1 @@
1
+ import{a as e,i as t,n,o as r,r as i,s as a,t as o}from"./src.Cgonpfb5.js";import{C as s,E as c,S as l,_ as u,b as d,i as f,o as p,p as m,r as h,u as g}from"./web.D1H9RxZL.js";import{t as _}from"./i18n.CLOpd2JA.js";import{t as v}from"./api.DTNuyqvx.js";var y=m(`<span class=muted>`),b=m(`<div class=users-table__actions><a class="btn btn-secondary btn-sm"></a><!$><!/><!$><!/>`),x=m(`<div class="notice notice--error">`),S=m(`<div class=notice>`),C=m(`<div class=content-list><!$><!/><!$><!/><div class=toolbar><!$><!/><!$><!/><!$><!/><a class="btn btn-primary"href=/content/new></a><!$><!/></div><!$><!/>`);function w(e){return e}function T(e){let t=w(e).updated_at??w(e).updatedAt??w(e).created_at;if(typeof t!=`string`)return`—`;let n=new Date(t);return Number.isNaN(n.getTime())?`—`:n.toLocaleString(`pt-BR`)}function E(){let{t:m}=_(),[E,D]=s([]),[O,k]=s([]),[A,j]=s(0),[M,N]=s(1),[P,F]=s(``),[I,L]=s(``),[R,z]=s(``),[B,V]=s(``),[H,U]=s(``),[W,G]=s(``),K=async()=>{try{let e=await v.getContent({page:M(),limit:20,type:I()||void 0,status:R()||void 0,search:P()||void 0});D(e.data??[]),j(e.total??0)}catch(e){V(e instanceof Error?e.message:String(e))}};c(async()=>{await K();try{k(await v.getContentTypes())}catch{}});let q=async()=>{N(1),await K()},J=async e=>{let t=w(e).status===`PUBLISHED`;G(e.id),V(``),U(``);try{await v.publishToggle(e.id,t),U(m(t?`content.list.toasts.unpublished`:`content.list.toasts.published`)),await K()}catch(e){V(e instanceof Error?e.message:String(e))}finally{G(``)}},Y=async e=>{let t=String(w(e).title??e.id);if(confirm(m(`content.list.confirmDelete`,{title:t})))try{await v.deleteContent(e.id),await K()}catch(e){V(e instanceof Error?e.message:String(e))}},X=[{key:`title`,label:m(`content.list.columns.title`)},{key:`type`,label:m(`content.list.columns.type`)},{key:`status`,label:m(`content.list.columns.status`),render:(e,t)=>{let n=String(t.status??``);return d(o,{variant:n===`PUBLISHED`?`success`:n===`ARCHIVED`?`warning`:`secondary`,children:n})}},{key:`updated_at`,label:m(`content.list.columns.updated`),render:(e,t)=>(()=>{var e=h(y);return p(e,()=>T(t)),e})()},{key:`actions`,label:``,render:(e,t)=>{let r=t,i=w(r).status===`PUBLISHED`;return(()=>{var e=h(b),t=e.firstChild,a=t.nextSibling,[o,s]=f(a.nextSibling),c=o.nextSibling,[u,_]=f(c.nextSibling);return p(t,()=>m(`content.list.actions.edit`)),p(e,d(n,{variant:i?`secondary`:`primary`,size:`sm`,get loading(){return W()===r.id},onClick:()=>void J(r),get children(){return m(i?`content.list.actions.unpublish`:`content.list.actions.publish`)}}),o,s),p(e,d(n,{variant:`danger`,size:`sm`,onClick:()=>void Y(r),get children(){return m(`content.list.actions.delete`)}}),u,_),l(()=>g(t,`href`,`/content/edit?id=${encodeURIComponent(r.id)}`)),e})()}}];return(()=>{var o=h(C),s=o.firstChild,[c,l]=f(s.nextSibling),g=c.nextSibling,[_,v]=f(g.nextSibling),y=_.nextSibling,b=y.firstChild,[w,T]=f(b.nextSibling),D=w.nextSibling,[k,j]=f(D.nextSibling),V=k.nextSibling,[U,W]=f(V.nextSibling),G=U.nextSibling,J=G.nextSibling,[Y,Z]=f(J.nextSibling),Q=y.nextSibling,[$,ee]=f(Q.nextSibling);return p(o,d(u,{get when(){return B()},get children(){var e=h(x);return p(e,B),e}}),c,l),p(o,d(u,{get when(){return H()},get children(){var e=h(S);return p(e,H),e}}),_,v),p(y,d(t,{name:`search`,get placeholder(){return m(`content.list.filters.search`)},get value(){return P()},onInput:e=>{F(e),q()}}),w,T),p(y,d(r,{name:`type`,get placeholder(){return m(`content.list.filters.allTypes`)},get value(){return I()},get options(){return O().map(e=>({value:e.slug,label:e.pluralLabel||e.name}))},onChange:e=>{L(e),q()}}),k,j),p(y,d(r,{name:`status`,get placeholder(){return m(`content.list.filters.allStatus`)},get value(){return R()},get options(){return[{value:`DRAFT`,label:m(`content.list.statuses.draft`)},{value:`PUBLISHED`,label:m(`content.list.statuses.published`)},{value:`ARCHIVED`,label:m(`content.list.statuses.archived`)}]},onChange:e=>{z(e),q()}}),U,W),p(G,()=>m(`content.list.buttons.new`)),p(y,d(n,{variant:`secondary`,onClick:()=>void q(),get children(){return m(`content.list.buttons.search`)}}),Y,Z),p(o,d(i,{get children(){return[d(a,{columns:X,get data(){return E()},get emptyMessage(){return m(`content.list.empty`)}}),d(e,{get page(){return M()},limit:20,get total(){return A()},onPageChange:e=>{N(e),K()}})]}}),$,ee),o})()}export{E as ContentList};
@@ -0,0 +1 @@
1
+ import{C as e,E as t,S as n,_ as r,b as i,g as a,i as o,o as s,p as c,r as l,u}from"./web.D1H9RxZL.js";import{t as d}from"./i18n.CLOpd2JA.js";import{t as f}from"./api.DTNuyqvx.js";var p=c(`<div class="notice notice--error">`),m=c(`<table class=table><thead><tr><th></th><th></th><th></th><th></th></tr></thead><tbody>`),h=c(`<div class=dashboard-home><!$><!/><div class=stats-grid><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div><div class="card stat-card"><h3 class=stat-label></h3><p class=stat-value></p></div></div><div class=card><div class=card-header><h3></h3><a href=/content class="btn btn-secondary btn-sm"></a></div><!$><!/>`),g=c(`<p class=muted>`),_=c(`<tr><td><a></a></td><td></td><td></td><td class=muted>`);function v(e){return e}function y(e){let t=v(e).updated_at??v(e).updatedAt??v(e).created_at;if(typeof t!=`string`)return`—`;let n=new Date(t);return Number.isNaN(n.getTime())?`—`:n.toLocaleString(`pt-BR`)}function b(){let{t:c}=d(),[b,x]=e({total:`—`,published:`—`,drafts:`—`,media:`—`,users:`—`}),[S,C]=e([]),[w,T]=e(``);return t(async()=>{let[e,t,n,r,i,a]=await Promise.allSettled([f.getContent({limit:1}),f.getContent({limit:1,status:`PUBLISHED`}),f.getContent({limit:1,status:`DRAFT`}),f.listMedia({limit:1}),f.listUsers({limit:1}),f.getContent({limit:5})]),o=e=>e.status===`fulfilled`?String(e.value.total):`?`;x({total:o(e),published:o(t),drafts:o(n),media:o(r),users:o(i)}),a.status===`fulfilled`?C(a.value.data??[]):T(a.reason instanceof Error?a.reason.message:String(a.reason))}),(()=>{var e=l(h),t=e.firstChild,[d,f]=o(t.nextSibling),x=d.nextSibling,C=x.firstChild,T=C.firstChild,E=T.nextSibling,D=C.nextSibling,O=D.firstChild,k=O.nextSibling,A=D.nextSibling,j=A.firstChild,M=j.nextSibling,N=A.nextSibling,P=N.firstChild,F=P.nextSibling,I=N.nextSibling.firstChild,L=I.nextSibling,R=x.nextSibling,z=R.firstChild,B=z.firstChild,V=B.nextSibling,H=z.nextSibling,[U,W]=o(H.nextSibling);return s(e,i(r,{get when(){return w()},get children(){var e=l(p);return s(e,w),e}}),d,f),s(T,()=>c(`dashboard.stats.totalContent`)),s(E,()=>b().total),s(O,()=>c(`dashboard.stats.published`)),s(k,()=>b().published),s(j,()=>c(`dashboard.stats.drafts`)),s(M,()=>b().drafts),s(P,()=>c(`dashboard.stats.mediaFiles`)),s(F,()=>b().media),s(I,()=>c(`dashboard.stats.users`)),s(L,()=>b().users),s(B,()=>c(`dashboard.recent.title`)),s(V,()=>c(`dashboard.recent.viewAll`)),s(R,i(r,{get when(){return S().length>0},get fallback(){return(()=>{var e=l(g);return s(e,()=>c(`dashboard.recent.empty`)),e})()},get children(){var e=l(m),t=e.firstChild,r=t.firstChild.firstChild,o=r.nextSibling,d=o.nextSibling,f=d.nextSibling,p=t.nextSibling;return s(r,()=>c(`dashboard.recent.columns.title`)),s(o,()=>c(`dashboard.recent.columns.type`)),s(d,()=>c(`dashboard.recent.columns.status`)),s(f,()=>c(`dashboard.recent.columns.updated`)),s(p,i(a,{get each(){return S()},children:e=>(()=>{var t=l(_),r=t.firstChild,i=r.firstChild,a=r.nextSibling,o=a.nextSibling,c=o.nextSibling;return s(i,()=>String(v(e).title??`—`)),s(a,()=>String(v(e).type??`—`)),s(o,()=>String(v(e).status??`—`)),s(c,()=>y(e)),n(()=>u(i,`href`,`/content/edit?id=${encodeURIComponent(String(v(e).id??``))}`)),t})()})),e}}),U,W),e})()}export{b as DashboardHome};
@@ -0,0 +1 @@
1
+ .layout[data-astro-cid-ynf3rr4n]{grid-template-columns:260px 1fr;min-height:100vh;padding-top:46px;display:grid}body.sidebar-collapsed .layout[data-astro-cid-ynf3rr4n]{grid-template-columns:72px 1fr}body.sidebar-collapsed .sidebar-header[data-astro-cid-ynf3rr4n] h2[data-astro-cid-ynf3rr4n],body.sidebar-collapsed .sidebar-header[data-astro-cid-ynf3rr4n] .badge[data-astro-cid-ynf3rr4n],body.sidebar-collapsed .sidebar-nav[data-astro-cid-ynf3rr4n] .nav-item[data-astro-cid-ynf3rr4n] span[data-astro-cid-ynf3rr4n],body.sidebar-collapsed .nav-submenu[data-astro-cid-ynf3rr4n]{display:none}body.sidebar-collapsed .sidebar[data-astro-cid-ynf3rr4n]{width:72px;padding:1rem .5rem}body.sidebar-collapsed .nav-item[data-astro-cid-ynf3rr4n]{justify-content:center;padding:.5rem}body.sidebar-collapsed .sidebar-toggle[data-astro-cid-ynf3rr4n]{margin:0 auto}body.sidebar-collapsed .sidebar-collapsed-brand[data-astro-cid-ynf3rr4n]{text-align:center;padding:.5rem;display:block!important}body.sidebar-collapsed .main-content[data-astro-cid-ynf3rr4n]{margin-left:0}.sidebar-collapsed-brand[data-astro-cid-ynf3rr4n]{text-align:center;padding:.5rem;display:none}.sidebar[data-astro-cid-ynf3rr4n]{background:var(--color-surface-dark);border-right:1px solid var(--color-border);z-index:100;width:260px;height:calc(100vh - 46px);padding:1.5rem 1rem;transition:width .2s,padding .2s;position:sticky;top:46px;overflow-y:auto}.sidebar-header[data-astro-cid-ynf3rr4n]{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;display:flex}.sidebar-header[data-astro-cid-ynf3rr4n] h2[data-astro-cid-ynf3rr4n]{color:#faf5e8;margin:0;font-size:1.125rem}.sidebar-header[data-astro-cid-ynf3rr4n] .badge[data-astro-cid-ynf3rr4n]{color:#faf5e8;background:#ffffff1a}.sidebar-nav[data-astro-cid-ynf3rr4n]{flex-direction:column;gap:.25rem;display:flex}.nav-item[data-astro-cid-ynf3rr4n]{border-radius:var(--radius-md);color:#ffffffb3;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item[data-astro-cid-ynf3rr4n]:hover{color:#fff;background:#ffffff1a}.nav-item[data-astro-cid-ynf3rr4n].active{background:var(--color-primary);color:var(--color-ink)}.nav-item[data-astro-cid-ynf3rr4n] svg[data-astro-cid-ynf3rr4n]{flex-shrink:0;width:20px;height:20px}.nav-submenu[data-astro-cid-ynf3rr4n]{border-left:2px solid var(--color-primary);margin:.25rem 0 .5rem 1.5rem;padding-left:.75rem}.nav-subitem[data-astro-cid-ynf3rr4n]{border-radius:var(--radius-sm);color:#fff9;padding:.375rem .75rem;font-size:.8125rem;text-decoration:none;transition:all .15s;display:block}.nav-subitem[data-astro-cid-ynf3rr4n]:hover{color:#fff;background:#ffffff1a}.nav-subitem[data-astro-cid-ynf3rr4n].active{color:var(--color-primary);font-weight:600}.screen-options-bar[data-astro-cid-ynf3rr4n]{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.75rem 1.5rem;display:flex}.content-wrapper[data-astro-cid-ynf3rr4n]{background:var(--color-background);min-height:calc(100vh - 94px);padding:1.5rem}.main-header[data-astro-cid-ynf3rr4n]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.main-header[data-astro-cid-ynf3rr4n] h1[data-astro-cid-ynf3rr4n]{color:var(--color-text);font-size:1.5rem;font-weight:600}.header-actions[data-astro-cid-ynf3rr4n]{align-items:center;gap:.75rem;display:flex}.content[data-astro-cid-ynf3rr4n]{max-width:1200px;margin:0 auto}.dashboard-widgets-area[data-astro-cid-ynf3rr4n]{margin-bottom:2rem}.dashboard-widgets-grid[data-astro-cid-ynf3rr4n]{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}@media (width<=1200px){.dashboard-widgets-grid[data-astro-cid-ynf3rr4n]{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard-widgets-grid[data-astro-cid-ynf3rr4n]{grid-template-columns:1fr}}.admin-footer[data-astro-cid-ynf3rr4n]{background:var(--color-surface);border-top:1px solid var(--color-border);z-index:1000;height:48px;color:var(--color-muted);justify-content:space-between;align-items:center;padding:0 1.5rem;font-size:.75rem;display:flex;position:fixed;bottom:0;left:0;right:0}.footer-content[data-astro-cid-ynf3rr4n]{justify-content:space-between;align-items:center;gap:1.5rem;width:100%;max-width:1400px;margin:0 auto;display:flex}.footer-left[data-astro-cid-ynf3rr4n]{flex-direction:column;gap:.125rem;display:flex}.footer-version[data-astro-cid-ynf3rr4n]{color:var(--color-text);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.version-badge[data-astro-cid-ynf3rr4n]{background:var(--color-primary-soft);color:var(--color-primary-hover);border-radius:var(--radius-sm);padding:.125rem .375rem;font-size:.6875rem;font-weight:700}.footer-copyright[data-astro-cid-ynf3rr4n]{color:var(--color-muted);font-size:.6875rem}.footer-links[data-astro-cid-ynf3rr4n]{gap:1.5rem;display:flex}.footer-links[data-astro-cid-ynf3rr4n] a[data-astro-cid-ynf3rr4n]{color:var(--color-muted);font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s}.footer-links[data-astro-cid-ynf3rr4n] a[data-astro-cid-ynf3rr4n]:hover{color:var(--color-primary)}.footer-right[data-astro-cid-ynf3rr4n]{text-align:right}.footer-powered[data-astro-cid-ynf3rr4n]{color:var(--color-muted);font-size:.6875rem}@media (width<=768px){.admin-footer[data-astro-cid-ynf3rr4n]{flex-direction:column;gap:.5rem;height:auto;padding:.75rem 1rem}.footer-content[data-astro-cid-ynf3rr4n]{flex-direction:column;gap:.5rem}.footer-links[data-astro-cid-ynf3rr4n]{flex-wrap:wrap;justify-content:center}}[data-astro-cid-ynf3rr4n][dir=rtl] .layout[data-astro-cid-ynf3rr4n]{grid-template-columns:1fr 260px}[data-astro-cid-ynf3rr4n][dir=rtl] body.sidebar-collapsed .layout[data-astro-cid-ynf3rr4n]{grid-template-columns:1fr 72px}[data-astro-cid-ynf3rr4n][dir=rtl] .sidebar[data-astro-cid-ynf3rr4n]{border-right:none;border-left:1px solid var(--color-border)}[data-astro-cid-ynf3rr4n][dir=rtl] body.sidebar-collapsed .sidebar[data-astro-cid-ynf3rr4n]{border-left:none}[data-astro-cid-ynf3rr4n][dir=rtl] .nav-submenu[data-astro-cid-ynf3rr4n]{border-left:none;border-right:1px solid var(--color-border);margin-left:0;margin-right:1.5rem;padding-left:0;padding-right:.75rem}[data-astro-cid-ynf3rr4n][dir=rtl] .screen-options-bar[data-astro-cid-ynf3rr4n]{justify-content:flex-start}
@@ -0,0 +1 @@
1
+ import{t as e}from"./api.DTNuyqvx.js";(async()=>{await e.isLoggedIn()||window.location.replace(`/login`)})(),document.getElementById(`logout-btn`)?.addEventListener(`click`,async()=>{try{await e.logout()}catch{}window.location.href=`/login`});try{localStorage.getItem(`sidebar-collapsed`)===`true`&&document.body.classList.add(`sidebar-collapsed`)}catch{}var t=e=>{if(e)for(let t of document.querySelectorAll(`[data-widget-panel]`)){let n=t.getAttribute(`data-widget-panel`);if(!n)continue;let r=t.closest(`astro-island`)??t;r.style.display=e[n]===!1?`none`:``}},n=null;try{n=JSON.parse(localStorage.getItem(`screen-options`)??`null`)}catch{n=null}t(n),window.addEventListener(`screen-options-change`,e=>{t(e.detail)});
@@ -0,0 +1,74 @@
1
+ import{S as e,i as t,o as n,p as r,r as i,u as a}from"./web.D1H9RxZL.js";import{t as o}from"./i18n.CLOpd2JA.js";import{t as s}from"./version.BAM_tCGw.js";var c=r(`<footer class=admin-footer role=contentinfo><div class=footer-content><div class=footer-left><p class=footer-version><span class=product-name>OkCMS</span><span class=version-badge>v<!$><!/></span></p><p class=footer-copyright></p></div><nav class=footer-links><a href=https://oktisworks.com target=_blank rel="noopener noreferrer"></a><a href=https://github.com/oktis-works/cms target=_blank rel="noopener noreferrer"></a><a href=https://docs.oktisworks.com target=_blank rel="noopener noreferrer"></a><a href=https://oktisworks.com/community target=_blank rel="noopener noreferrer"></a></nav><div class=footer-right><p class=footer-powered></p></div></div><style>
2
+ .admin-footer {
3
+ position: fixed;
4
+ bottom: 0;
5
+ left: 0;
6
+ right: 0;
7
+ height: 48px;
8
+ background: var(--color-surface);
9
+ border-top: 1px solid var(--color-border);
10
+ padding: 0 1.5rem;
11
+ z-index: 1000;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ font-size: 0.75rem;
16
+ color: var(--color-muted);
17
+ }
18
+
19
+ .footer-content {
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: space-between;
23
+ width: 100%;
24
+ max-width: 1400px;
25
+ margin: 0 auto;
26
+ gap: 1.5rem;
27
+ }
28
+
29
+ .footer-left { display: flex; flex-direction: column; gap: 0.125rem; }
30
+
31
+ .footer-version {
32
+ display: flex; align-items: center; gap: 0.5rem;
33
+ font-weight: 600; color: var(--color-text); font-size: 0.8125rem;
34
+ }
35
+
36
+ .version-badge {
37
+ background: var(--color-primary-soft);
38
+ color: var(--color-primary-hover);
39
+ padding: 0.125rem 0.375rem;
40
+ border-radius: var(--radius-sm);
41
+ font-size: 0.6875rem;
42
+ font-weight: 700;
43
+ }
44
+
45
+ .footer-copyright { font-size: 0.6875rem; color: var(--color-muted); }
46
+
47
+ .footer-links {
48
+ display: flex; gap: 1.5rem;
49
+ }
50
+
51
+ .footer-links a {
52
+ color: var(--color-muted);
53
+ font-size: 0.75rem;
54
+ font-weight: 500;
55
+ text-decoration: none;
56
+ transition: color 0.15s;
57
+ }
58
+
59
+ .footer-links a:hover { color: var(--color-primary); }
60
+
61
+ .footer-right { text-align: right; }
62
+ .footer-powered { font-size: 0.6875rem; color: var(--color-muted); }
63
+
64
+ @media (max-width: 768px) {
65
+ .admin-footer { flex-direction: column; height: auto; padding: 0.75rem 1rem; gap: 0.5rem; }
66
+ .footer-content { flex-direction: column; gap: 0.5rem; }
67
+ .footer-links { flex-wrap: wrap; justify-content: center; }
68
+ }
69
+
70
+ /* RTL adjustments */
71
+ [dir="rtl"] .footer-links { flex-direction: row-reverse; }
72
+ [dir="rtl"] .footer-right { text-align: left; }
73
+ [dir="rtl"] .footer-left { align-items: flex-end; }
74
+ `);function l(){let{t:r}=o(),l=s;return(()=>{var o=i(c),s=o.firstChild.firstChild,u=s.firstChild,d=u.firstChild.nextSibling,f=d.firstChild.nextSibling,[p,m]=t(f.nextSibling),h=u.nextSibling,g=s.nextSibling,_=g.firstChild,v=_.nextSibling,y=v.nextSibling,b=y.nextSibling,x=g.nextSibling.firstChild;return n(d,l,p,m),n(h,()=>r(`footer.copyright`)),n(_,()=>r(`footer.website`)),n(v,()=>r(`footer.github`)),n(y,()=>r(`footer.docs`)),n(b,()=>r(`footer.community`)),n(x,()=>r(`footer.poweredBy`)),e(()=>a(g,`aria-label`,r(`footer.links`))),o})()}export{l as Footer};
@@ -0,0 +1 @@
1
+ import{i as e,n as t,o as n,r}from"./src.Cgonpfb5.js";import{C as i,E as a,_ as o,b as s,i as c,o as l,p as u,r as d,s as f}from"./web.D1H9RxZL.js";import{t as p}from"./i18n.CLOpd2JA.js";import{t as m}from"./api.DTNuyqvx.js";var h=u(`<div class="notice notice--error">`),g=u(`<div class=notice>`),_=u(`<form><h3></h3><div class=form-grid></div><div class=media-details__actions>`),v=u(`<div class=general-settings><!$><!/><!$><!/><!$><!/>`),y=u(`<p class=muted>`);function b(){let{t:u}=p(),[b,x]=i({}),[S,C]=i(!1),[w,T]=i(``),[E,D]=i(``),[O,k]=i(!1),A=[{key:`siteTitle`,label:u(`settings.general.fields.siteTitle`),type:`text`,placeholder:u(`settings.general.fields.siteTitlePlaceholder`)},{key:`siteDescription`,label:u(`settings.general.fields.siteDescription`),type:`text`,placeholder:u(`settings.general.fields.siteDescriptionPlaceholder`)},{key:`language`,label:u(`settings.general.fields.language`),type:`select`,options:[`pt-BR`,`en-US`,`es-ES`]},{key:`timezone`,label:u(`settings.general.fields.timezone`),type:`text`,placeholder:u(`settings.general.fields.timezonePlaceholder`)}];a(async()=>{try{let e=await m.getSettings(`general`),t={};for(let n of e)t[n.key]=typeof n.value==`string`?n.value:JSON.stringify(n.value??``);for(let e of A)t[e.key]===void 0&&(t[e.key]=``);x(t),C(!0)}catch(e){T(e instanceof Error?e.message:String(e))}});let j=async e=>{e.preventDefault(),T(``),D(``),k(!0);try{let e=await m.getSettings(`general`),t=new Map(e.map(e=>[e.key,e]));await m.updateSettings(A.map(e=>{let n=t.get(e.key);return{key:e.key,value:b()[e.key]??``,group:n?.group??`general`,type:n?.type??`string`}})),D(u(`settings.general.saved`))}catch(e){T(e instanceof Error?e.message:String(e))}finally{k(!1)}};return(()=>{var i=d(v),a=i.firstChild,[p,m]=c(a.nextSibling),C=p.nextSibling,[T,D]=c(C.nextSibling),k=T.nextSibling,[M,N]=c(k.nextSibling);return l(i,s(o,{get when(){return w()},get children(){var e=d(h);return l(e,w),e}}),p,m),l(i,s(o,{get when(){return E()},get children(){var e=d(g);return l(e,E),e}}),T,D),l(i,s(o,{get when(){return S()},get fallback(){return(()=>{var e=d(y);return l(e,()=>u(`settings.general.loading`)),e})()},get children(){return s(r,{get children(){var r=d(_),i=r.firstChild,a=i.nextSibling,o=a.nextSibling;return r.addEventListener(`submit`,j),l(i,()=>u(`settings.general.title`)),l(a,()=>A.map(t=>t.type===`select`?s(n,{get name(){return t.key},get label(){return t.label},get value(){return b()[t.key]??``},get options(){return f(()=>`options`in t)()?t.options.map(e=>({value:e,label:e})):[]},onChange:e=>x({...b(),[t.key]:e})}):s(e,{get name(){return t.key},get label(){return t.label},get placeholder(){return f(()=>`placeholder`in t)()?t.placeholder:``},get value(){return b()[t.key]??``},onInput:e=>x({...b(),[t.key]:e})}))),l(o,s(t,{variant:`primary`,type:`submit`,get disabled(){return O()},get loading(){return O()},get children(){return u(`settings.general.save`)}})),r}})}}),M,N),i})()}export{b as GeneralSettings};