@opengis/cms 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -3
- package/dist/assets/AddUser-CX-McfRW.js +1 -0
- package/dist/assets/ApiKeys-DSv1exYv.js +16 -0
- package/dist/assets/Appearance-DDtOUvCV.js +6 -0
- package/dist/assets/ArticlesPage-D6B3cZsl.js +6 -0
- package/dist/assets/BuilderPage-CCeSMVWe.js +1 -0
- package/dist/assets/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-DVYVfYF4.js +1 -0
- package/dist/assets/CollectionsPage-CHk8Cn5k.js +1 -0
- package/dist/assets/Dashboard-Bs7sXO6h.js +11 -0
- package/dist/assets/EditCollectionPage-gPuLJrN8.js +41 -0
- package/dist/assets/EmailPage-DhlWsPxk.js +1 -0
- package/dist/assets/EmptyData-Ct-xQv_N.js +1 -0
- package/dist/assets/FeedbackPage-DtaOncVv.js +1 -0
- package/dist/assets/Logs-CZ5klHNK.js +1 -0
- package/dist/assets/MediaBreadcrumb-BpOxt5PK.js +11 -0
- package/dist/assets/MediaPage-DqRcZFlO.js +16 -0
- package/dist/assets/MenuAddPage-BLcoVgrS.js +1 -0
- package/dist/assets/MenuItemPage-B2otXqkz.js +20 -0
- package/dist/assets/MenuPage-C00m4Fc_.js +1 -0
- package/dist/assets/MonacoEditor.vue_vue_type_script_setup_true_lang-CjoEsC67.js +3 -0
- package/dist/assets/PermissionsPage-LtqcCJ14.js +1 -0
- package/dist/assets/Settings-BHH6RoBP.js +1 -0
- package/dist/assets/SettingsTable-CY5pZx1z.js +1 -0
- package/dist/assets/SettingsTitle-t4WJBFxZ.js +1 -0
- package/dist/assets/SingletonsPage-Bn2Ypjhs.js +6 -0
- package/dist/assets/TagsPage-DAiakEth.js +1 -0
- package/dist/assets/UniversalTable.vue_vue_type_script_setup_true_lang-BQ5m4aZd.js +11 -0
- package/dist/assets/UniversalTablePagination.vue_vue_type_script_setup_true_lang-DppVBws0.js +1 -0
- package/dist/assets/Users-CMH5j0db.js +1 -0
- package/dist/assets/UsersPage-CDGreEib.js +1 -0
- package/dist/assets/arrow-up-DCe0WsrM.js +16 -0
- package/dist/assets/{calendar-hsWc4yH-.js → calendar-o9t4MkD2.js} +1 -1
- package/dist/assets/chevron-left-WFftVS9c.js +6 -0
- package/dist/assets/chevron-right-BiiSb3Be.js +6 -0
- package/dist/assets/contentForm-unZQhjCu.js +6 -0
- package/dist/assets/en-BDx3Svx8.js +1 -0
- package/dist/assets/eye-Dijywc6g.js +6 -0
- package/dist/assets/file-B_duymIT.js +6 -0
- package/dist/assets/general-CkN_0qIV.js +1 -0
- package/dist/assets/index-BIp7eSXk.js +1 -0
- package/dist/assets/index-DCW2e4Az.js +9 -0
- package/dist/assets/index-DGweaj24.js +1 -0
- package/dist/assets/index-W-qQIppj-BDlsxaGB.js +1 -0
- package/dist/assets/index-W-qQIppj-BsopI3Hz-BIZR-dhy.js +1 -0
- package/dist/assets/index-oQz9FOqL.css +1 -0
- package/dist/assets/index-yMJAVBXk.js +290 -0
- package/dist/assets/list-CXRbSNky.js +6 -0
- package/dist/assets/pencil-CwnPP4IJ.js +6 -0
- package/dist/assets/{plus-D9etvrM2.js → plus-DLR44m6p.js} +1 -1
- package/dist/assets/save-FeDrOUOd.js +6 -0
- package/dist/assets/{search-BI-hqhq6.js → search-C4-fHihx.js} +1 -1
- package/dist/assets/{square-pen-61CkyXzK.js → square-pen-xVs4e8Yb.js} +1 -1
- package/dist/assets/{trash-2-CJSl_r88.js → trash-2-BGXMNU3d.js} +1 -1
- package/dist/assets/uk-BA7DIKEL.js +1 -0
- package/dist/assets/useDebounce-DFq3rxAW.js +1 -0
- package/dist/assets/vs-form-reletion-link-C-xrdHDl.js +20 -0
- package/dist/assets/vs-form-reletion-link-bk-9ZkDH.css +1 -0
- package/dist/assets/vue.-sixQ7xP-CUPNuJcq.js +1 -0
- package/dist/assets/vuedraggable.umd-W_2WTF6i.js +14 -0
- package/dist/assets/{x-BNquQe5y.js → x-D2t-wfBe.js} +1 -1
- package/dist/index.html +14 -9
- package/module/cms/card/cms.content.table/index.yml +17 -0
- package/module/cms/card/cms.content.table/main_info.hbs +26 -0
- package/module/cms/card/cms.menu.table/content_info.hbs +16 -0
- package/module/cms/card/cms.menu.table/index.yml +18 -0
- package/module/cms/card/cms.menu.table/main_info.hbs +22 -0
- package/module/cms/card/cms.settings.table/index.yml +13 -0
- package/module/cms/card/cms.settings.table/main_info.hbs +20 -0
- package/module/cms/cls/content.status.json +18 -0
- package/module/cms/cls/user_type.json +10 -0
- package/module/cms/form/admin.users.form.json +78 -0
- package/module/cms/form/cms.content.form.json +79 -0
- package/module/cms/form/cms.menu.form.json +69 -0
- package/module/cms/form/cms.settings.form.json +32 -0
- package/module/cms/menu.json +24 -0
- package/module/cms/router.js +154 -0
- package/module/cms/select/cms.page_type.sql +2 -0
- package/module/cms/select/collection.sql +1 -0
- package/module/cms/select/locale.sql +17 -0
- package/module/cms/select/news_tag_id.sql +12 -0
- package/module/cms/select/tag_id.sql +1 -0
- package/module/cms/table/admin.users.table.json +54 -0
- package/module/cms/table/cms.content.table.json +106 -0
- package/module/cms/table/cms.menu.table.json +73 -0
- package/module/cms/table/cms.settings.table.json +57 -0
- package/module/cms/table/collection.default.table.json +102 -0
- package/module/cms/table/single.default.table.json +115 -0
- package/package.json +36 -31
- package/plugin.js +63 -23
- package/server/app.js +20 -3
- package/server/functions/getDraftKey.js +22 -0
- package/server/index.js +2 -3
- package/server/migrations/fixes.sql +124 -0
- package/server/migrations/site.sql +338 -249
- package/server/plugins/adminHook.js +2 -2
- package/server/plugins/hook.js +53 -61
- package/server/plugins/vite.js +5 -5
- package/server/routes/cms/controllers/cmsStat.js +56 -0
- package/server/routes/cms/controllers/cmsSuggest.js +58 -0
- package/server/routes/cms/controllers/deleteContent.js +114 -59
- package/server/routes/cms/controllers/deleteMedia.js +75 -46
- package/server/routes/cms/controllers/downloadMedia.js +48 -48
- package/server/routes/cms/controllers/getContent.js +110 -95
- package/server/routes/cms/controllers/getContentBySlug.js +95 -0
- package/server/routes/cms/controllers/getPermissions.js +15 -15
- package/server/routes/cms/controllers/insertContent.js +218 -68
- package/server/routes/cms/controllers/listMedia.js +93 -72
- package/server/routes/cms/controllers/metadataMedia.js +38 -37
- package/server/routes/cms/controllers/properties.get.js +53 -0
- package/server/routes/cms/controllers/properties.post.js +99 -0
- package/server/routes/cms/controllers/searchContent.js +205 -0
- package/server/routes/cms/controllers/setPermissions.js +49 -49
- package/server/routes/cms/controllers/translate.js +90 -0
- package/server/routes/cms/controllers/updateContent.js +238 -111
- package/server/routes/cms/controllers/uploadMedia.js +78 -65
- package/server/routes/cms/index.mjs +81 -12
- package/server/routes/cms/utils/additionalData.js +36 -0
- package/server/routes/cms/utils/getCollection.js +82 -0
- package/server/routes/cms/utils/getSingle.js +188 -0
- package/server/routes/cms/utils/insertContentLocalization.js +87 -0
- package/server/routes/cms/utils/requestTranslation.js +85 -0
- package/server/routes/cms/utils/updateLocalization.js +48 -0
- package/server/routes/cmsSpace/controllers/deleteSpace.js +26 -0
- package/server/routes/cmsSpace/controllers/getSpaces.js +28 -0
- package/server/routes/cmsSpace/controllers/insertSpace.js +22 -0
- package/server/routes/cmsSpace/controllers/updateSpace.js +24 -0
- package/server/routes/cmsSpace/index.mjs +20 -0
- package/server/routes/contentType/controllers/addContentType.js +162 -0
- package/server/routes/contentType/controllers/contentTypeList.js +54 -0
- package/server/routes/contentType/controllers/delContentType.js +75 -0
- package/server/routes/contentType/controllers/editContentType.js +61 -0
- package/server/routes/contentType/controllers/getContentType.js +37 -0
- package/server/routes/contentType/index.mjs +29 -19
- package/server/routes/contentType/utils/updateContents.js +29 -0
- package/server/routes/contentType/utils/updateCustomContentTable.js +56 -0
- package/server/routes/feedback/controllers/email.list.js +25 -0
- package/server/routes/feedback/controllers/feedback.js +49 -0
- package/server/routes/feedback/controllers/feedback.list.js +38 -0
- package/server/routes/feedback/controllers/news.subscriptions.js +44 -0
- package/server/routes/feedback/index.mjs +72 -0
- package/server/routes/logs/controllers/export.user.logs.js +78 -0
- package/server/routes/logs/controllers/user.logs.js +45 -0
- package/server/routes/logs/index.mjs +9 -0
- package/server/routes/menu/controllers/addMenu.js +38 -0
- package/server/routes/menu/controllers/delMenu.js +32 -0
- package/server/routes/menu/controllers/editMenu.js +42 -0
- package/server/routes/menu/controllers/getMenu.js +43 -0
- package/server/routes/menu/index.mjs +13 -0
- package/server/routes/migration/controllers/collectionToCustom.js +137 -0
- package/server/routes/migration/index.mjs +8 -0
- package/server/routes/tags/controllers/add.tags.js +25 -0
- package/server/routes/tags/controllers/del.tags.js +20 -0
- package/server/routes/tags/controllers/edit.tags.js +26 -0
- package/server/routes/tags/controllers/get.tags.js +16 -0
- package/server/routes/tags/index.mjs +14 -0
- package/server/templates/page/login.html +73 -5
- package/server/templates/select/core.user_mentioned.sql +2 -0
- package/src/index.ts +122 -0
- package/dist/assets/ArticlesPage-BveM4q3g.js +0 -11
- package/dist/assets/CollectionsPage-D5td-UBm.js +0 -1
- package/dist/assets/ContentBlock.vue_vue_type_script_setup_true_lang-BwF6D-yB.js +0 -30
- package/dist/assets/CreateCollectionPage-Cu0RW5ui.js +0 -76
- package/dist/assets/Dashboard-faSjwmB8.js +0 -11
- package/dist/assets/EditCollectionPage-K5oPPzCd.js +0 -1
- package/dist/assets/MediaPage-BoW3aWgN.js +0 -1
- package/dist/assets/PermissionsPage-DGy5fha2.js +0 -1
- package/dist/assets/SingletonsPage-C1X2xkQE.js +0 -1
- package/dist/assets/UniversalTable.vue_vue_type_script_setup_true_lang-DUqfWJcy.js +0 -6
- package/dist/assets/contentForm-DMVC4vho.js +0 -1
- package/dist/assets/database-BTxZQzYy.js +0 -6
- package/dist/assets/index-9GY17iSP.css +0 -1
- package/dist/assets/index-DYyZmLWO.js +0 -2138
- package/dist/assets/index-xsH4HHeE.js +0 -6
- package/dist/assets/save-C2B6th9J.js +0 -11
- package/dist/assets/settings-DbyDiH2g.js +0 -6
- package/dist/assets/vue.-sixQ7xP-DwXf3zRn.js +0 -1
- package/dist/assets/x-circle-C3q70RMH.js +0 -16
- package/server/routes/contentType/controllers/cms.type.delete.js +0 -22
- package/server/routes/contentType/controllers/cms.type.get.js +0 -22
- package/server/routes/contentType/controllers/cms.type.list.js +0 -25
- package/server/routes/contentType/controllers/cms.type.post.js +0 -22
- package/server/routes/contentType/controllers/cms.type.put.js +0 -24
- package/server/routes/contentType/utils/builderCache.js +0 -58
- package/server/routes/fileContent/data/deleteContent.js +0 -34
- package/server/routes/fileContent/data/deleteMedia.js +0 -28
- package/server/routes/fileContent/data/downloadMedia.js +0 -41
- package/server/routes/fileContent/data/getContent.js +0 -32
- package/server/routes/fileContent/data/insertContent.js +0 -37
- package/server/routes/fileContent/data/listMedia.js +0 -47
- package/server/routes/fileContent/data/metadataMedia.js +0 -38
- package/server/routes/fileContent/data/updateContent.js +0 -40
- package/server/routes/fileContent/data/uploadMedia.js +0 -49
- package/server/routes/fileContent/index.mjs +0 -54
- package/server/routes/fileContent/type/contentTypeList.js +0 -7
- package/server/routes/fileContent/type/createContentType.js +0 -31
- package/server/routes/fileContent/type/deleteContentType.js +0 -29
- package/server/routes/fileContent/type/getContentType.js +0 -15
- package/server/routes/fileContent/type/updateContentType.js +0 -40
- package/server/routes/fileContent/utils/astroBuilderCache.js +0 -47
- package/server/routes/fileContent/utils/contentDir.js +0 -12
- package/server/routes/fileContent/utils/contentTypeExists.js +0 -15
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{d as Re}from"./vuedraggable.umd-W_2WTF6i.js";import{_ as Le,o as w,a as F,s as Me,d as D,m as k,g as Z,t as b,v as B,h as O,y as Y,e as y,f as _,b as v,B as Ue,C as De,Y as te,Z as Ye,n as P,u as V,z as Be,w as j,N as ne,r as Pe,E as $e,D as me,$ as He,j as Ve,A as qe,p as je,P as Ke,H as Ge,l as Qe,J as ze}from"./index-yMJAVBXk.js";import{P as We}from"./pencil-CwnPP4IJ.js";import{T as Ze}from"./trash-2-BGXMNU3d.js";import{X as Xe}from"./x-D2t-wfBe.js";import{Z as Je,J as er,y as I}from"./index-DGweaj24.js";import{l as X,Q as ve}from"./index-DCW2e4Az.js";import{_ as he}from"./MonacoEditor.vue_vue_type_script_setup_true_lang-CjoEsC67.js";import{P as rr}from"./plus-DLR44m6p.js";import{S as tr}from"./save-FeDrOUOd.js";const nr={},ir={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"};function lr(e,r){return w(),F("svg",ir,[...r[0]||(r[0]=[Me('<circle cx="9" cy="12" r="1"></circle><circle cx="9" cy="5" r="1"></circle><circle cx="9" cy="19" r="1"></circle><circle cx="15" cy="12" r="1"></circle><circle cx="15" cy="5" r="1"></circle><circle cx="15" cy="19" r="1"></circle>',6)])])}const ar=Le(nr,[["render",lr]]),ur={key:0,class:"p-3 flex items-center gap-x-3 cursor-grab bg-gray-100 border border-gray-300 rounded-lg font-medium text-sm text-gray-800 dark:bg-neutral-900 dark:border-neutral-700 dark:text-neutral-200"},or={key:0,class:"text-xs text-gray-500 dark:text-neutral-400 ml-2"},sr={key:1,class:"p-3 flex items-center gap-x-2 bg-gray-100 border border-gray-300 rounded-lg dark:bg-neutral-900 dark:border-neutral-700"},cr={class:"text-sm font-medium text-gray-800 dark:text-neutral-200 shrink-0"},fr=D({__name:"MenuItem",props:{title:{},value:{}},emits:["delete","update:value"],setup(e,{emit:r}){const t=e,i=r,n=k(!1),a=k(""),l=()=>{typeof t.value=="string"&&(a.value=t.value,n.value=!0)},u=()=>{typeof t.value=="string"&&(i("update:value",a.value),n.value=!1)},o=()=>{n.value=!1,a.value=""};return(s,d)=>(w(),F("div",{class:P([{"space-y-1":typeof s.value!="string"},"dark:bg-transparent"])},[n.value?(w(),F("div",sr,[v("span",cr,b(s.title)+":",1),Ue(v("input",{"onUpdate:modelValue":d[1]||(d[1]=m=>a.value=m),onKeyup:[te(u,["enter"]),te(o,["esc"])],onBlur:u,class:"flex-1 px-2 py-1 text-sm border border-gray-300 rounded dark:bg-neutral-800 dark:border-neutral-600 dark:text-neutral-200 focus:outline-none focus:ring-2 focus:ring-blue-500",type:"text",placeholder:"/link"},null,544),[[De,a.value]]),v("button",{onClick:Y(u,["stop"]),class:"shrink-0 p-1 text-green-600 dark:text-green-400 hover:bg-green-50 dark:hover:bg-green-900/20 rounded",title:"Save"},[_(y(Ye),{class:"size-4"})]),v("button",{onClick:Y(o,["stop"]),class:"shrink-0 p-1 text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20 rounded",title:"Cancel"},[_(y(Xe),{class:"size-4"})])])):(w(),F("div",ur,[Z(b(s.title)+" ",1),typeof s.value=="string"?(w(),F("span",or,b(s.value),1)):B("",!0),typeof s.value=="string"?(w(),O(y(We),{key:1,class:"shrink-0 size-4 ml-auto text-gray-500 dark:text-neutral-500 cursor-pointer hover:text-blue-600 dark:hover:text-blue-400",onClick:Y(l,["stop"])})):B("",!0),_(y(Ze),{class:"shrink-0 size-4 text-gray-500 dark:text-neutral-500 cursor-pointer hover:text-red-600 dark:hover:text-red-400",onClick:d[0]||(d[0]=Y(m=>i("delete"),["stop"]))}),_(ar,{class:"shrink-0 size-4 cursor-pointer text-gray-500 dark:text-neutral-500"})]))],2))}}),dr={class:"space-y-1"},pr=D({__name:"MenuList",props:{list:{type:Array,default:()=>[]},inside:{type:Boolean,default:!1}},emits:["update:list","delete:item"],setup(e,{emit:r}){const{t}=V(),i=e,n=r,a=k([]);Be(()=>i.list,d=>{a.value=d?[...d]:[]},{immediate:!0,deep:!0});const l=()=>{n("update:list",a.value)},u=d=>{Je({title:t("builder.deleteTitle"),message:t("builder.deleteObject"),type:"error",onConfirm:()=>{n("update:list",a.value),n("delete:item",d)}})},o=(d,m)=>{d.value=m,ne(()=>{a.value=[...a.value],n("update:list",a.value)})},s=(d,m)=>{d.children=m,ne(()=>{a.value=[...a.value],n("update:list",a.value)})};return(d,m)=>{const c=Pe("MenuList",!0);return w(),O(y(Re),{tag:"ul",list:a.value,group:{name:"nested",pull:!0,put:!0},"item-key":"id",class:P(["nested-sortable space-y-1",{"ps-5 dark:bg-transparent":e.inside}]),onChange:l,onEnd:l},{item:j(({element:p})=>[v("div",dr,[_(fr,{title:p.title,value:p.value,onDelete:f=>u(p),"onUpdate:value":f=>o(p,f)},null,8,["title","value","onDelete","onUpdate:value"]),Array.isArray(p.children)?(w(),O(c,{key:0,list:p.children,inside:!0,"onUpdate:list":f=>s(p,f),"onDelete:item":u},null,8,["list","onUpdate:list"])):B("",!0)])]),_:1},8,["list","class"])}}}),mr={class:"flex justify-end p-[20px] gap-[10px] border-t w-full"},vr=D({__name:"AddNewItemInTree",props:{isOpen:{type:Boolean,required:!0},isOpenModifiers:{}},emits:$e(["addNewItem"],["update:isOpen"]),setup(e,{emit:r}){const{t}=V(),i=me(e,"isOpen"),n=k({}),a=r,l=k({}),u={title:{type:"text",label:t("menu.form.name"),required:!0,placeholder:t("menu.form.name"),validators:["required"]},value:{type:"text",label:t("menu.form.value"),required:!0,placeholder:t("menu.form.value"),validators:["required"]}},o=async()=>{if(await n.value.validate()){I({type:"warning",title:t("common.actions.warning"),message:t("menu.createMenuFailed")});return}a("addNewItem",l.value),l.value={}};return(s,d)=>(w(),O(y(er),{teleport:"#modal",visible:i.value,title:s.$t("menu.createMenu"),template:"default",closeClickBack:!1,onClose:d[3]||(d[3]=m=>i.value=!1)},{footer:j(()=>[v("div",mr,[v("button",{class:"inline-flex items-center px-3 py-2 text-sm text-black duration-300 border border-gray-200 rounded-lg gap-x-2 whitespace-nowrap hover:bg-gray-100",onClick:d[2]||(d[2]=m=>{i.value=!1,l.value={}})},b(s.$t("common.actions.cancel")),1),v("button",{onClick:o,class:"py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-white bg-blue-500 rounded-lg !border-gray-200 hover:bg-blue-700 duration-300"},b(s.$t("common.actions.save")),1)])]),default:j(()=>[_(y(X),{form:n.value,"onUpdate:form":d[0]||(d[0]=m=>n.value=m),modelValue:l.value,"onUpdate:modelValue":d[1]||(d[1]=m=>l.value=m),schema:u},null,8,["form","modelValue"])]),_:1},8,["visible","title"]))}}),hr=D({__name:"MenuBody",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(e){ve["vs-input-monaco-editor"]=he;const{t:r}=V(),t=k(!1),i=k(null),n=me(e,"modelValue"),a=k({}),l=async c=>{try{if(await a.value.validate()){I({type:"warning",title:r("common.actions.warning"),message:r("menu.createMenuFailed")});return}t.value=!1,c.id=Math.random().toString(36).substr(2,9),c.children=[],n.value.items.unshift(c)}catch(p){console.log(p)}},u=k([{key:"name",title:r("common.title"),type:"text",placeholder:r("common.title"),required:!0,validators:["required"]},{key:"description",title:r("common.description"),type:"text",placeholder:r("common.description"),required:!0,validators:["required"]},{key:"locale",title:r("menu.form.language"),type:"select",placeholder:r("menu.form.language"),required:!0,options:[{text:"Ukrainian",id:"uk"},{text:"English",id:"en"}],validators:["required"]}]),o=c=>{let p=[];for(const f in c)typeof c[f]=="object"?p.push({title:f,value:"",id:Math.random().toString(36).substr(2,9),children:o(c[f])}):p.push({title:f,value:c[f],id:Math.random().toString(36).substr(2,9),children:[]});return p},s=c=>{n.value.items=c},d=c=>{m(n.value.items,c.id)};function m(c,p){for(let f=c.length-1;f>=0;f--){if(c[f].id===p)return c.splice(f,1),!0;if(c[f].children&&c[f].children.length&&m(c[f].children,p))return!0}return!1}return He(()=>{Array.isArray(n.value.items)||(n.value.items=o(n.value.items))}),(c,p)=>(w(),F(Ve,null,[_(y(X),{schema:u.value,modelValue:n.value,"onUpdate:modelValue":p[0]||(p[0]=f=>n.value=f),form:a.value,"onUpdate:form":p[1]||(p[1]=f=>a.value=f)},null,8,["schema","modelValue","form"]),v("button",{onClick:p[2]||(p[2]=f=>t.value=!0),class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium w-min ml-auto my-6 h-9 px-4 py-2 bg-blue-600 text-white shadow-md transition-all duration-200 transform hover:bg-blue-700 hover:shadow-lg hover:scale-105 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"},[_(y(rr),{class:"w-4 h-4 mr-2"}),Z(" "+b(c.$t("menu.createMenu")),1)]),_(vr,{isOpen:t.value,"onUpdate:isOpen":p[3]||(p[3]=f=>t.value=f),form:i.value,"onUpdate:form":p[4]||(p[4]=f=>i.value=f),onAddNewItem:l},null,8,["isOpen","form"]),_(pr,{class:"px-2",list:n.value.items,"onUpdate:list":s,"onDelete:item":d},null,8,["list"])],64))}});/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function ge(e){return typeof e>"u"||e===null}function gr(e){return typeof e=="object"&&e!==null}function xr(e){return Array.isArray(e)?e:ge(e)?[]:[e]}function yr(e,r){var t,i,n,a;if(r)for(a=Object.keys(r),t=0,i=a.length;t<i;t+=1)n=a[t],e[n]=r[n];return e}function wr(e,r){var t="",i;for(i=0;i<r;i+=1)t+=e;return t}function kr(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var _r=ge,Ar=gr,br=xr,Er=wr,Fr=kr,Cr=yr,C={isNothing:_r,isObject:Ar,toArray:br,repeat:Er,isNegativeZero:Fr,extend:Cr};function xe(e,r){var t="",i=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(t+='in "'+e.mark.name+'" '),t+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!r&&e.mark.snippet&&(t+=`
|
|
2
|
+
|
|
3
|
+
`+e.mark.snippet),i+" "+t):i}function R(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=xe(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}R.prototype=Object.create(Error.prototype);R.prototype.constructor=R;R.prototype.toString=function(r){return this.name+": "+xe(this,r)};var A=R,Sr=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Nr=["scalar","sequence","mapping"];function Or(e){var r={};return e!==null&&Object.keys(e).forEach(function(t){e[t].forEach(function(i){r[String(i)]=t})}),r}function Tr(e,r){if(r=r||{},Object.keys(r).forEach(function(t){if(Sr.indexOf(t)===-1)throw new A('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.options=r,this.tag=e,this.kind=r.kind||null,this.resolve=r.resolve||function(){return!0},this.construct=r.construct||function(t){return t},this.instanceOf=r.instanceOf||null,this.predicate=r.predicate||null,this.represent=r.represent||null,this.representName=r.representName||null,this.defaultStyle=r.defaultStyle||null,this.multi=r.multi||!1,this.styleAliases=Or(r.styleAliases||null),Nr.indexOf(this.kind)===-1)throw new A('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var g=Tr;function ie(e,r){var t=[];return e[r].forEach(function(i){var n=t.length;t.forEach(function(a,l){a.tag===i.tag&&a.kind===i.kind&&a.multi===i.multi&&(n=l)}),t[n]=i}),t}function Ir(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},r,t;function i(n){n.multi?(e.multi[n.kind].push(n),e.multi.fallback.push(n)):e[n.kind][n.tag]=e.fallback[n.tag]=n}for(r=0,t=arguments.length;r<t;r+=1)arguments[r].forEach(i);return e}function K(e){return this.extend(e)}K.prototype.extend=function(r){var t=[],i=[];if(r instanceof g)i.push(r);else if(Array.isArray(r))i=i.concat(r);else if(r&&(Array.isArray(r.implicit)||Array.isArray(r.explicit)))r.implicit&&(t=t.concat(r.implicit)),r.explicit&&(i=i.concat(r.explicit));else throw new A("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.forEach(function(a){if(!(a instanceof g))throw new A("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new A("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new A("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),i.forEach(function(a){if(!(a instanceof g))throw new A("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var n=Object.create(K.prototype);return n.implicit=(this.implicit||[]).concat(t),n.explicit=(this.explicit||[]).concat(i),n.compiledImplicit=ie(n,"implicit"),n.compiledExplicit=ie(n,"explicit"),n.compiledTypeMap=Ir(n.compiledImplicit,n.compiledExplicit),n};var Rr=K,Lr=new g("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Mr=new g("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Ur=new g("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Dr=new Rr({explicit:[Lr,Mr,Ur]});function Yr(e){if(e===null)return!0;var r=e.length;return r===1&&e==="~"||r===4&&(e==="null"||e==="Null"||e==="NULL")}function Br(){return null}function Pr(e){return e===null}var $r=new g("tag:yaml.org,2002:null",{kind:"scalar",resolve:Yr,construct:Br,predicate:Pr,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function Hr(e){if(e===null)return!1;var r=e.length;return r===4&&(e==="true"||e==="True"||e==="TRUE")||r===5&&(e==="false"||e==="False"||e==="FALSE")}function Vr(e){return e==="true"||e==="True"||e==="TRUE"}function qr(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var jr=new g("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Hr,construct:Vr,predicate:qr,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function Kr(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function Gr(e){return 48<=e&&e<=55}function Qr(e){return 48<=e&&e<=57}function zr(e){if(e===null)return!1;var r=e.length,t=0,i=!1,n;if(!r)return!1;if(n=e[t],(n==="-"||n==="+")&&(n=e[++t]),n==="0"){if(t+1===r)return!0;if(n=e[++t],n==="b"){for(t++;t<r;t++)if(n=e[t],n!=="_"){if(n!=="0"&&n!=="1")return!1;i=!0}return i&&n!=="_"}if(n==="x"){for(t++;t<r;t++)if(n=e[t],n!=="_"){if(!Kr(e.charCodeAt(t)))return!1;i=!0}return i&&n!=="_"}if(n==="o"){for(t++;t<r;t++)if(n=e[t],n!=="_"){if(!Gr(e.charCodeAt(t)))return!1;i=!0}return i&&n!=="_"}}if(n==="_")return!1;for(;t<r;t++)if(n=e[t],n!=="_"){if(!Qr(e.charCodeAt(t)))return!1;i=!0}return!(!i||n==="_")}function Wr(e){var r=e,t=1,i;if(r.indexOf("_")!==-1&&(r=r.replace(/_/g,"")),i=r[0],(i==="-"||i==="+")&&(i==="-"&&(t=-1),r=r.slice(1),i=r[0]),r==="0")return 0;if(i==="0"){if(r[1]==="b")return t*parseInt(r.slice(2),2);if(r[1]==="x")return t*parseInt(r.slice(2),16);if(r[1]==="o")return t*parseInt(r.slice(2),8)}return t*parseInt(r,10)}function Zr(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!C.isNegativeZero(e)}var Xr=new g("tag:yaml.org,2002:int",{kind:"scalar",resolve:zr,construct:Wr,predicate:Zr,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Jr=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function et(e){return!(e===null||!Jr.test(e)||e[e.length-1]==="_")}function rt(e){var r,t;return r=e.replace(/_/g,"").toLowerCase(),t=r[0]==="-"?-1:1,"+-".indexOf(r[0])>=0&&(r=r.slice(1)),r===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:r===".nan"?NaN:t*parseFloat(r,10)}var tt=/^[-+]?[0-9]+e/;function nt(e,r){var t;if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(C.isNegativeZero(e))return"-0.0";return t=e.toString(10),tt.test(t)?t.replace("e",".e"):t}function it(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||C.isNegativeZero(e))}var lt=new g("tag:yaml.org,2002:float",{kind:"scalar",resolve:et,construct:rt,predicate:it,represent:nt,defaultStyle:"lowercase"}),at=Dr.extend({implicit:[$r,jr,Xr,lt]}),ut=at,ye=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),we=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function ot(e){return e===null?!1:ye.exec(e)!==null||we.exec(e)!==null}function st(e){var r,t,i,n,a,l,u,o=0,s=null,d,m,c;if(r=ye.exec(e),r===null&&(r=we.exec(e)),r===null)throw new Error("Date resolve error");if(t=+r[1],i=+r[2]-1,n=+r[3],!r[4])return new Date(Date.UTC(t,i,n));if(a=+r[4],l=+r[5],u=+r[6],r[7]){for(o=r[7].slice(0,3);o.length<3;)o+="0";o=+o}return r[9]&&(d=+r[10],m=+(r[11]||0),s=(d*60+m)*6e4,r[9]==="-"&&(s=-s)),c=new Date(Date.UTC(t,i,n,a,l,u,o)),s&&c.setTime(c.getTime()-s),c}function ct(e){return e.toISOString()}var ft=new g("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:ot,construct:st,instanceOf:Date,represent:ct});function dt(e){return e==="<<"||e===null}var pt=new g("tag:yaml.org,2002:merge",{kind:"scalar",resolve:dt}),J=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
4
|
+
\r`;function mt(e){if(e===null)return!1;var r,t,i=0,n=e.length,a=J;for(t=0;t<n;t++)if(r=a.indexOf(e.charAt(t)),!(r>64)){if(r<0)return!1;i+=6}return i%8===0}function vt(e){var r,t,i=e.replace(/[\r\n=]/g,""),n=i.length,a=J,l=0,u=[];for(r=0;r<n;r++)r%4===0&&r&&(u.push(l>>16&255),u.push(l>>8&255),u.push(l&255)),l=l<<6|a.indexOf(i.charAt(r));return t=n%4*6,t===0?(u.push(l>>16&255),u.push(l>>8&255),u.push(l&255)):t===18?(u.push(l>>10&255),u.push(l>>2&255)):t===12&&u.push(l>>4&255),new Uint8Array(u)}function ht(e){var r="",t=0,i,n,a=e.length,l=J;for(i=0;i<a;i++)i%3===0&&i&&(r+=l[t>>18&63],r+=l[t>>12&63],r+=l[t>>6&63],r+=l[t&63]),t=(t<<8)+e[i];return n=a%3,n===0?(r+=l[t>>18&63],r+=l[t>>12&63],r+=l[t>>6&63],r+=l[t&63]):n===2?(r+=l[t>>10&63],r+=l[t>>4&63],r+=l[t<<2&63],r+=l[64]):n===1&&(r+=l[t>>2&63],r+=l[t<<4&63],r+=l[64],r+=l[64]),r}function gt(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var xt=new g("tag:yaml.org,2002:binary",{kind:"scalar",resolve:mt,construct:vt,predicate:gt,represent:ht}),yt=Object.prototype.hasOwnProperty,wt=Object.prototype.toString;function kt(e){if(e===null)return!0;var r=[],t,i,n,a,l,u=e;for(t=0,i=u.length;t<i;t+=1){if(n=u[t],l=!1,wt.call(n)!=="[object Object]")return!1;for(a in n)if(yt.call(n,a))if(!l)l=!0;else return!1;if(!l)return!1;if(r.indexOf(a)===-1)r.push(a);else return!1}return!0}function _t(e){return e!==null?e:[]}var At=new g("tag:yaml.org,2002:omap",{kind:"sequence",resolve:kt,construct:_t}),bt=Object.prototype.toString;function Et(e){if(e===null)return!0;var r,t,i,n,a,l=e;for(a=new Array(l.length),r=0,t=l.length;r<t;r+=1){if(i=l[r],bt.call(i)!=="[object Object]"||(n=Object.keys(i),n.length!==1))return!1;a[r]=[n[0],i[n[0]]]}return!0}function Ft(e){if(e===null)return[];var r,t,i,n,a,l=e;for(a=new Array(l.length),r=0,t=l.length;r<t;r+=1)i=l[r],n=Object.keys(i),a[r]=[n[0],i[n[0]]];return a}var Ct=new g("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Et,construct:Ft}),St=Object.prototype.hasOwnProperty;function Nt(e){if(e===null)return!0;var r,t=e;for(r in t)if(St.call(t,r)&&t[r]!==null)return!1;return!0}function Ot(e){return e!==null?e:{}}var Tt=new g("tag:yaml.org,2002:set",{kind:"mapping",resolve:Nt,construct:Ot}),It=ut.extend({implicit:[ft,pt],explicit:[xt,At,Ct,Tt]});function le(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
5
|
+
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}var Rt=new Array(256),Lt=new Array(256);for(var S=0;S<256;S++)Rt[S]=le(S)?1:0,Lt[S]=le(S);var ke=Object.prototype.toString,_e=Object.prototype.hasOwnProperty,ee=65279,Mt=9,L=10,Ut=13,Dt=32,Yt=33,Bt=34,G=35,Pt=37,$t=38,Ht=39,Vt=42,Ae=44,qt=45,$=58,jt=61,Kt=62,Gt=63,Qt=64,be=91,Ee=93,zt=96,Fe=123,Wt=124,Ce=125,x={};x[0]="\\0";x[7]="\\a";x[8]="\\b";x[9]="\\t";x[10]="\\n";x[11]="\\v";x[12]="\\f";x[13]="\\r";x[27]="\\e";x[34]='\\"';x[92]="\\\\";x[133]="\\N";x[160]="\\_";x[8232]="\\L";x[8233]="\\P";var Zt=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Xt=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Jt(e,r){var t,i,n,a,l,u,o;if(r===null)return{};for(t={},i=Object.keys(r),n=0,a=i.length;n<a;n+=1)l=i[n],u=String(r[l]),l.slice(0,2)==="!!"&&(l="tag:yaml.org,2002:"+l.slice(2)),o=e.compiledTypeMap.fallback[l],o&&_e.call(o.styleAliases,u)&&(u=o.styleAliases[u]),t[l]=u;return t}function en(e){var r,t,i;if(r=e.toString(16).toUpperCase(),e<=255)t="x",i=2;else if(e<=65535)t="u",i=4;else if(e<=4294967295)t="U",i=8;else throw new A("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+t+C.repeat("0",i-r.length)+r}var rn=1,M=2;function tn(e){this.schema=e.schema||It,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=C.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=Jt(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?M:rn,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function ae(e,r){for(var t=C.repeat(" ",r),i=0,n=-1,a="",l,u=e.length;i<u;)n=e.indexOf(`
|
|
6
|
+
`,i),n===-1?(l=e.slice(i),i=u):(l=e.slice(i,n+1),i=n+1),l.length&&l!==`
|
|
7
|
+
`&&(a+=t),a+=l;return a}function Q(e,r){return`
|
|
8
|
+
`+C.repeat(" ",e.indent*r)}function nn(e,r){var t,i,n;for(t=0,i=e.implicitTypes.length;t<i;t+=1)if(n=e.implicitTypes[t],n.resolve(r))return!0;return!1}function H(e){return e===Dt||e===Mt}function U(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==ee||65536<=e&&e<=1114111}function ue(e){return U(e)&&e!==ee&&e!==Ut&&e!==L}function oe(e,r,t){var i=ue(e),n=i&&!H(e);return(t?i:i&&e!==Ae&&e!==be&&e!==Ee&&e!==Fe&&e!==Ce)&&e!==G&&!(r===$&&!n)||ue(r)&&!H(r)&&e===G||r===$&&n}function ln(e){return U(e)&&e!==ee&&!H(e)&&e!==qt&&e!==Gt&&e!==$&&e!==Ae&&e!==be&&e!==Ee&&e!==Fe&&e!==Ce&&e!==G&&e!==$t&&e!==Vt&&e!==Yt&&e!==Wt&&e!==jt&&e!==Kt&&e!==Ht&&e!==Bt&&e!==Pt&&e!==Qt&&e!==zt}function an(e){return!H(e)&&e!==$}function T(e,r){var t=e.charCodeAt(r),i;return t>=55296&&t<=56319&&r+1<e.length&&(i=e.charCodeAt(r+1),i>=56320&&i<=57343)?(t-55296)*1024+i-56320+65536:t}function Se(e){var r=/^\n* /;return r.test(e)}var Ne=1,z=2,Oe=3,Te=4,N=5;function un(e,r,t,i,n,a,l,u){var o,s=0,d=null,m=!1,c=!1,p=i!==-1,f=-1,h=ln(T(e,0))&&an(T(e,e.length-1));if(r||l)for(o=0;o<e.length;s>=65536?o+=2:o++){if(s=T(e,o),!U(s))return N;h=h&&oe(s,d,u),d=s}else{for(o=0;o<e.length;s>=65536?o+=2:o++){if(s=T(e,o),s===L)m=!0,p&&(c=c||o-f-1>i&&e[f+1]!==" ",f=o);else if(!U(s))return N;h=h&&oe(s,d,u),d=s}c=c||p&&o-f-1>i&&e[f+1]!==" "}return!m&&!c?h&&!l&&!n(e)?Ne:a===M?N:z:t>9&&Se(e)?N:l?a===M?N:z:c?Te:Oe}function on(e,r,t,i,n){e.dump=function(){if(r.length===0)return e.quotingType===M?'""':"''";if(!e.noCompatMode&&(Zt.indexOf(r)!==-1||Xt.test(r)))return e.quotingType===M?'"'+r+'"':"'"+r+"'";var a=e.indent*Math.max(1,t),l=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a),u=i||e.flowLevel>-1&&t>=e.flowLevel;function o(s){return nn(e,s)}switch(un(r,u,e.indent,l,o,e.quotingType,e.forceQuotes&&!i,n)){case Ne:return r;case z:return"'"+r.replace(/'/g,"''")+"'";case Oe:return"|"+se(r,e.indent)+ce(ae(r,a));case Te:return">"+se(r,e.indent)+ce(ae(sn(r,l),a));case N:return'"'+cn(r)+'"';default:throw new A("impossible error: invalid scalar style")}}()}function se(e,r){var t=Se(e)?String(r):"",i=e[e.length-1]===`
|
|
9
|
+
`,n=i&&(e[e.length-2]===`
|
|
10
|
+
`||e===`
|
|
11
|
+
`),a=n?"+":i?"":"-";return t+a+`
|
|
12
|
+
`}function ce(e){return e[e.length-1]===`
|
|
13
|
+
`?e.slice(0,-1):e}function sn(e,r){for(var t=/(\n+)([^\n]*)/g,i=function(){var s=e.indexOf(`
|
|
14
|
+
`);return s=s!==-1?s:e.length,t.lastIndex=s,fe(e.slice(0,s),r)}(),n=e[0]===`
|
|
15
|
+
`||e[0]===" ",a,l;l=t.exec(e);){var u=l[1],o=l[2];a=o[0]===" ",i+=u+(!n&&!a&&o!==""?`
|
|
16
|
+
`:"")+fe(o,r),n=a}return i}function fe(e,r){if(e===""||e[0]===" ")return e;for(var t=/ [^ ]/g,i,n=0,a,l=0,u=0,o="";i=t.exec(e);)u=i.index,u-n>r&&(a=l>n?l:u,o+=`
|
|
17
|
+
`+e.slice(n,a),n=a+1),l=u;return o+=`
|
|
18
|
+
`,e.length-n>r&&l>n?o+=e.slice(n,l)+`
|
|
19
|
+
`+e.slice(l+1):o+=e.slice(n),o.slice(1)}function cn(e){for(var r="",t=0,i,n=0;n<e.length;t>=65536?n+=2:n++)t=T(e,n),i=x[t],!i&&U(t)?(r+=e[n],t>=65536&&(r+=e[n+1])):r+=i||en(t);return r}function fn(e,r,t){var i="",n=e.tag,a,l,u;for(a=0,l=t.length;a<l;a+=1)u=t[a],e.replacer&&(u=e.replacer.call(t,String(a),u)),(E(e,r,u,!1,!1)||typeof u>"u"&&E(e,r,null,!1,!1))&&(i!==""&&(i+=","+(e.condenseFlow?"":" ")),i+=e.dump);e.tag=n,e.dump="["+i+"]"}function de(e,r,t,i){var n="",a=e.tag,l,u,o;for(l=0,u=t.length;l<u;l+=1)o=t[l],e.replacer&&(o=e.replacer.call(t,String(l),o)),(E(e,r+1,o,!0,!0,!1,!0)||typeof o>"u"&&E(e,r+1,null,!0,!0,!1,!0))&&((!i||n!=="")&&(n+=Q(e,r)),e.dump&&L===e.dump.charCodeAt(0)?n+="-":n+="- ",n+=e.dump);e.tag=a,e.dump=n||"[]"}function dn(e,r,t){var i="",n=e.tag,a=Object.keys(t),l,u,o,s,d;for(l=0,u=a.length;l<u;l+=1)d="",i!==""&&(d+=", "),e.condenseFlow&&(d+='"'),o=a[l],s=t[o],e.replacer&&(s=e.replacer.call(t,o,s)),E(e,r,o,!1,!1)&&(e.dump.length>1024&&(d+="? "),d+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),E(e,r,s,!1,!1)&&(d+=e.dump,i+=d));e.tag=n,e.dump="{"+i+"}"}function pn(e,r,t,i){var n="",a=e.tag,l=Object.keys(t),u,o,s,d,m,c;if(e.sortKeys===!0)l.sort();else if(typeof e.sortKeys=="function")l.sort(e.sortKeys);else if(e.sortKeys)throw new A("sortKeys must be a boolean or a function");for(u=0,o=l.length;u<o;u+=1)c="",(!i||n!=="")&&(c+=Q(e,r)),s=l[u],d=t[s],e.replacer&&(d=e.replacer.call(t,s,d)),E(e,r+1,s,!0,!0,!0)&&(m=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,m&&(e.dump&&L===e.dump.charCodeAt(0)?c+="?":c+="? "),c+=e.dump,m&&(c+=Q(e,r)),E(e,r+1,d,!0,m)&&(e.dump&&L===e.dump.charCodeAt(0)?c+=":":c+=": ",c+=e.dump,n+=c));e.tag=a,e.dump=n||"{}"}function pe(e,r,t){var i,n,a,l,u,o;for(n=t?e.explicitTypes:e.implicitTypes,a=0,l=n.length;a<l;a+=1)if(u=n[a],(u.instanceOf||u.predicate)&&(!u.instanceOf||typeof r=="object"&&r instanceof u.instanceOf)&&(!u.predicate||u.predicate(r))){if(t?u.multi&&u.representName?e.tag=u.representName(r):e.tag=u.tag:e.tag="?",u.represent){if(o=e.styleMap[u.tag]||u.defaultStyle,ke.call(u.represent)==="[object Function]")i=u.represent(r,o);else if(_e.call(u.represent,o))i=u.represent[o](r,o);else throw new A("!<"+u.tag+'> tag resolver accepts not "'+o+'" style');e.dump=i}return!0}return!1}function E(e,r,t,i,n,a,l){e.tag=null,e.dump=t,pe(e,t,!1)||pe(e,t,!0);var u=ke.call(e.dump),o=i,s;i&&(i=e.flowLevel<0||e.flowLevel>r);var d=u==="[object Object]"||u==="[object Array]",m,c;if(d&&(m=e.duplicates.indexOf(t),c=m!==-1),(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&r>0)&&(n=!1),c&&e.usedDuplicates[m])e.dump="*ref_"+m;else{if(d&&c&&!e.usedDuplicates[m]&&(e.usedDuplicates[m]=!0),u==="[object Object]")i&&Object.keys(e.dump).length!==0?(pn(e,r,e.dump,n),c&&(e.dump="&ref_"+m+e.dump)):(dn(e,r,e.dump),c&&(e.dump="&ref_"+m+" "+e.dump));else if(u==="[object Array]")i&&e.dump.length!==0?(e.noArrayIndent&&!l&&r>0?de(e,r-1,e.dump,n):de(e,r,e.dump,n),c&&(e.dump="&ref_"+m+e.dump)):(fn(e,r,e.dump),c&&(e.dump="&ref_"+m+" "+e.dump));else if(u==="[object String]")e.tag!=="?"&&on(e,e.dump,r,a,o);else{if(u==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new A("unacceptable kind of an object to dump "+u)}e.tag!==null&&e.tag!=="?"&&(s=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?s="!"+s:s.slice(0,18)==="tag:yaml.org,2002:"?s="!!"+s.slice(18):s="!<"+s+">",e.dump=s+" "+e.dump)}return!0}function mn(e,r){var t=[],i=[],n,a;for(W(e,t,i),n=0,a=i.length;n<a;n+=1)r.duplicates.push(t[i[n]]);r.usedDuplicates=new Array(a)}function W(e,r,t){var i,n,a;if(e!==null&&typeof e=="object")if(n=r.indexOf(e),n!==-1)t.indexOf(n)===-1&&t.push(n);else if(r.push(e),Array.isArray(e))for(n=0,a=e.length;n<a;n+=1)W(e[n],r,t);else for(i=Object.keys(e),n=0,a=i.length;n<a;n+=1)W(e[i[n]],r,t)}function vn(e,r){r=r||{};var t=new tn(r);t.noRefs||mn(e,t);var i=e;return t.replacer&&(i=t.replacer.call({"":i},"",i)),E(t,0,i,!0,!0)?t.dump+`
|
|
20
|
+
`:""}var hn=vn,gn={dump:hn},xn=gn.dump;const yn={class:"space-y-6 max-w-7xl mx-auto"},wn={class:"flex items-center justify-between"},kn={class:"flex items-center gap-4"},_n={class:"flex items-center gap-2"},An={class:"text-2xl font-semibold text-gray-900 dark:text-white"},bn=["href","title"],En={class:"flex items-center space-x-3"},Fn={key:0,class:"max-w-[1000px] flex flex-col"},Cn={class:"flex ml-2 mb-6 w-min border border-gray-200 dark:border-gray-700 rounded-full overflow-hidden"},Yn=D({__name:"MenuItemPage",setup(e){ve["vs-input-monaco-editor"]=he;const{t:r,locale:t}=V(),i=Qe(),n=ze(),a=qe(()=>[{key:"name",title:r("menu.form.name"),type:"text",placeholder:r("menu.form.name"),required:!0,validators:["required"]},{key:"description",title:r("menu.form.description"),type:"text",placeholder:r("menu.form.description"),required:!0,validators:["required"]},{key:"locale",title:r("menu.form.language"),type:"select",placeholder:r("menu.form.language"),options:[{text:"Ukrainian",id:"uk"},{text:"English",id:"en"}],required:!0,validators:["required"]},{key:"content",title:r("menu.form.content"),type:"monaco-editor",height:"500px",language:"yaml",theme:"vs-light"}]),l=k(null),u=k({}),o=k(!1),s=k(!1),d=p=>{const f={};for(const h of p){const{title:re,value:Ie,children:q}=h;q&&q.length>0?f[re]=d(q):f[re]=Ie}return f},m=async()=>{let p={...l.value||{}};if(await u.value.validate()){I({type:"warning",title:r("common.actions.warning"),message:r("menu.createMenuFailed")});return}Array.isArray(p.items)&&(p.items=d(p.items),p.content=xn(p.items));try{await fetch(`/api/cms-menu/${n.params.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(p)}),I({title:r("menu.menuUpdated"),type:"success",message:r("menu.menuUpdated")}),i.push("/menu")}catch{I({title:r("menu.menuUpdateError"),type:"error",message:r("menu.menuUpdateError")})}};return je(async()=>{try{const f=await(await fetch(`/api/cms-menu/${n.params.id}`)).json();l.value=f,o.value=!0}catch{o.value=!1}}),(p,f)=>(w(),F("div",yn,[v("div",wn,[v("div",kn,[v("button",{onClick:f[0]||(f[0]=h=>y(i).back()),class:"p-2 text-gray-500 rounded-full hover:text-gray-900 dark:text-gray-400 dark:hover:text-white hover:bg-gray-100 dark:hover:bg-gray-700"},[_(y(Ke),{class:"w-5 h-5"})]),v("div",_n,[v("h1",An,b(p.$t("menu.editMenu")),1),v("a",{href:`https://cms.opengis.info/${y(t)}/guides/menu/`,target:"_blank",title:p.$t("guide.menu")},[_(y(Ge),{class:"w-5 h-5"})],8,bn)])]),v("div",En,[v("button",{onClick:m,class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium h-9 px-4 py-2 bg-blue-600 text-white shadow-md transition-all duration-200 transform hover:bg-blue-700 hover:shadow-lg hover:scale-105 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"},[_(y(tr),{class:"w-4 h-4 mr-2"}),Z(" "+b(p.$t("common.actions.save")),1)])])]),o.value?(w(),F("div",Fn,[v("div",Cn,[v("button",{onClick:f[1]||(f[1]=h=>s.value=!1),class:P([{"bg-gray-200 text-gray-900 dark:bg-gray-700 dark:text-white":!s.value},"text-gray-500 hover:text-gray-900 dark:hover:text-white hover:bg-gray-200 dark:hover:bg-gray-700 whitespace-nowrap px-5 py-2 w-[200px] text-sm font-medium"])},b(p.$t("menu.textEditor")),3),v("button",{onClick:f[2]||(f[2]=h=>s.value=!0),class:P([{"bg-gray-200 text-gray-900 dark:bg-gray-700 dark:text-white":s.value},"text-gray-500 hover:text-gray-900 dark:hover:text-white hover:bg-gray-200 dark:hover:bg-gray-700 whitespace-nowrap px-5 py-2 w-[200px] text-sm font-medium"])},b(p.$t("menu.listTree")),3)]),s.value?(w(),O(hr,{key:0,modelValue:l.value,"onUpdate:modelValue":f[3]||(f[3]=h=>l.value=h)},null,8,["modelValue"])):(w(),O(y(X),{key:1,schema:a.value,modelValue:l.value,"onUpdate:modelValue":f[4]||(f[4]=h=>l.value=h),form:u.value,"onUpdate:form":f[5]||(f[5]=h=>u.value=h)},null,8,["schema","modelValue","form"]))])):B("",!0)]))}});export{Yn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as E,u as S,m as r,p as j,o as f,a as _,b as n,t as u,e as c,f as l,H as V,w as N,g as B,v as F,l as L,r as P}from"./index-yMJAVBXk.js";import{_ as q}from"./UniversalTable.vue_vue_type_script_setup_true_lang-BQ5m4aZd.js";import{D as H}from"./index-BIp7eSXk.js";import{y as w}from"./index-DGweaj24.js";import{P as M}from"./plus-DLR44m6p.js";import"./eye-Dijywc6g.js";import"./file-B_duymIT.js";import"./pencil-CwnPP4IJ.js";import"./trash-2-BGXMNU3d.js";import"./square-pen-xVs4e8Yb.js";const T={class:"space-y-6 max-w-7xl mx-auto"},A={class:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between"},I={class:"flex items-center gap-2"},O={class:"text-3xl font-bold text-slate-800 dark:text-slate-100 mb-2"},Q=["href","title"],R={class:"text-slate-600 dark:text-slate-300"},z={class:"overflow-hidden bg-white border border-gray-200 rounded-lg shadow-sm dark:bg-gray-800 dark:border-gray-700"},G={key:0,class:"p-4 border-b border-gray-200 sm:p-6 dark:border-gray-700"},re=E({__name:"MenuPage",setup(J){const{t:o,locale:g}=S(),v=L(),y=r(""),d=r([]),i=r([]),x=r(""),p=r([{name:"name",title:o("menu.form.name"),type:"text"},{name:"description",title:o("menu.form.description"),type:"text"},{name:"locale",title:o("menu.form.language"),type:"select",data:[{text:"uk",id:"uk"},{text:"en",id:"en"}]}]),h=async()=>{const t=await(await fetch("/api/cms-menu")).json(),s=t.rows;d.value=s;const a=(t.filters||[]).map(m=>{const{extra:K,title:U,...C}=m;return C});i.value=a},b=e=>{v.push(`/menu/${e==null?void 0:e.menu_id}`)},k=async e=>{try{await fetch(`/api/cms-menu/${e==null?void 0:e.menu_id}`,{method:"DELETE"}),await w({title:o("menu.menuDeleted"),type:"success",message:o("menu.menuDeleted")}),await h()}catch{w({title:o("menu.menuDeleteError"),type:"error",message:o("menu.menuDeleteError")})}},D=(e,t)=>{if(!t)return!0;const s=t.toLowerCase();return p.value.some(a=>{const m=e[a.name];return m&&m.toString().toLowerCase().includes(s)})},$=e=>{const t=Object.entries(e==null?void 0:e.data).filter(([,s])=>s!=null).map(([s,a])=>`${s}=${a}`).join("|");x.value=t};return j(h),(e,t)=>{var a;const s=P("router-link");return f(),_("div",T,[n("div",A,[n("div",null,[n("div",I,[n("h1",O,u(e.$t("menu.title")),1),n("a",{href:`https://cms.opengis.info/${c(g)}/guides/menu/`,target:"_blank",title:e.$t("guide.menu")},[l(c(V),{class:"w-5 h-5"})],8,Q)]),n("p",R,u(e.$t("menu.description")),1)]),l(s,{to:"/menu/create",class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium h-9 px-4 py-2 bg-blue-600 text-white shadow-md transition-all duration-200 transform hover:bg-blue-700 hover:shadow-lg hover:scale-105"},{default:N(()=>[l(c(M),{class:"w-4 h-4 mr-2"}),B(" "+u(e.$t("menu.menuAdd")),1)]),_:1})]),n("div",z,[((a=i.value)==null?void 0:a.length)>0?(f(),_("div",G,[l(c(H),{schema:i.value,view:"inline",onChange:$},null,8,["schema"])])):F("",!0),l(q,{rows:d.value,columns:p.value,query:y.value,filterFn:D,onEdit:b,onDelete:k},null,8,["rows","columns","query"])])])}}});export{re as default};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{d as u,E as m,D as c,m as f,p as h,z as d,G as p,o as g,a as v,S as w}from"./index-yMJAVBXk.js";async function M(){if(window.monaco)return window.monaco;const i="https://cdn.jsdelivr.net/npm/monaco-editor@0.45.0/min";return window.require||(window.require={paths:{vs:`${i}/vs`}},await new Promise((t,l)=>{const a=document.createElement("script");a.src=`${i}/vs/loader.min.js`,a.onload=()=>t(),a.onerror=l,document.head.appendChild(a)})),new Promise(t=>{window.require(["vs/editor/editor.main"],()=>t(window.monaco))})}const C=u({__name:"MonacoEditor",props:m({language:{default:"javascript"},theme:{default:"vs-dark"},width:{default:"100%"},height:{default:"100%"},options:{default:()=>({minimap:{enabled:!1}})}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(i){const t=i,l=c(i,"modelValue"),a=f(null);let o=null,r=null;return h(async()=>{var e;if(a.value)try{r=await M();const n=((e=l.value)==null?void 0:e.replace(/\\n/g,`
|
|
2
|
+
`))||"";o=r.editor.create(a.value,{value:n,language:t.language,theme:t.theme,automaticLayout:!0,...t.options}),o.onDidChangeModelContent(()=>{const s=(o==null?void 0:o.getValue())||"";l.value=s})}catch(n){console.error("Failed to load Monaco Editor:",n)}}),d(()=>l.value,e=>{if(o){const n=(e==null?void 0:e.replace(/\\n/g,`
|
|
3
|
+
`))||"";n!==o.getValue()&&o.setValue(n)}},{immediate:!0}),d(()=>t.language,e=>{o&&e&&r&&r.editor.setModelLanguage(o.getModel(),e)}),d(()=>t.theme,e=>{o&&e&&r&&r.editor.setTheme(e)}),p(()=>{o&&(o.dispose(),o=null)}),(e,n)=>(g(),v("div",{ref_key:"editorContainer",ref:a,style:w({width:e.width,height:e.height})},null,4))}});export{C as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as $,u as C,m as u,A as P,p as j,o as a,a as g,b as e,t as s,f as y,e as i,g as B,B as M,C as U,j as f,k,n as L,h as d,Z as p}from"./index-yMJAVBXk.js";import{y as w}from"./index-DGweaj24.js";import{u as S}from"./vue.-sixQ7xP-CUPNuJcq.js";import{P as A}from"./plus-DLR44m6p.js";import{S as V}from"./search-C4-fHihx.js";import{X as m}from"./x-D2t-wfBe.js";const D={class:"space-y-6 w-full max-w-7xl mx-auto"},N={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},z={class:"text-3xl font-bold text-slate-800 dark:text-white mb-2"},I={class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium h-9 px-4 py-2 bg-blue-600 text-white shadow-md transition-all duration-200 transform hover:bg-blue-700 hover:shadow-lg hover:scale-105 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"},T={class:"grid grid-cols-1 md:grid-cols-12 gap-6"},E={class:"md:col-span-8 bg-white dark:bg-gray-800 shadow-sm rounded-lg border border-gray-200 dark:border-gray-700 overflow-hidden"},F={class:"p-4 sm:p-6 border-b border-gray-200 dark:border-gray-700"},H={class:"flex items-center"},Q={class:"relative flex-1"},R={class:"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none"},X=["placeholder"],Z={class:"overflow-x-auto"},q={class:"min-w-full divide-y divide-gray-200 dark:divide-gray-700"},G={class:"bg-gray-50 dark:bg-gray-750"},J={scope:"col",class:"px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider"},K={scope:"col",class:"px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider"},O={scope:"col",class:"px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider"},W={scope:"col",class:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider"},Y={class:"bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700"},ee={class:"px-6 py-4 whitespace-nowrap"},te={class:"flex items-center"},se={class:"h-10 w-10 rounded-full bg-sky-100 dark:bg-sky-900 flex items-center justify-center text-sky-600 dark:text-sky-300 font-medium text-sm"},re={class:"ml-4"},ae={class:"text-sm font-medium text-gray-900 dark:text-white"},oe={class:"text-sm text-gray-500 dark:text-gray-400"},ie={class:"px-6 py-4 whitespace-nowrap"},ne={class:"px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400"},de={class:"px-6 py-4 whitespace-nowrap text-right text-sm font-medium"},le={class:"text-sky-600 hover:text-sky-900 dark:text-sky-400 dark:hover:text-sky-300 mr-3 transition-colors"},ce={class:"text-red-600 hover:text-red-900 dark:text-red-400 dark:hover:text-red-300 transition-colors"},ge={class:"md:col-span-4 bg-white dark:bg-gray-800 shadow-sm rounded-lg border border-gray-200 dark:border-gray-700 overflow-hidden"},pe={class:"p-4 sm:p-6 border-b border-gray-200 dark:border-gray-700"},me={class:"text-lg font-medium text-gray-900 dark:text-white"},ue={class:"mt-1 text-sm text-gray-500 dark:text-gray-400"},he={class:"overflow-x-auto"},xe={class:"min-w-full divide-y divide-gray-200 dark:divide-gray-700"},ye={class:"bg-gray-50 dark:bg-gray-750"},fe={scope:"col",class:"px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider"},ke={scope:"col",class:"px-6 py-3 text-center text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider"},we={scope:"col",class:"px-6 py-3 text-center text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider"},_e={scope:"col",class:"px-6 py-3 text-center text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider"},be={scope:"col",class:"px-6 py-3 text-center text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider"},ve={class:"bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700"},$e={class:"px-6 py-3 whitespace-nowrap text-sm font-medium text-gray-900 dark:text-white"},Ce={class:"px-6 py-3 whitespace-nowrap text-center"},Pe={class:"px-6 py-3 whitespace-nowrap text-center"},je={class:"px-6 py-3 whitespace-nowrap text-center"},Be={class:"px-6 py-3 whitespace-nowrap text-center"},Me={class:"p-4 border-t border-gray-200 dark:border-gray-700"},Ue={class:"inline-flex items-center justify-center px-4 py-2 border border-gray-300 dark:border-gray-600 text-sm font-medium rounded-md shadow-sm text-gray-700 dark:text-gray-200 bg-white dark:bg-gray-700 hover:bg-gray-50 dark:hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-sky-500 transition-colors w-full"},Ie=$({__name:"PermissionsPage",setup(Le){const{t:o}=C();S({title:()=>o("settings.permissions.title")+" | CMS"});const _=async()=>{var c;let t=null;try{const n=await(await fetch("/user")).json();t=(c=n==null?void 0:n.user)==null?void 0:c.uid}catch(r){console.error(r),w({title:o("settings.permissions.error"),message:o("settings.permissions.errorMessage"),type:"error"})}try{const n=await(await fetch(`/api/cms-permissions/${t}`)).json();x.value=(n==null?void 0:n.permissions)||[]}catch(r){console.error(r),w({title:o("settings.permissions.error"),message:o("settings.permissions.errorMessage"),type:"error"})}},l=u(""),h=u([]),x=u([{name:o("settings.permissions.createContent"),admin:!0,editor:!0,author:!0,viewer:!1},{name:o("settings.permissions.editContent"),admin:!0,editor:!0,author:!0,viewer:!1},{name:o("settings.permissions.deleteContent"),admin:!0,editor:!0,author:!1,viewer:!1},{name:o("settings.permissions.publishContent"),admin:!0,editor:!0,author:!1,viewer:!1},{name:o("settings.permissions.manageMedia"),admin:!0,editor:!0,author:!0,viewer:!1},{name:o("settings.permissions.manageUsers"),admin:!0,editor:!1,author:!1,viewer:!1},{name:o("settings.permissions.manageSettings"),admin:!0,editor:!1,author:!1,viewer:!1}]),b=P(()=>l.value?h.value.filter(t=>t.name.toLowerCase().includes(l.value.toLowerCase())||t.email.toLowerCase().includes(l.value.toLowerCase())):h.value);function v(t){switch(t){case"admin":return"bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-200";case"editor":return"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200";case"author":return"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200";case"viewer":return"bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300";default:return"bg-gray-100 text-gray-800 dark:bg-gray-700 dark:text-gray-300"}}return j(_),(t,c)=>(a(),g("div",D,[e("div",N,[e("h1",z,s(t.$t("settings.permissions.title")),1),e("button",I,[y(i(A),{class:"w-4 h-4 mr-2"}),B(" "+s(t.$t("settings.permissions.inviteUser")),1)])]),e("div",T,[e("div",E,[e("div",F,[e("div",H,[e("div",Q,[e("div",R,[y(i(V),{class:"h-5 w-5 text-gray-400"})]),M(e("input",{"onUpdate:modelValue":c[0]||(c[0]=r=>l.value=r),type:"text",class:"block w-full pl-10 pr-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md leading-5 bg-white dark:bg-gray-700 placeholder-gray-500 dark:placeholder-gray-400 focus:outline-none focus:ring-sky-500 focus:border-sky-500 text-gray-900 dark:text-white sm:text-sm transition-colors",placeholder:t.$t("settings.permissions.searchUsers")},null,8,X),[[U,l.value]])])])]),e("div",Z,[e("table",q,[e("thead",G,[e("tr",null,[e("th",J,s(t.$t("settings.permissions.user")),1),e("th",K,s(t.$t("settings.permissions.role")),1),e("th",O,s(t.$t("settings.permissions.lastActive")),1),e("th",W,s(t.$t("settings.permissions.actions")),1)])]),e("tbody",Y,[(a(!0),g(f,null,k(b.value,r=>(a(),g("tr",{key:r.id,class:"hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors"},[e("td",ee,[e("div",te,[e("div",se,s(r.name.charAt(0).toUpperCase()),1),e("div",re,[e("div",ae,s(r.name),1),e("div",oe,s(r.email),1)])])]),e("td",ie,[e("span",{class:L(["px-2 py-1 inline-flex text-xs leading-5 font-semibold rounded-full",v(r.role)])},s(t.$t("settings.permissions.roles."+r.role)),3)]),e("td",ne,s(r.lastActive),1),e("td",de,[e("button",le,s(t.$t("settings.permissions.edit")),1),e("button",ce,s(t.$t("settings.permissions.remove")),1)])]))),128))])])])]),e("div",ge,[e("div",pe,[e("h2",me,s(t.$t("settings.permissions.rolePermissions")),1),e("p",ue,s(t.$t("settings.permissions.rolePermissionsDescription")),1)]),e("div",he,[e("table",xe,[e("thead",ye,[e("tr",null,[e("th",fe,s(t.$t("settings.permissions.permission")),1),e("th",ke,s(t.$t("settings.permissions.admin")),1),e("th",we,s(t.$t("settings.permissions.editor")),1),e("th",_e,s(t.$t("settings.permissions.author")),1),e("th",be,s(t.$t("settings.permissions.viewer")),1)])]),e("tbody",ve,[(a(!0),g(f,null,k(x.value,(r,n)=>(a(),g("tr",{key:n,class:"hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors"},[e("td",$e,s(r.name),1),e("td",Ce,[r.admin?(a(),d(i(p),{key:0,class:"mx-auto h-5 w-5 text-green-500"})):(a(),d(i(m),{key:1,class:"mx-auto h-5 w-5 text-red-500"}))]),e("td",Pe,[r.editor?(a(),d(i(p),{key:0,class:"mx-auto h-5 w-5 text-green-500"})):(a(),d(i(m),{key:1,class:"mx-auto h-5 w-5 text-red-500"}))]),e("td",je,[r.author?(a(),d(i(p),{key:0,class:"mx-auto h-5 w-5 text-green-500"})):(a(),d(i(m),{key:1,class:"mx-auto h-5 w-5 text-red-500"}))]),e("td",Be,[r.viewer?(a(),d(i(p),{key:0,class:"mx-auto h-5 w-5 text-green-500"})):(a(),d(i(m),{key:1,class:"mx-auto h-5 w-5 text-red-500"}))])]))),128))])])]),e("div",Me,[e("button",Ue,s(t.$t("settings.permissions.customizePermissions")),1)])])])]))}});export{Ie as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as l,o,a as i,b as t,s as u,d as h,u as f,t as n,e as c,f as d,H as x,g as p}from"./index-yMJAVBXk.js";const _={},m={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-settings w-5 h-5 mr-2 text-blue-600"};function w(r,e){return o(),i("svg",m,[...e[0]||(e[0]=[t("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"},null,-1),t("circle",{cx:"12",cy:"12",r:"3"},null,-1)])])}const k=l(_,[["render",w]]),b={},v={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-users w-5 h-5 mr-2 text-green-600"};function y(r,e){return o(),i("svg",v,[...e[0]||(e[0]=[t("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"},null,-1),t("circle",{cx:"9",cy:"7",r:"4"},null,-1),t("path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"},null,-1),t("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"},null,-1)])])}const $=l(b,[["render",y]]),C={},j={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-shield w-5 h-5 mr-2 text-red-600"};function B(r,e){return o(),i("svg",j,[...e[0]||(e[0]=[t("path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"},null,-1)])])}const M=l(C,[["render",B]]),I={},S={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-key w-5 h-5 mr-2 text-purple-600"};function T(r,e){return o(),i("svg",S,[...e[0]||(e[0]=[t("path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4"},null,-1),t("path",{d:"m21 2-9.6 9.6"},null,-1),t("circle",{cx:"7.5",cy:"15.5",r:"5.5"},null,-1)])])}const V=l(I,[["render",T]]),z={},H={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-palette w-5 h-5 mr-2 text-pink-600"};function N(r,e){return o(),i("svg",H,[...e[0]||(e[0]=[u('<circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"></path>',5)])])}const K=l(z,[["render",N]]),P={},D={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-globe w-5 h-5 mr-2 text-orange-600"};function E(r,e){return o(),i("svg",D,[...e[0]||(e[0]=[t("circle",{cx:"12",cy:"12",r:"10"},null,-1),t("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"},null,-1),t("path",{d:"M2 12h20"},null,-1)])])}const G=l(P,[["render",E]]),L={},U={xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-bell w-5 h-5 mr-2"};function q(r,e){return o(),i("svg",U,[...e[0]||(e[0]=[t("path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"},null,-1),t("path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0"},null,-1)])])}const A=l(L,[["render",q]]),F={class:"flex-1 overflow-y-auto bg-gradient-to-br from-slate-50 via-blue-50 to-indigo-50 dark:from-slate-900 dark:via-slate-800 dark:to-slate-900"},J={class:"w-full max-w-7xl mx-auto space-y-6"},O={class:"mb-8"},Q={class:"flex items-center gap-2"},R={class:"text-3xl font-bold text-slate-800 dark:text-slate-100 mb-2"},W=["href","title"],X={class:"text-slate-600 dark:text-slate-300"},Y={class:"space-y-6 max-w-7xl mx-auto"},Z={class:"rounded-xl text-card-foreground shadow-lg border-0 bg-white dark:bg-slate-800 backdrop-blur-sm"},tt={class:"flex flex-col space-y-1.5 p-6 border-b border-slate-200 dark:border-slate-700 bg-gradient-to-r from-slate-50 dark:from-slate-800 to-white dark:to-slate-800"},et={class:"tracking-tight text-xl font-semibold text-slate-800 dark:text-slate-100 flex items-center"},st={class:"p-6"},nt={class:"grid grid-cols-1 md:grid-cols-2 gap-6"},ot={class:"space-y-4"},it={class:"font-medium text-slate-800 dark:text-slate-100"},rt={class:"space-y-2"},lt={class:"flex justify-between items-center"},at={class:"text-sm text-slate-600 dark:text-slate-400"},ct={class:"flex justify-between items-center"},dt={class:"text-sm text-slate-600 dark:text-slate-400"},gt={class:"flex justify-between items-center"},ut={class:"text-sm text-slate-600 dark:text-slate-400"},ht={class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent shadow hover:bg-primary/80 bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300"},ft={class:"space-y-4"},xt={class:"font-medium text-slate-800 dark:text-slate-100"},pt={class:"space-y-2"},_t={class:"flex justify-between items-center"},mt={class:"text-sm text-slate-600 dark:text-slate-400"},wt={class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent shadow hover:bg-primary/80 bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300"},kt={class:"flex justify-between items-center"},bt={class:"text-sm text-slate-600 dark:text-slate-400"},vt={class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent shadow hover:bg-primary/80 bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300"},yt={class:"flex justify-between items-center"},$t={class:"text-sm text-slate-600 dark:text-slate-400"},Ct={class:"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent shadow hover:bg-primary/80 bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300"},Bt=h({__name:"Settings",setup(r){const{t:e,locale:g}=f();return e("settings.general.general"),e("settings.general.general"),e("settings.configure"),e("settings.users.users"),e("settings.users.users"),e("settings.configure"),e("settings.security"),e("settings.security"),e("settings.configure"),e("settings.api-keys.apiKeys"),e("settings.api-keys.apiKeys"),e("settings.configure"),e("settings.appearance.appearance"),e("settings.appearance.appearance"),e("settings.configure"),e("settings.localization"),e("settings.localization"),e("settings.configure"),(s,a)=>(o(),i("div",F,[t("div",J,[t("div",O,[t("div",Q,[t("h1",R,n(s.$t("settings.title")),1),t("a",{href:`https://cms.opengis.info/${c(g)}/config/general-settings/`,target:"_blank",title:s.$t("guide.settings")},[d(c(x),{class:"w-5 h-5"})],8,W)]),t("p",X,n(s.$t("settings.description")),1)]),t("div",Y,[t("div",Z,[t("div",tt,[t("h3",et,[d(A,{class:"w-5 h-5 mr-2"}),p(n(s.$t("settings.systemStatus")),1)])]),t("div",st,[t("div",nt,[t("div",ot,[t("h3",it,n(s.$t("settings.siteInformation")),1),t("div",rt,[t("div",lt,[t("span",at,n(s.$t("settings.siteName")),1),a[0]||(a[0]=t("span",{class:"text-sm font-medium text-slate-800 dark:text-slate-100"},"CMS Pro",-1))]),t("div",ct,[t("span",dt,n(s.$t("settings.version")),1),a[1]||(a[1]=t("span",{class:"text-sm font-medium text-slate-800 dark:text-slate-100"},"2.1.0",-1))]),t("div",gt,[t("span",ut,n(s.$t("settings.environment")),1),t("div",ht,n(s.$t("settings.production")),1)])])]),t("div",ft,[t("h3",xt,n(s.$t("settings.systemHealth")),1),t("div",pt,[t("div",_t,[t("span",mt,n(s.$t("settings.database")),1),t("div",wt,n(s.$t("settings.connected")),1)]),t("div",kt,[t("span",bt,n(s.$t("settings.cache")),1),t("div",vt,n(s.$t("settings.active")),1)]),t("div",yt,[t("span",$t,n(s.$t("settings.storage")),1),t("div",Ct,n(s.$t("settings.used")),1)])])])])])])])])]))}});export{Bt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as p,o as a,a as d,b as o,r as g,k as h,n as m,t as i,h as u,j as k,E as f,i as x,g as V,x as v,f as _}from"./index-yMJAVBXk.js";const y=["aria-checked","data-state"],w=["data-state"],S={__name:"SettingsToggleItem",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(l){const t=p(l,"modelValue");return(r,s)=>(a(),d("button",{type:"button",role:"switch","aria-checked":t.value?"true":"false","data-state":t.value?"checked":"unchecked",value:"on",onClick:s[0]||(s[0]=n=>t.value=!t.value),class:"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-blue-600 data-[state=unchecked]:bg-slate-200 dark:data-[state=unchecked]:bg-slate-600"},[o("span",{"data-state":t.value?"checked":"unchecked",class:"pointer-events-none block h-4 w-4 rounded-full bg-white shadow-lg ring-0 transition-transform shrink-0 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-1"},null,8,w)],8,y))}},$={class:"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-slate-700 dark:text-slate-300"},M={class:"text-sm text-slate-500 dark:text-slate-400"},U={__name:"NotificationSettings",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(l){const t=p(l,"modelValue");return(r,s)=>{const n=g("VsSelect");return a(!0),d(k,null,h(t.value,(e,b)=>(a(),d("div",{key:e.key,class:m(["flex min-h-[61px]",{"border-b border-slate-200":b<t.value.length-1,"items-center justify-between gap-4":!e.options,"flex-col items-start":e.options&&e.options.length>0}])},[o("div",null,[o("label",$,i(e.label),1),o("p",M,i(e.description),1)]),e.options&&e.options.length>0?(a(),u(n,{key:0,options:e.options,modelValue:e.value,"onUpdate:modelValue":c=>e.value=c,class:"min-h-10 mt-1"},null,8,["options","modelValue","onUpdate:modelValue"])):(a(),u(S,{key:1,modelValue:e.checked,"onUpdate:modelValue":c=>e.checked=c},null,8,["modelValue","onUpdate:modelValue"]))],2))),128)}}},B={class:"rounded-xl text-card-foreground shadow-lg border-0 bg-white dark:bg-slate-800 backdrop-blur-sm"},C={class:"flex flex-col space-y-1.5 p-6 border-b border-slate-200 dark:border-slate-700 bg-gradient-to-r from-slate-50 dark:from-slate-800 to-white dark:to-slate-800"},N={class:"tracking-tight text-xl font-semibold text-slate-800 dark:text-slate-100 flex items-center"},j={class:"p-6 space-y-4"},D={__name:"SettingsTable",props:f({icon:{type:Object,required:!0},title:{type:String,required:!0},color:{type:String,required:!1,default:"green"}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const t={green:"text-green-600",blue:"text-blue-600",purple:"text-purple-600",red:"text-red-600",yellow:"text-yellow-600",orange:"text-orange-600",pink:"text-pink-600"},r=p(l,"modelValue");return(s,n)=>(a(),d("div",B,[o("div",C,[o("h3",N,[(a(),u(x(l.icon),{class:m(["lucide lucide-users w-5 h-5 mr-2",t[l.color]])},null,8,["class"])),V(" "+i(l.title),1)])]),o("div",j,[v(s.$slots,"content"),_(U,{modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=e=>r.value=e)},null,8,["modelValue"])])]))}};export{D as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as o,o as r,a as l,b as t,t as a,e as i,f as c,H as d}from"./index-yMJAVBXk.js";const p={class:"mb-8"},_={class:"flex items-center gap-2"},g={class:"text-3xl font-bold text-slate-800 dark:text-slate-100 mb-2"},h=["href","title"],u={class:"text-slate-600 dark:text-slate-300"},x={__name:"SettingsTitle",props:{title:{type:String,required:!0},description:{type:String,required:!0}},setup(s){const{locale:n}=o();return(e,f)=>(r(),l("div",p,[t("div",_,[t("h1",g,a(e.$t(s.title)),1),t("a",{href:`https://cms.opengis.info/${i(n)}/config/general-settings/`,target:"_blank",title:e.$t("guide.settings")},[c(i(d),{class:"w-5 h-5"})],8,h)]),t("p",u,a(e.$t(s.description)),1)]))}};export{x as _};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as $,d as S,u as B,m as l,z as C,p as V,o as y,a as N,b as t,t as h,f as u,e as v,B as D,C as E,g as F,h as I,v as L,l as j}from"./index-yMJAVBXk.js";import{_ as q}from"./UniversalTable.vue_vue_type_script_setup_true_lang-BQ5m4aZd.js";import{_ as M}from"./UniversalTablePagination.vue_vue_type_script_setup_true_lang-DppVBws0.js";import{S as T}from"./search-C4-fHihx.js";import"./eye-Dijywc6g.js";import"./file-B_duymIT.js";import"./pencil-CwnPP4IJ.js";import"./trash-2-BGXMNU3d.js";import"./square-pen-xVs4e8Yb.js";import"./chevron-left-WFftVS9c.js";import"./chevron-right-BiiSb3Be.js";/**
|
|
2
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const U=$("FilterIcon",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]),z={class:"space-y-6 max-w-7xl mx-auto"},P={class:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between"},Q={class:"text-2xl font-semibold text-gray-900 dark:text-white"},R={class:"overflow-hidden bg-white border border-gray-200 rounded-lg shadow-sm dark:bg-gray-800 dark:border-gray-700"},A={class:"p-4 border-b border-gray-200 sm:p-6 dark:border-gray-700"},G={class:"flex flex-col gap-4 sm:flex-row"},H={class:"relative flex-1"},J={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},K=["placeholder"],O={class:"flex space-x-2"},W={class:"inline-flex items-center px-3 py-2 text-sm font-medium leading-4 text-gray-700 transition-colors bg-white border border-gray-300 rounded-md shadow-sm dark:border-gray-600 dark:text-gray-200 dark:bg-gray-700 hover:bg-gray-50 dark:hover:bg-gray-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-sky-500"},ce=S({__name:"SingletonsPage",setup(X){const{t:x}=B(),b=j(),c=l(""),m=l([]),i=l(1),r=l(null),_=l(16),g=[{name:"title",title:x("common.title"),type:"text"}],w=o=>{b.push(`/collections/single/${o.name||o.id}`)},p=async()=>{const e=await(await fetch(`/api/cms?page=${i.value}&limit=${_.value}`)).json(),s=e.rows;m.value=s==null?void 0:s.filter(a=>a.type==="single"),r.value=e},k=(o,e)=>{if(!e)return!0;const s=e.toLowerCase();return g.value.some(a=>{const n=o[a.name];return n&&n.toString().toLowerCase().includes(s)})};return C(i,p),V(p),(o,e)=>{var s,a,n,f;return y(),N("div",z,[t("div",P,[t("h1",Q,h(o.$t("singletons.title")),1)]),t("div",R,[t("div",A,[t("div",G,[t("div",H,[t("div",J,[u(v(T),{class:"w-5 h-5 text-gray-400"})]),D(t("input",{type:"text",class:"block w-full py-2 pl-10 pr-3 leading-5 text-gray-900 placeholder-gray-500 transition-colors bg-white border border-gray-300 rounded-md dark:border-gray-600 dark:bg-gray-700 dark:placeholder-gray-400 focus:outline-none focus:ring-sky-500 focus:border-sky-500 dark:text-white sm:text-sm",placeholder:o.$t("singletons.search"),"onUpdate:modelValue":e[0]||(e[0]=d=>c.value=d)},null,8,K),[[E,c.value]])]),t("div",O,[t("button",W,[u(v(U),{class:"w-4 h-4 mr-2 text-gray-500 dark:text-gray-400"}),F(" "+h(o.$t("common.actions.filter")),1)])])])]),u(q,{class:"max-h-[calc(100vh-270px)] overflow-y-auto",rows:m.value,columns:g,query:c.value,filterFn:k,onEdit:w},null,8,["rows","query"]),((s=r.value)==null?void 0:s.total)>16?(y(),I(M,{key:0,total:(a=r.value)==null?void 0:a.total,count:((n=r.value)==null?void 0:n.count)||((f=r.value)==null?void 0:f.total),page:i.value,"onUpdate:page":e[1]||(e[1]=d=>i.value=d)},null,8,["total","count","page"])):L("",!0)])])}}});export{ce as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as J}from"./UniversalTable.vue_vue_type_script_setup_true_lang-BQ5m4aZd.js";import{_ as A}from"./UniversalTablePagination.vue_vue_type_script_setup_true_lang-DppVBws0.js";import{u as F,m as i,A as H,z,p as I,a as E,b as r,t as m,e as l,f,g as L,v as y,h,w as N,o as p,H as M}from"./index-yMJAVBXk.js";import{_ as G}from"./EmptyData-Ct-xQv_N.js";import{l as K}from"./index-DCW2e4Az.js";import{J as Q,y as R}from"./index-DGweaj24.js";import{P as W}from"./plus-DLR44m6p.js";import"./eye-Dijywc6g.js";import"./file-B_duymIT.js";import"./pencil-CwnPP4IJ.js";import"./trash-2-BGXMNU3d.js";import"./square-pen-xVs4e8Yb.js";import"./chevron-left-WFftVS9c.js";import"./chevron-right-BiiSb3Be.js";const X={class:"space-y-6 max-w-7xl mx-auto"},Y={class:"flex items-center justify-between mb-8"},Z={class:"flex items-center gap-2"},ee={class:"text-3xl font-bold text-slate-800 dark:text-slate-100 mb-2"},te=["href","title"],ae={class:"text-slate-600 dark:text-slate-300"},oe={class:"rounded-xl text-card-foreground shadow-lg border-0 bg-white dark:bg-slate-800 backdrop-blur-sm overflow-hidden"},le={class:"flex justify-end p-4 gap-2 border-t w-full"},we={__name:"TagsPage",setup(se){const{t:e,locale:B}=F(),s=i([]),u=i(!1),o=i({color:"#000000"}),b=i({}),c=i(!1),v=i(14),d=i(1),D=H(()=>{const t=d.value*v.value;return t>s.value.total?s.value.total:t}),P=[{name:"value",title:e("tags.form.name"),type:"text"},{name:"count_data",title:e("tags.form.count_data"),type:"text"},{name:"color",title:e("tags.form.color"),type:"color"},{name:"created_at",title:e("tags.form.created_at"),type:"date"},{name:"description",title:e("tags.form.description"),type:"text"}],q={slug:{label:e("tags.form.slug"),type:"slug",parent:"value",validators:["required"]},value:{label:e("tags.form.name"),type:"text",validators:["required"]},"value:en":{label:e("tags.form.name")+" (en)",type:"text",validators:["required"]},color:{label:e("tags.form.color"),type:"color",validators:["required"]},description:{label:e("tags.form.description"),type:"textarea"},topic:{label:e("tags.form.topic"),type:"textarea"}},g=async()=>{try{const a=await(await fetch(`/api/tags?page=${d.value}&limit=${v.value}`)).json();s.value=a}catch(t){console.error(t)}},O=async t=>{try{await fetch(`/api/tags/${t.tag_id}`,{method:"DELETE"}),g()}catch(a){console.error(a)}},w=()=>{u.value=!1,c.value=!1,o.value={}},S=async t=>{c.value=!0,u.value=!0,o.value=t,o.value.locale={en:t.value_en,uk:t.value}},U=async()=>{try{if(await b.value.validate()){R({type:"warning",title:e("common.actions.warning"),message:e("tags.createTagFailed")});return}o.value.locale={en:o.value["value:en"],uk:o.value.value},c.value?await fetch(`/api/tags/${o.value.tag_id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(o.value)}):await fetch("/api/tags",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o.value)}),g(),u.value=!1,c.value=!1,o.value={}}catch(t){console.error(t)}};return z(d,()=>{g()}),I(()=>{g()}),(t,a)=>{var x,_,k,T,$,C,V,j;return p(),E("div",X,[r("div",Y,[r("div",null,[r("div",Z,[r("h1",ee,m(t.$t("tags.title")),1),r("a",{href:`https://cms.opengis.info/${l(B)}`,target:"_blank",title:t.$t("guide.general")},[f(l(M),{class:"w-5 h-5"})],8,te)]),r("p",ae,m(t.$t("tags.description")),1)]),((_=(x=s.value)==null?void 0:x.rows)==null?void 0:_.length)>0?(p(),E("button",{key:0,onClick:a[0]||(a[0]=n=>u.value=!0),class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium h-9 px-4 py-2 bg-blue-600 text-white shadow-md transition-all duration-200 transform hover:bg-blue-700 hover:shadow-lg hover:scale-105 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"},[f(l(W),{class:"w-4 h-4 mr-2"}),L(" "+m(t.$t("tags.createTag")),1)])):y("",!0)]),r("div",oe,[!s.value||((T=(k=s.value)==null?void 0:k.rows)==null?void 0:T.length)===0?(p(),h(G,{key:0,title:l(e)("tags.emptyTitle"),description:l(e)("tags.emptyDescription"),"button-text":l(e)("tags.emptyButton"),"show-button":!0,onAction:a[1]||(a[1]=n=>u.value=!0)},null,8,["title","description","button-text"])):y("",!0),((C=($=s.value)==null?void 0:$.rows)==null?void 0:C.length)>0?(p(),h(J,{key:1,columns:P,rows:s.value.rows,"on-edit":S,onDelete:O},null,8,["rows"])):y("",!0),((V=s.value)==null?void 0:V.total)>v.value?(p(),h(A,{key:2,total:(j=s.value)==null?void 0:j.total,count:D.value,page:d.value,"onUpdate:page":a[2]||(a[2]=n=>d.value=n),limit:v.value},null,8,["total","count","page","limit"])):y("",!0)]),f(l(Q),{teleport:"#modal",visible:u.value,title:l(e)(c.value?"tags.editTag":"tags.createTag"),onClose:a[6]||(a[6]=n=>w())},{footer:N(()=>[r("div",le,[r("button",{onClick:a[5]||(a[5]=n=>w()),class:"bg-gray-500 text-white px-4 py-2 rounded-md"},m(l(e)("common.actions.cancel")),1),r("button",{onClick:U,class:"bg-blue-500 text-white px-4 py-2 rounded-md"},m(l(e)("common.actions.save")),1)])]),default:N(()=>[f(l(K),{modelValue:o.value,"onUpdate:modelValue":a[3]||(a[3]=n=>o.value=n),schema:q,form:b.value,"onUpdate:form":a[4]||(a[4]=n=>b.value=n)},null,8,["modelValue","form"])]),_:1},8,["visible","title"])])}}};export{we as default};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{c as N,d as q,u as R,m as B,A as $,o as s,a as r,b as n,j as y,k as w,n as h,h as g,i as C,v as A,g as v,t as l,f as M,e as f,L as z,y as D,x as P}from"./index-yMJAVBXk.js";import{E as U}from"./eye-Dijywc6g.js";import{F as X}from"./file-B_duymIT.js";import{P as I}from"./pencil-CwnPP4IJ.js";import{T as H}from"./trash-2-BGXMNU3d.js";import{S as W}from"./square-pen-xVs4e8Yb.js";/**
|
|
2
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const G=N("CheckCircleIcon",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/**
|
|
7
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const J=N("XCircleIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),K={class:"text-card-foreground border-0 bg-white/80 dark:bg-slate-800/80 backdrop-blur-sm"},O={class:"p-0"},Q={class:"table-scroll overflow-x-auto"},Y={class:"relative w-full overflow-auto max-h-[calc(100vh-270px)]"},Z={class:"w-full caption-bottom text-sm"},ee={class:"border-b border-slate-200 dark:border-slate-700 bg-slate-50/50 dark:bg-slate-700/50 hover:bg-slate-50/80 dark:hover:bg-slate-700/80 transition-colors"},te={class:"flex items-center gap-2"},se={class:"h-10 text-center px-4 font-semibold text-slate-700 dark:text-slate-300 max-w-32"},ae=["onClick"],re={key:1,class:"whitespace-nowrap"},ne={key:2,class:"whitespace-nowrap"},ie={key:3,class:"flex items-center"},oe={key:4,class:"inline-flex whitespace-nowrap items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors bg-white dark:bg-slate-700 border-slate-300 dark:border-slate-600 text-slate-700 dark:text-slate-300"},de={key:5,class:"flex items-center"},le={key:6,class:"flex items-center gap-3"},ce={key:8,class:"flex items-center gap-3"},me={key:11,class:"flex items-center gap-3"},ue={class:"line-clamp-2"},be={class:"flex justify-end py-2 px-4 align-middle max-w-40"},he={class:"flex items-center justify-center gap-1"},pe=["onClick"],ge=["onClick"],Ce=q({__name:"UniversalTable",props:{rows:{},query:{},filterFn:{type:Function},onEdit:{type:Function},onView:{type:Function},onDelete:{type:Function},columns:{},onMore:{type:Function},customRender:{}},emits:["edit","view","delete","more"],setup(T,{emit:L}){const{t:o}=R();B(null);const d=T,k=L,S=$(()=>!d.query||!d.filterFn?d.rows:d.rows.filter(a=>d.filterFn(a,d.query))),V=a=>{if(!a)return"";const i=new Date(a);return isNaN(i.getTime())?"":a.includes("T")||a.includes(" ")||a.includes(":")?i.toLocaleString("uk-UA",{dateStyle:"medium",timeStyle:"medium"}):i.toLocaleDateString("uk-UA",{dateStyle:"medium"})},x=a=>{switch(a){case"published":return{icon:G,text:o("common.status.published"),classes:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-200 border-green-200 dark:border-green-700"};case"draft":return{icon:W,text:o("common.status.draft"),classes:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-200 border-yellow-200 dark:border-yellow-700"};case"archived":return{icon:J,text:o("common.status.archived"),classes:"bg-gray-100 text-gray-800 dark:bg-gray-900/30 dark:text-gray-300 border-gray-200 dark:border-gray-700"};default:return null}},_=(a,i)=>{switch(a){case"edit":k("edit",i),d.onEdit&&d.onEdit(i);break;case"view":k("view",i),d.onView&&d.onView(i);break;case"delete":k("delete",i);break;case"more":k("more",i),d.onMore&&d.onMore(i);break}},E=a=>{_("edit",a)},j=a=>{const i=new Date,e=new Date(a),t=i-e,p=Math.floor(t/1e3),c=Math.floor(p/60),m=Math.floor(c/60),u=Number(Math.floor(m/24)),b=Number(Math.floor(u/7));return b>=2?o("table.time.weeksAgo",{count:b}):b===1?o("table.time.weekAgo"):u>=2?o("table.time.daysAgo",{count:u}):u===1?o("table.time.dayAgo"):m>=2?o("table.time.hoursAgo",{count:m}):m===1?o("table.time.hourAgo"):c>=2?o("table.time.minutesAgo",{count:c}):o(c===1?"table.time.minuteAgo":"table.time.justNow")};return(a,i)=>(s(),r("div",K,[n("div",O,[n("div",Q,[n("div",Y,[n("table",Z,[n("thead",null,[n("tr",ee,[(s(!0),r(y,null,w(a.columns,e=>(s(),r("th",{key:e.name,class:h(["h-10 px-4 text-left align-middle font-semibold text-slate-700 dark:text-slate-300 max-w-80",{"min-w-[200px]":["title","name"].includes(e.name),"min-w-[150px]":e.name==="slug","min-w-[250px]":e.name==="description"}])},[n("div",te,[e.icon?(s(),g(C(e.icon),{key:0,class:"w-5 h-5"})):A("",!0),v(" "+l(e.label||e.title||e.ua||e.name),1)])],2))),128)),n("th",se,l(a.$t("table.actions")),1)])]),n("tbody",null,[(s(!0),r(y,null,w(S.value,e=>(s(),r("tr",{key:e.id||e._id||e.name,class:"transition-all duration-200 hover:bg-slate-50/60 dark:hover:bg-slate-700/60"},[(s(!0),r(y,null,w(a.columns,(t,p)=>{var c,m,u,b,F;return s(),r("td",{key:t.name,class:h(["py-2 px-4 align-middle max-w-80",{"font-medium text-slate-800 dark:text-white cursor-pointer":p===0,"text-slate-600 dark:text-slate-400 font-mono text-sm":p!==0}]),onClick:fe=>p===0?E(e):void 0},[a.customRender&&a.customRender[t.name]?(s(),g(C(a.customRender[t.name](e[t.name],e)),{key:0})):A("",!0),["published_at","publish_at","created_at","date"].includes(t.name)&&e[t.name]?(s(),r("span",re,l(V(e[t.name])),1)):["updated_at","lastModified","last_edit"].includes(t.name)?(s(),r("span",ne,l(j(e[t.name])||"--"),1)):t.name==="views"?(s(),r("div",ie,[M(f(U),{class:"w-4 h-4 mr-1"}),v(" "+l(((m=(c=e[t.name])==null?void 0:c.toLocaleString)==null?void 0:m.call(c))??e[t.name]),1)])):["entries","fields"].includes(t.name)?(s(),r("div",oe,l(e[t.name]||"-"),1)):t.name==="type"?(s(),r("div",de,[n("div",{class:h(["whitespace-nowrap inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors border-transparent hover:bg-secondary/80",e[t.name]==="pages"?"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300":"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300"])},l(e[t.name]||"-"),3)])):t.name==="name"?(s(),r("div",le,[e.type==="single"?(s(),g(f(X),{key:0,class:"shrink-0 lucide lucide-page w-5 h-5 text-blue-600"})):(s(),g(f(z),{key:1,class:"shrink-0 lucide lucide-layers w-5 h-5 text-blue-600"})),v(" "+l(e[t.name]),1)])):t.name==="status"?(s(),r(y,{key:7},[x(e[t.name])?(s(),r("div",{key:0,class:h(["whitespace-nowrap rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors hover:bg-secondary/80 flex items-center w-fit bg-green-100 text-green-800 border-green-200 dark:bg-green-900/30 dark:text-green-300 dark:border-green-700",(u=x(e[t.name]))==null?void 0:u.classes])},[(s(),g(C((b=x(e[t.name]))==null?void 0:b.icon),{class:"w-3 h-3 mr-1"})),v(" "+l((F=x(e[t.name]))==null?void 0:F.text),1)],2)):A("",!0)],64)):t.name==="slug"?(s(),r("div",ce,l(e[t.name]?"/"+e[t.name]:"-"),1)):t.name==="color"?(s(),r("span",{key:9,class:h(["w-4 h-4 rounded-full block ml-2","bg-["+e[t.name]+"]"])},null,2)):t.name==="enabled"?(s(),r("span",{key:10,class:h(["whitespace-nowrap rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors hover:bg-secondary/80 flex items-center w-fit",e[t.name]?"bg-green-100 text-green-800 border-green-200":"bg-red-100 text-red-800 border-red-200"])},l(e[t.name]?"Доступ":"Заборонено"),3)):(s(),r("div",me,[n("p",ue,l(e[t.name]||"-"),1)]))],10,ae)}),128)),n("td",be,[n("div",he,[n("button",{onClick:D(t=>_("edit",e),["stop"]),class:"inline-flex items-center justify-center whitespace-nowrap font-medium border rounded-md text-xs h-8 w-8 p-0 border-slate-300 bg-white transition-all duration-200 shadow-sm dark:border-slate-600 dark:bg-slate-700 dark:hover:bg-slate-600 dark:hover:text-slate-200 hover:border-blue-300 hover:bg-blue-50 hover:text-blue-600",title:"Edit"},[M(f(I),{class:"text-slate-800 dark:text-slate-200 w-4 h-4 group-hover:text-green-600 dark:group-hover:text-blue-50"})],8,pe),n("button",{onClick:D(t=>_("delete",e),["stop"]),class:"inline-flex items-center justify-center whitespace-nowrap font-medium border rounded-md text-xs h-8 w-8 p-0 border-slate-300 bg-white transition-all duration-200 shadow-sm dark:border-slate-600 dark:bg-slate-700 dark:hover:bg-slate-600 dark:hover:text-slate-200 hover:border-blue-300 hover:bg-blue-50 hover:text-blue-600",title:"Preview"},[M(f(H),{class:"w-4 h-4 text-slate-800 dark:text-slate-200 group-hover:text-red-600 dark:group-hover:text-blue-50"})],8,ge),P(a.$slots,"actions",{row:e})])])]))),128))])])])])])]))}});export{G as C,J as X,Ce as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as f}from"./chevron-left-WFftVS9c.js";import{C as x}from"./chevron-right-BiiSb3Be.js";import{d as w,E as k,D as y,A as h,o as r,a as d,b as t,t as n,g as c,f as b,e as p,j as g,k as _,n as C}from"./index-yMJAVBXk.js";const $={class:"flex items-center justify-between px-6 py-4 border-t border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-800"},M={class:"flex justify-between flex-1 sm:hidden"},j={class:"relative inline-flex items-center px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50"},P={class:"relative inline-flex items-center px-4 py-2 ml-3 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50"},B={class:"hidden sm:flex-1 sm:flex sm:items-center sm:justify-between"},N={class:"text-sm text-slate-600 dark:text-slate-400"},T={class:"font-medium text-slate-800 dark:text-slate-100"},V={class:"font-medium text-slate-800 dark:text-slate-100"},z={class:"relative z-0 inline-flex space-x-2 rounded-md shadow-sm","aria-label":"Pagination"},D=["disabled"],E={class:"sr-only"},L={class:"space-x-1"},S={key:0,class:"px-2 py-2 text-gray-400"},A=["onClick"],F=["disabled"],R={class:"sr-only"},H=w({__name:"UniversalTablePagination",props:k({total:{},count:{},limit:{}},{page:{},pageModifiers:{}}),emits:["update:page"],setup(u){const s=y(u,"page"),i=h(()=>Math.ceil(u.total/u.limit)),v=h(()=>{const a=[];if(i.value<=4){for(let l=1;l<=i.value;l++)a.push(l);return a}const o=Math.max(2,s.value-2),m=Math.min(i.value-1,s.value+2);a.push(1),o>2&&a.push("ellipsis");for(let l=o;l<=m;l++)a.push(l);return m<i.value-1&&a.push("ellipsis"),a.push(i.value),a});return(e,a)=>(r(),d("div",$,[t("div",M,[t("button",j,n(e.$t("common.pagination.previous")),1),t("button",P,n(e.$t("common.pagination.next")),1)]),t("div",B,[t("div",null,[t("p",N,[c(n(e.$t("common.pagination.showing"))+" ",1),t("span",T,n(e.count),1),c(" "+n(e.$t("common.pagination.of"))+" ",1),t("span",V,n(e.total),1),c(" "+n(e.$t("common.pagination.results")),1)])]),t("div",null,[t("nav",z,[t("button",{onClick:a[0]||(a[0]=o=>s.value=s.value>1?s.value-1:1),disabled:s.value===1,class:"inline-flex items-center justify-center whitespace-nowrap font-medium transition-colors border shadow-sm rounded-md text-xs h-8 w-8 p-0 bg-white border-slate-300 text-slate-600 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed hover:text-accent-foreground hover:bg-slate-50 dark:bg-slate-700 dark:border-slate-600 dark:text-slate-300 dark:hover:bg-slate-600"},[t("span",E,n(e.$t("common.pagination.previous")),1),b(p(f),{class:"w-5 h-5"})],8,D),t("div",L,[(r(!0),d(g,null,_(v.value,(o,m)=>(r(),d(g,{key:o+"-"+m},[o==="ellipsis"?(r(),d("span",S,"...")):(r(),d("button",{key:1,onClick:l=>s.value=o,class:C(["inline-flex items-center justify-center whitespace-nowrap font-medium transition-colors h-8 w-8 p-0 text-sm rounded-md",{"border shadow-sm hover:text-accent-foreground bg-white dark:bg-slate-700 border-slate-300 dark:border-slate-600 text-slate-600 dark:text-slate-300 hover:border-blue-600 hover:bg-slate-50 dark:hover:bg-slate-600":o!==s.value,"shadow bg-blue-600 hover:bg-blue-700 text-white border-blue-600":o===s.value}])},n(o),11,A))],64))),128))]),t("button",{onClick:a[1]||(a[1]=o=>s.value=s.value<Math.ceil(e.total/e.limit)?s.value+1:Math.ceil(e.total/e.limit)),disabled:s.value===Math.ceil(e.total/e.limit),class:"inline-flex items-center justify-center whitespace-nowrap font-medium transition-colors border shadow-sm rounded-md text-xs h-8 w-8 p-0 bg-white border-slate-300 text-slate-600 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed hover:text-accent-foreground hover:bg-slate-50 dark:bg-slate-700 dark:border-slate-600 dark:text-slate-300 dark:hover:bg-slate-600"},[t("span",R,n(e.$t("common.pagination.next")),1),b(p(x),{class:"w-5 h-5"})],8,F)])])])]))}});export{H as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as c}from"./SettingsTitle-t4WJBFxZ.js";import{_ as p}from"./SettingsTable-CY5pZx1z.js";import{u as d,m as f,p as m,a as g,f as n,e as k,o as _,U as w}from"./index-yMJAVBXk.js";import"./index-DGweaj24.js";const V={class:"w-full max-w-7xl mx-auto space-y-6"},x={__name:"Users",setup(h){const{t:s}=d(),o=f([{key:"allowRegistration",label:s("settings.users.allowRegistration"),description:s("settings.users.allowRegistrationDescription"),checked:!0},{key:"emailVerification",label:s("settings.users.emailVerification"),description:s("settings.users.emailVerificationDescription"),checked:!0},{key:"autoApprove",label:s("settings.users.autoApprove"),description:s("settings.users.autoApproveDescription"),checked:!1},{key:"defaultRole",label:s("settings.users.defaultRole"),description:"",value:"Viewer",options:[{text:"Viewer",id:"Viewer"},{text:"Contributor",id:"Contributor"},{text:"Author",id:"Author"}]}]),a=async()=>{var i;const e=await(await fetch("/api/settings")).json();l(((i=e==null?void 0:e.settings)==null?void 0:i.users)||{})},l=t=>{t&&Object.entries(t).forEach(([e,i])=>{const r=o.value.find(u=>u.key===e);r&&(r.checked=i)})};return m(()=>{a()}),(t,e)=>(_(),g("div",V,[n(c,{title:t.$t("settings.users.users"),description:t.$t("settings.users.usersDescription")},null,8,["title","description"]),n(p,{modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=i=>o.value=i),icon:k(w),title:t.$t("settings.users.userRegistration"),color:"green"},null,8,["modelValue","icon","title"])]))}};export{x as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u as $,m as U,p as B,a as D,b as r,t as i,e as a,f as w,h as l,w as E,v as c,r as j,o as n,H as C,g as N,l as V}from"./index-yMJAVBXk.js";import{y as b}from"./index-DGweaj24.js";import{_ as P}from"./EmptyData-Ct-xQv_N.js";import{_ as T}from"./UniversalTable.vue_vue_type_script_setup_true_lang-BQ5m4aZd.js";import{P as H}from"./plus-DLR44m6p.js";import"./eye-Dijywc6g.js";import"./file-B_duymIT.js";import"./pencil-CwnPP4IJ.js";import"./trash-2-BGXMNU3d.js";import"./square-pen-xVs4e8Yb.js";const S={class:"space-y-6 max-w-7xl mx-auto"},F={class:"flex items-center justify-between mb-8"},I={class:"flex items-center gap-2"},L={class:"text-3xl font-bold text-slate-800 dark:text-slate-100 mb-2"},M=["href","title"],R={class:"text-slate-600 dark:text-slate-300"},q={class:"rounded-xl text-card-foreground shadow-lg border-0 bg-white dark:bg-slate-800 backdrop-blur-sm overflow-hidden"},ee={__name:"UsersPage",setup(z){const{t:s,locale:g}=$(),v=V(),o=U([]),u=async()=>{try{const t=await(await fetch("api/data/admin.users.table")).json();o.value=t}catch(e){console.error(e)}},y=async e=>{try{let t=await fetch(`/api/form/admin.users.table/${e.uid}`);t=await t.json(),await fetch(`/api/table/${t.token}`,{method:"DELETE"}),b({type:"success",title:s("common.actions.success"),message:s("users.deleteUserSuccess")}),u()}catch(t){b({type:"error",title:s("common.actions.warning"),message:s("users.deleteUserFailed")}),console.error(t)}},x=async e=>{v.push(`/users/edit/${e.uid}`)};return B(()=>{u()}),(e,t)=>{var d,m,p,h,f,_;const k=j("router-link");return n(),D("div",S,[r("div",F,[r("div",null,[r("div",I,[r("h1",L,i(e.$t("users.createUser")),1),r("a",{href:`https://cms.opengis.info/${a(g)}/config/user-management/`,target:"_blank",title:e.$t("guide.users")},[w(a(C),{class:"w-5 h-5"})],8,M)]),r("p",R,i(e.$t("users.description")),1)]),((m=(d=o.value)==null?void 0:d.rows)==null?void 0:m.length)>0?(n(),l(k,{key:0,to:"/users/create/",class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium h-9 px-4 py-2 bg-blue-600 text-white shadow-md transition-all duration-200 transform hover:bg-blue-700 hover:shadow-lg hover:scale-105 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"},{default:E(()=>[w(a(H),{class:"w-4 h-4 mr-2"}),N(" "+i(e.$t("users.createUser")),1)]),_:1})):c("",!0)]),r("div",q,[!o.value||((h=(p=o.value)==null?void 0:p.rows)==null?void 0:h.length)===0?(n(),l(P,{key:0,title:a(s)("users.emptyTitle"),description:a(s)("users.emptyDescription"),"button-text":a(s)("users.emptyButton"),"show-button":!0},null,8,["title","description","button-text"])):c("",!0),((_=(f=o.value)==null?void 0:f.rows)==null?void 0:_.length)>0?(n(),l(T,{key:1,columns:o.value.columns,rows:o.value.rows,"on-edit":x,onDelete:y},null,8,["columns","rows"])):c("",!0)])])}}};export{ee as default};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import{c as o}from"./index-yMJAVBXk.js";/**
|
|
2
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const t=o("ArrowDownIcon",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);/**
|
|
7
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const e=o("ArrowRightFromLineIcon",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]);/**
|
|
12
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the ISC license.
|
|
15
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/const a=o("ArrowUpIcon",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);export{t as A,a,e as b};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as e}from"./index-yMJAVBXk.js";/**
|
|
2
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const t=e("ChevronLeftIcon",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);export{t as C};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as o}from"./index-yMJAVBXk.js";/**
|
|
2
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const e=o("ChevronRightIcon",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);export{e as C};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as ie,u as Y,D as le,m as y,O as ne,p as G,N as P,z as M,A as F,o as x,h as Z,e as w,v as I,a as A,b as u,g as K,f as D,d as ce,q as ue,P as de,t as U,H as me,j as pe,k as ve,n as X,B as L,Q as fe,R as q,l as ge,J as he}from"./index-yMJAVBXk.js";import{_ as ye,a as be,V as we,b as R,c as _e,d as xe,e as ke,g as $e}from"./vs-form-reletion-link-C-xrdHDl.js";import{l as Q,Q as V}from"./index-DCW2e4Az.js";import{y as H}from"./index-DGweaj24.js";import{_ as Se}from"./CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-DVYVfYF4.js";import{S as Ve}from"./save-FeDrOUOd.js";import"./pencil-CwnPP4IJ.js";import"./trash-2-BGXMNU3d.js";import"./plus-DLR44m6p.js";import"./vuedraggable.umd-W_2WTF6i.js";import"./square-pen-xVs4e8Yb.js";import"./MediaBreadcrumb-BpOxt5PK.js";import"./file-B_duymIT.js";import"./chevron-right-BiiSb3Be.js";import"./search-C4-fHihx.js";import"./list-CXRbSNky.js";/**
|
|
2
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const Ae=ie("ExternalLinkIcon",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),Te=[{key:"title",label:"common.title",localization:!0,type:"text"},{key:"description",label:"common.description",localization:!0,type:"text"},{key:"keywords",label:"common.keywords",localization:!0,type:"text"},{key:"meta",label:"common.meta",type:"key-value",ignore:["title","description","keywords"]}],je={__name:"VsFormTags",props:{modelValue:{default:()=>[]},modelModifiers:{}},emits:["update:modelValue"],setup($,{expose:n}){const{t:k}=Y(),l=le($,"modelValue"),d=y({}),f=y(!1);ne("metaParentValue",l);const m=t=>Array.isArray(t)?t.map(i=>typeof i=="object"&&i!==null&&i.id?i.id:i):[],b=async t=>{if(!Array.isArray(t)||t.length===0)return[];try{const S=await(await fetch("/api/tags")).json(),v=(S==null?void 0:S.rows)||[];return t.map(c=>{const B=v.find(j=>j.tag_id===c);return B?{id:B.tag_id,text:B.value,color:B.color}:{id:c,text:"",color:"#ababab"}})}catch(i){return console.error("Error fetching tags:",i),t.map(S=>({id:S,text:"",color:"#ababab"}))}};G(async()=>{await P(),await P(),setTimeout(()=>{var t;if(Array.isArray((t=l.value)==null?void 0:t.tag_list)){const i=m(l.value.tag_list);JSON.stringify(i)!==JSON.stringify(l.value.tag_list)&&(l.value.tag_list=i)}},100)}),M(()=>l.value.tag_list,t=>{if(Array.isArray(t)&&!f.value){const i=m(t);JSON.stringify(i)!==JSON.stringify(t)&&(l.value.tag_list=i)}},{deep:!0}),M(()=>l.value,t=>{if(t&&Array.isArray(t.tag_list)&&!f.value){const i=m(t.tag_list);JSON.stringify(i)!==JSON.stringify(t.tag_list)&&(t.tag_list=i)}},{deep:!0,immediate:!0}),M(()=>{var t;return(t=l.value)==null?void 0:t.tag_list},t=>{Array.isArray(t)&&d.value&&P(()=>{d.value&&d.value.setValue&&d.value.setValue("tag_list",t)})},{deep:!0});const T=async t=>{if(t.tag_list&&(t.tag_list=m(t.tag_list),l.value.tag_list=t.tag_list),await d.value.validate()){H({type:"warning",title:k("common.actions.warning"),message:k("builder.editFieldFailed")});return}};n({restoreTagsBeforeSubmit:async()=>{var t;if(f.value=!0,Array.isArray((t=l.value)==null?void 0:t.tag_list)){console.log("Before restore:",l.value.tag_list);const i=await b(l.value.tag_list);console.log("After restore:",i),l.value.tag_list=i}setTimeout(()=>{f.value=!1},2e3)}});const O=F(()=>{var t;return[{key:"tag_list",type:"select",multiple:!0,searchable:!1,placeholder:k("builder.tags"),data:"tag_id",value:((t=l.value)==null?void 0:t.tag_list)||[]}]});return(t,i)=>l.value?(x(),Z(w(Q),{key:0,schema:O.value,modelValue:l.value,"onUpdate:modelValue":[i[0]||(i[0]=S=>l.value=S),T]},null,8,["schema","modelValue"])):I("",!0)}},ze={class:"flex justify-end mb-4"},Ce=["href"],Ne=["src"],Fe=["src"],De={key:2,class:"w-full h-[80vh] flex items-center justify-center text-gray-500"},Be={__name:"VsPreview",props:{preview_path:{type:String,default:""},slug:{type:String,default:""}},setup($){const n=y(""),k=y(""),l=async()=>{var f,m;try{const T=await(await fetch("/api/settings")).json();n.value=((m=(f=T==null?void 0:T.settings)==null?void 0:f.site_info)==null?void 0:m.previewUrl)||"http://ip.local.softpro.ua"}catch(b){console.error("Failed to fetch settings:",b),n.value="http://ip.local.softpro.ua"}},d=async()=>{var f;try{const b=await(await fetch("/user")).json();k.value=(f=b==null?void 0:b.user)==null?void 0:f.draftKey}catch(m){console.error("Failed to fetch user:",m)}};return G(()=>{l(),d()}),(f,m)=>(x(),A("div",null,[u("div",ze,[u("a",{href:`${n.value}/uk/${$.preview_path}${$.slug}${k.value?`?draftKey=${k.value}`:""}`,target:"_blank",class:"inline-flex items-center gap-2 px-3 py-1.5 text-black-600 bg-white border border-blue-200 rounded hover:border-blue-300 hover:bg-blue-50 transition-colors duration-200 font-normal cursor-pointer"},[m[0]||(m[0]=K(" Переглянути на сайті ",-1)),D(w(Ae),{class:"w-4 h-4"})],8,Ce)]),n.value&&$.preview_path?(x(),A("iframe",{key:0,src:`${n.value}/uk/${$.preview_path}${$.slug}?hideHeader=true&hideFooter=true`,class:"w-full h-[80vh]"},null,8,Ne)):n.value?(x(),A("iframe",{key:1,src:`${n.value}/uk/${$.slug}?hideHeader=true&hideFooter=true`,class:"w-full h-[80vh]"},null,8,Fe)):(x(),A("div",De," Loading preview... "))]))}},Oe={class:"space-y-6 max-w-6xl mx-auto relative bg-white"},Ue={class:"p-4 sticky top-[-24px] z-10 bg-white dark:bg-slate-800"},Pe={class:"flex items-center justify-between"},Je={class:"flex items-center gap-4"},Ee={class:"text-2xl font-semibold text-gray-900 dark:text-white"},Le=["href","title"],Me={class:"flex items-center space-x-3"},Ie={class:"w-full mt-6 flex items-center justify-between"},He={class:"flex items-center w-full h-10 max-w-md grid-cols-3 p-1 bg-white border border-gray-200 rounded-md text-muted-foreground"},qe=["onClick"],Re={class:"flex items-center gap-2"},Ke={for:"is_pin",class:"text-sm font-medium text-gray-700 dark:text-gray-300 cursor-pointer"},Qe={class:"relative"},Ge={key:0,class:"w-3 h-3 text-white",fill:"currentColor",viewBox:"0 0 20 20"},We={class:"container mx-auto bg-white rounded-md pb-4 px-5"},Xe={class:"container mx-auto bg-white rounded-md pb-4 px-2"},Ye={key:0,class:"container mx-auto bg-white rounded-md pb-4 px-2"},Ze={class:"container mx-auto bg-white rounded-md pb-4 px-2"},gt=ce({__name:"contentForm",setup($){V["vs-input-custom-datatable"]=ye,V["vs-input-reference"]=be,V["vs-input-texteditor"]=we,V["vs-input-mediaselect"]=R,V["vs-input-file"]=R,V["vs-input-image"]=R,V["vs-input-richtext-md"]=_e,V["vs-input-integer"]=xe,V["vs-input-relation-link"]=ke;const{t:n,locale:k}=Y(),l=ge(),d=he(),f=ue("menu",y([])),m=y([]),b=y({}),T=y({}),J=y({}),O=y(""),t=e=>{const a=[];return e.forEach(o=>{if(a.push(o),o.localization){const p={...o,name:o.name+":en",label:o.label+" (en)"};a.push(p)}}),a},i=F(()=>{var e;return(e=m.value)==null?void 0:e.map($e)}),S=F(()=>(k.value,Te.flatMap(e=>{const a={...e,label:n(e.label)};if(e.localization){const o={...e,key:`${e.key}:en`,label:n(e.label)+" (en)"};return[a,o]}return[a]}))),v=y({}),c=y({title:"",status:"draft"}),B=F(()=>{const e=[{id:"content",name:n("builder.content")},{id:"seo",name:n("builder.seo")},{id:"tags",name:n("builder.tags")}];return O.value&&e.push({id:"preview",name:n("builder.preview")}),e}),j=y("content"),ee=F(()=>{var a,o,p,g;const e=((a=d.params)==null?void 0:a.collection)||((o=d.params)==null?void 0:o.id);return((g=(p=f.value)==null?void 0:p.find(h=>h.id===e))==null?void 0:g.title)||e}),te=F(()=>{var e,a;return((e=c.value)==null?void 0:e.title)||((a=d.params)!=null&&a.id?n("builder.editCollection"):n("articles.createArticle"))}),ae=F(()=>{var p,g,h;const e=((p=d.params)==null?void 0:p.collection)||((g=d.params)==null?void 0:g.id),a=(h=d.params)==null?void 0:h.id,o=[{label:ee.value,route:`collections/${e}`}];return a?o.push({label:te.value,route:`collections/${e}/${a}`}):o.push({label:n("articles.createArticle"),route:`collections/${e}/create`}),o}),se=e=>{e==="collections"?l.push("/collections"):l.push(`/${e}`)};G(async()=>{var g,h,z;const e=(g=d.params)==null?void 0:g.collection,a=(h=d.params)==null?void 0:h.id,o=e||a,p=e&&a?a:void 0;if(!p){if(!o)return;const r=await(await fetch(`/api/cms/${o}/`)).json();m.value=t(r.columns)}try{if(!p||!o)return;const _=await fetch(`/api/cms/${o}/${p}`);if(!_.ok)throw new Error("Failed to fetch article");const r=await _.json();if(m.value=t(r==null?void 0:r.columns),r!=null&&r.preview_path&&(O.value=r==null?void 0:r.preview_path),r.rows){let s=r.rows;Array.isArray(s)||(s=[s]),c.value=s[0],await P(),(z=s[0])!=null&&z.meta?v.value={...s[0].meta}:v.value={title:"",description:"",keywords:"",meta:{}},console.log("Initialized seoData from rows[0]:",v.value)}else c.value=r,await P(),r!=null&&r.meta?(v.value={title:r.meta.title||"",description:r.meta.description||"",keywords:r.meta.keywords||"",meta:{...r.meta}},delete v.value.meta.title,delete v.value.meta.description,delete v.value.meta.keywords):v.value={title:"",description:"",keywords:"",meta:{}},console.log("Initialized seoData from data:",v.value)}catch(_){console.error("Error fetching article:",_)}});const W=F({get:()=>{var e;return((e=c.value)==null?void 0:e.is_pin)||!1},set:e=>{c.value&&(c.value.is_pin=e)}}),oe=()=>{c.value&&(c.value.is_pin=!c.value.is_pin)};M(v,e=>{console.log("seoData changed:",e)},{deep:!0});const re=async e=>{var z,_,r,s;const a=(z=d.params)==null?void 0:z.collection,o=(_=d.params)==null?void 0:_.id,p=await b.value.validate();if(p){H({title:n("validation"),message:JSON.stringify(p),type:"warning"});return}(r=J.value)!=null&&r.restoreTagsBeforeSubmit&&await J.value.restoreTagsBeforeSubmit();const g=v.value||{},h={...c.value,meta:{...g,...g.meta||{}}};console.log("Payload before submit:",h);try{const C=await fetch(`/api/cms/${a}/${o||""}`,{method:o?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(h)});if(!C.ok){let N;try{const E=await C.json();N=JSON.stringify(E,null,2)}catch{N=await C.text()}throw new Error(`HTTP ${C.status}: ${N}`)}if(!o)try{const N=await C.json(),E=N.id||((s=N.data)==null?void 0:s.id);E&&d.name==="createArticle"&&await l.push(`/collections/${a}/${E}`)}catch(N){console.warn("Could not parse response to get ID:",N)}H({title:n("common.success"),message:n("common.successMessage"),type:"success"})}catch(C){console.error("Submit error:",C),H({title:n("common.error"),message:"Помилка збереження",type:"error"})}};return(e,a)=>{var o,p,g,h,z,_,r;return x(),A("div",Oe,[u("div",Ue,[D(Se,{items:ae.value,onNavigate:se},null,8,["items"]),u("div",Pe,[u("div",Je,[u("button",{onClick:a[0]||(a[0]=s=>w(l).back()),class:"p-2 text-gray-500 rounded-full hover:text-gray-900 dark:text-gray-400 dark:hover:text-white hover:bg-gray-100 dark:hover:bg-gray-700"},[D(w(de),{class:"w-5 h-5"})]),u("h1",Ee,[K(U(e.$t("builder.editCollection"))+" ",1),u("span",null,'"'+U(((o=c.value)==null?void 0:o.type)==="single"?c.value.title:(g=(p=w(f).value)==null?void 0:p.find(s=>s.id===(w(d).params.collection||w(d).params.id)))==null?void 0:g.title)+'"',1)]),u("a",{href:`https://cms.opengis.info/${w(k)}/guides/content/`,target:"_blank",title:e.$t("guide.content")},[D(w(me),{class:"w-5 h-5"})],8,Le)]),u("div",Me,[u("button",{onClick:re,type:"submit",class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium h-9 px-4 py-2 bg-blue-600 text-white shadow-md transition-all duration-200 transform hover:bg-blue-700 hover:shadow-lg hover:scale-105 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50"},[D(w(Ve),{class:"w-4 h-4 mr-2"}),K(" "+U(e.$t("builder.save")),1)])])]),u("div",Ie,[u("div",He,[(x(!0),A(pe,null,ve(B.value,s=>(x(),A("button",{key:s.id,onClick:C=>j.value=s.id,class:X(["inline-flex flex-1 items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm data-[state=active]:bg-blue-50 data-[state=active]:text-blue-700 data-[state=active]:border-blue-200",s.id===j.value?"bg-blue-50 text-blue-700 border-blue-200":""])},U(s.name),11,qe))),128))]),u("div",Re,[u("label",Ke,U(e.$t("collections.pinPublication")),1),u("div",Qe,[L(u("input",{type:"checkbox",id:"is_pin","onUpdate:modelValue":a[1]||(a[1]=s=>W.value=s),class:"sr-only"},null,512),[[fe,W.value]]),u("div",{class:X(["w-5 h-5 border-2 rounded transition-all duration-200 cursor-pointer flex items-center justify-center",(h=c.value)!=null&&h.is_pin?"bg-sky-600 border-sky-600":"bg-white border-gray-300 hover:border-sky-400 dark:bg-gray-700 dark:border-gray-600 dark:hover:border-sky-400"]),onClick:oe},[(z=c.value)!=null&&z.is_pin?(x(),A("svg",Ge,[...a[7]||(a[7]=[u("path",{"fill-rule":"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z","clip-rule":"evenodd"},null,-1)])])):I("",!0)],2)])])])]),L(u("div",We,[(_=m.value)!=null&&_.length?(x(),Z(w(Q),{key:0,modelValue:c.value,"onUpdate:modelValue":a[2]||(a[2]=s=>c.value=s),schema:i.value,form:b.value,"onUpdate:form":a[3]||(a[3]=s=>b.value=s)},null,8,["modelValue","schema","form"])):I("",!0)],512),[[q,j.value==="content"]]),L(u("div",Xe,[D(w(Q),{schema:S.value,values:v.value,"onUpdate:values":a[4]||(a[4]=s=>v.value=s),form:T.value,"onUpdate:form":a[5]||(a[5]=s=>T.value=s)},null,8,["schema","values","form"])],512),[[q,j.value==="seo"]]),j.value==="tags"?(x(),A("div",Ye,[D(je,{ref_key:"tagsForm",ref:J,modelValue:c.value,"onUpdate:modelValue":a[6]||(a[6]=s=>c.value=s)},null,8,["modelValue"])])):I("",!0),L(u("div",Ze,[D(Be,{slug:(r=c.value)==null?void 0:r.slug,preview_path:O.value},null,8,["slug","preview_path"])],512),[[q,j.value==="preview"]])])}}});export{gt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={faq:"FAQ",banner:"Banner",slider:"Slider",video:"Video",about:"About",cards:"Cards",usefulLinks:"Useful Links",team:"Team",body:"Body",news:"News",form:"Form",tabs:"Tabs",vertical_tabs:"Vertical Tabs",documents:"Documents",infoLine:"Information Line",interested:"You may be interested",contact:"Contact"},t={editMenu:"Edit Menu",dashboard:"Dashboard",collections:"Collections Structure",articles:"Articles",posts:"Posts",media:"Media",permissions:"Permissions",tags:"Tags",singletons:"Pages",feedback:"Feedback",email:"Пошти користувачів",singletonsMenu:"Menu",menuAdd:"Create Menu",builder:"Collections Structure",back:"Back",settings:"Settings",settingsDescription:"Manage your CMS configuration",singletonsMenuDescription:"Manage your menu.",users:"Users",general:"General",apiKeys:"API Keys",appearance:"Appearance",logs:"Logs"},o={title:"Dashboard",newCollection:"Create Collection",quickActions:"Quick Actions",views:"views",stats:{totalArticles:"Total Articles",totalMedia:"Total Media",activeUsers:"Active Users",apiRequests:"API Requests",fromLastMonth:"from last month"},collections:{title:"Collections",articles:"Articles",articlesDesc:"Description for articles",posts:"Posts",postsDesc:"Description for posts",products:"Products",productsDesc:"Description for products",categories:"Categories",categoriesDesc:"Description for categories",items:"items",new:"New Collection"},recentArticles:"Recent Articles",recentPosts:"Recent Posts",activeUsers:"Active Users",mediaFiles:"Media Files",createArticle:"Create Article",createPost:"Create Post",uploadMedia:"Upload Media",manageUsers:"Manage Users",feedback:"Feedback",createArticleDescription:"Create a new article for your site",uploadMediaDescription:"Upload media files for your site",manageUsersDescription:"Manage users for your site",viewFeedbackDescription:"View feedback for your site",activityFeed:"Activity Feed",viewAll:"View all",description:"Welcome to the CMS dashboard. You can create, edit, and manage your site's content.",newArticle:"Create Article",totalContent:"Total Content",articlesPostsPages:"Articles, Posts and Pages",monthlyActiveUsers:"Monthly Active Users",imagesVideosDocs:"Images, Videos and Docs",thisMonth:"This Month",newMediaFiles:"New Media Files",gettingStartedWithNextJs14:"Getting Started with Next.js 14",sarahJohnson:"Sarah Johnson",advancedReactPatterns:"Advanced React Patterns",uiUxDesignPrinciples:"UI/UX Design Principles",databaseOptimizationTips:"Database Optimization Tips",mikeChen:"Mike Chen",emmaWilson:"Emma Wilson",alexRodriguez:"Alex Rodriguez",recentContent:"Recent Content"},i={title:"Collections",selectCollection:"Select a collection to view its content",createCollection:"New Collection",searchCollections:"Search collections...",entries:"Entries",fields:"Fields",lastModified:"Last Modified",edit:"Edit",delete:"Delete",view:"View",form:{name:"Collection Name",slug:"Slug",description:"Description",fields:"Fields",addField:"Add Field"},dragToBuild:"Drag and drop content blocks here to build your collection structure",collectionCreated:"Collection created successfully",collectionCreationFailed:"Error creating collection",pinPublication:"Pin Publication"},a={title:"Articles",createArticle:"Create Article",searchArticles:"Search articles...",showColumns:"Show columns",update:"Update",create:"Create",form:{title:"Title",content:"Content",author:"Author",category:"Category",status:"Status"}},s={title:"Posts",createPost:"Create Post",searchPosts:"Search posts...",form:{title:"Title",content:"Content",author:"Author",category:"Category",status:"Status"}},n={title:"Singletons",createSingleton:"Create Singleton",searchSingletons:"Search singletons...",form:{name:"Name",description:"Description",content:"Content",status:"Status"},search:"Search singletons..."},r={title:"Media Library",description:"Manage your images, documents, and media files.",uploadMedia:"Upload Media",searchMedia:"Search files...",fileInfo:"File Information",preview:"Preview",newFolder:"New Folder",selectFile:"Select a file to view details",fileDetails:"File Details",name:"Name",size:"Size",dimensions:"Dimensions",uploadDate:"Upload Date",author:"Author",tags:"Tags",banner:"Banner",hero:"Hero",homepage:"Homepage",download:"Download",copyPath:"Copy path",copyPathFailed:"Failed to copy path",delete:"Delete",edit:"Edit",share:"Share",moreActions:"More actions",deleteFile:"Delete File",cancel:"Cancel",mediaLibrary:"Media Library",showColumns:"Show columns",update:"Update",create:"Create",createFolder:"Create Folder",files:"files",noFilesInFolder:"No files in this folder",deleteConfirmation:"Are you sure you want to delete this file?",uploaded:"Uploaded",filter:"Filter",search:"Search media files...",uploadingFiles:"Uploading files",uploading:"Uploading...",folder:"Folder",updatedAt:"Updated At",type:"Type",sortBy:{title:"Sort by",name:"File name",filesize:"File size"},upload:"Upload",selectFromMedia:"Select from media",selectedFiles:"Selected files: {count}",selectFiles:"Select files"},l={title:"Tags",description:"Manage your tags.",createTag:"Create Tag",editTag:"Edit Tag",searchTags:"Search tags...",form:{name:"Name",description:"Description",color:"Color",created_at:"Created At",count_data:"Count of Used",topic:"Topic"},emptyTitle:"No tags found",emptyDescription:"Create your first tag to get started.",emptyButton:"Create Tag"},c={title:"Feedback",description:"View feedback",table:{number:"№",noFeedback:"No feedback",email:"Email",userName:"Full name",messageText:"Message text",feedbackType:"Type of appeal",phone:"Phone",resumeLink:"Resume link",linkedinLink:"Linkedin link",portfolioLink:"Portfolio link",telegramLink:"Telegram link"}},d={title:"User mails",description:"View users awaiting feedback",table:{number:"№",date:"Date of shipment",email:"Email"}},u={title:"No data found",description:"Create your first item to get started.",buttonText:"Create Item"},m={gen:"Generate",key:"Key",value:"Value",noDataToDisplay:"No data to display",add:"Add"},p={manageContentCollections:"Manage content collections",searchCollections:"Search collections...",collections:"Collections",collectionStructure:"Collection Structure",defineFields:"Define the fields and their types for this collection",name:"Name",edit:"Edit",preview:"Preview",type:"Type",content:"Content",seo:"SEO",tags:"Tags",save:"Save",cancel:"Cancel",create:"Create",localization:"Localization",actions:"Actions",noColumnsFound:"No columns found",collectionName:"Collection Name",title:"Title",entries:"Entries",fields:"Fields",status:"Status",lastModified:"Last Modified",editCollection:"Edit collection",editContentForYourSite:"Edit content for your site",deleteObject:"Are you sure you want to delete this object?",editField:"Edit field",deleteTitle:"Delete field",deleteField:"Are you sure you want to delete this field?",scheme:{name:{label:"Name",placeholder:"Name"},title:{label:"Title",placeholder:"Title"},type:{label:"Type",placeholder:"Type",options:{collection:"Collection",single:"Single"}},customTable:{label:"Custom Table"},status:{label:"Status",placeholder:"Status",options:{published:"Published",draft:"Draft",archived:"Archived"}},description:{label:"Description",placeholder:"Description"},preview_path:{label:"Preview path",placeholder:"Preview path",info:"Path to slug for preview"},include_search:{label:"Include in search?",placeholder:"Include in search?"}},required:"Required field",createField:"Create field",selectType:"Select type",createFolder:"Create folder",changeType:"Change type",fieldLabels:{name:"Name",label:"Label",placeholder:"Placeholder",help:"Help",type:"Type",subtype:"Subtype",parent:"Parent",options:"Options",colModel:"ColModel",multiple:"Multiple",api:"API",relation:"Relation",required:"Required",localization:"Localization"},fieldPlaceholders:{name:"Name",label:"Title",placeholder:"Placeholder",help:"Help",type:"Type",subtype:"Subtype",parent:"Parent",options:"Options",colModel:"ColModel",api:"API",relation:"Relation"},fieldOptions:{text:"Text",number:"Number",integer:"Integer",date:"Date",datetime:"Datetime",file:"File",select:"Select",multiselect:"MultiSelect",mediaselect:"MediaSelect",radio:"Radio",boolean:"Boolean",datalist:"Data list",image:"Image",slug:"Slug",richtext:"Rich Text",markdown:"Markdown",reference:"Reference",relation:"Relation",fileList:"Gallery",tags:"Tags"}},g={title:"Menu",description:"Manage your menu.",createMenu:"Create Menu",searchMenu:"Search menu...",menuAdd:"Add Menu",editMenu:"Edit Menu",textEditor:"Text Editor",listTree:"List Tree",filter:"Filter",search:"Search menu...",menuCreated:"Menu created",menuCreateError:"Error creating menu",menuUpdated:"Menu updated",menuUpdateError:"Error updating menu",menuDeleted:"Menu deleted",menuDeleteError:"Error deleting menu",form:{name:"Name",description:"Description",content:"Content",status:"Status",value:"Value",language:"Language"}},f={title:"Settings",description:"Configure your CMS settings and preferences.",systemStatus:"System Status",siteInformation:"Site Information",siteName:"Site Name",version:"Version",environment:"Environment",security:"Security",localization:"Localization",production:"Production",systemHealth:"System Health",database:"Database",connected:"Connected",cache:"Cache",active:"Active",storage:"Storage",used:"Used",configure:"Configure",successTitle:"Success",successMessage:"Settings saved successfully",errorTitle:"Error",errorMessage:"Error saving settings",generateNewKey:"Generate New Key",apiSecurity:"API Security",general:{general:"General Settings",generalDescription:"Manage your general settings.",url:"URL",language:"Language",languages:"Languages",contacts:"Contacts",showSocialsNumber:"Number of socials to display",mapCoords:"Map coordinates",socials:"Socials",saveChanges:"Save Changes",cancel:"Cancel",notifications:"Notifications",emailNotifications:"Email Notifications",emailNotificationsDescription:"Receive notifications by email",pushNotifications:"Browser Notifications",pushNotificationsDescription:"Browser notifications for important updates",smsNotifications:"SMS Notifications",smsNotificationsDescription:"SMS notifications for critical updates",desktopNotifications:"Desktop Notifications",desktopNotificationsDescription:"Desktop notifications",siteDescription:"Site Description",siteUrl:"Site URL",siteLanguage:"Site Language",siteEmail:"Site Email",sitePhone:"Site Phone",siteAddress:"Site Address",siteName:"Site Name",title:"Title",content:"Content",name:"Name",siteInformation:"Site Information",logoSite:"Site Logo",logoCms:"CMS Logo",imageLogin:"Login Image",logo:"Logo",siteInformationDescription:"Manage your site information."},users:{users:"User Management",usersDescription:"Manage your user management configuration.",userRegistration:"User Registration",allowRegistration:"Allow User Registration",allowRegistrationDescription:"Enable new users to register accounts",emailVerification:"Email Verification Required",emailVerificationDescription:"Require email verification for new accounts",autoApprove:"Auto-approve Users",autoApproveDescription:"Automatically approve new user registrations",defaultRole:"Default User Role"},"api-keys":{apiKeys:"API Keys",apiKeysDescription:"Manage your api keys configuration.",productionApiKey:"Production API Key",developmentApiKey:"Development API Key",generateNewKey:"Generate New Key",apiSecurity:"API Security",rateLimiting:"Rate Limiting",rateLimitingDescription:"Enable API rate limiting protection",corsProtection:"CORS Protection",corsProtectionDescription:"Cross-origin request security",apiLogging:"API Logging",apiLoggingDescription:"Log all API requests and responses"},appearance:{appearance:"Appearance",appearanceDescription:"Manage your appearance settings.",colorTheme:"Color Theme",darkMode:"Dark Mode",darkModeDescription:"Switch to dark theme",compactMode:"Compact Mode",compactModeDescription:"Reduce spacing and padding",animations:"Animations",animationsDescription:"Enable interface animations",themeBlue:"Blue",themeGreen:"Green",themePurple:"Purple"},logs:{title:"Logs",description:"View all your actions in the system",table:{objectId:"Object Identifier",dateTime:"Date and Time of Change",changeType:"Change Type",noLogs:"No user logs found",noLogsDescription:"No user logs found"}},permissions:{title:"Permissions",user:"User",role:"Role",lastActive:"Last Active",actions:"Actions",rolePermissions:"Role Permissions",rolePermissionsDescription:"Permissions assigned to each role in the system.",permission:"Permission",admin:"Admin",editor:"Editor",author:"Author",viewer:"Viewer",customizePermissions:"Customize Permissions",inviteUser:"Invite User",searchUsers:"Search users...",createContent:"Create Content",editContent:"Edit Content",deleteContent:"Delete Content",publishContent:"Publish Content",manageMedia:"Manage Media",manageUsers:"Manage Users",manageSettings:"Manage Settings",remove:"Remove",edit:"Edit",time:{hoursAgo:"{count} hours ago",hourAgo:"1 hour ago",daysAgo:"{count} days ago",dayAgo:"1 day ago",weeksAgo:"{count} weeks ago",weekAgo:"1 week ago",minutesAgo:"{count} minutes ago",minuteAgo:"1 minute ago",justNow:"just now"},roles:{admin:"Admin",editor:"Editor",author:"Author",viewer:"Viewer"}}},h={type:{heading:"Heading",paragraph:"Paragraph"}},y={name:"SOFTPRO software package: GIS MBK Kamyansk City TG",tagline:"Do more with less"},C={home:"Home",about:"About",profile:"Profile",settings:"Settings",logout:"Log out"},S={ok:"OK",save:"Save",cancel:"Cancel",close:"Close",delete:"Delete",edit:"Edit",loading:"Loading…",retry:"Retry",title:"Title",description:"Description",keywords:"Keywords",successMessage:"Success",errorMessage:"Error",success:"Success",error:"Error",meta:"Meta",actions:{add:"Add",save:"Save",cancel:"Cancel",edit:"Edit",delete:"Delete",create:"Create",preview:"Preview",search:"Search",filter:"Filter",export:"Export",addField:"Add Field",success:"Success",error:"Error",back:"Back"},status:{published:"Published",draft:"Draft",archived:"Archived"},content:"Content",pagination:{showing:"Showing",to:"to",of:"of",results:"results",previous:"Previous",next:"Next"}},b={title:"Sign in",email:"Email",password:"Password",remember:"Remember me",submit:"Sign in",errors:{invalid:"Invalid email or password",required:"{field} is required"}},A={choose:"Choose columns to display",columns:"Columns",actions:"Actions",search:"Search",export:"Export",exportTitle:"Export table",close:"Close",chooseColumns:"Select columns for export:",selectAll:"Select all",selectCurrent:"Select current",none:"None",chooseFormat:"Choose table format:",time:{weeksAgo:"{count} weeks ago",weekAgo:"1 week ago",daysAgo:"{count} days ago",dayAgo:"1 day ago",hoursAgo:"{count} hours ago",hourAgo:"1 hour ago",minutesAgo:"{count} minutes ago",minuteAgo:"1 minute ago",justNow:"just now"},format:{json:"JSON format",csv:"CSV format",xlsx:"XLSX format"},cancel:"Cancel",download:"Download table"},w={search:"Search",more:"Show more",less:"Show less",selected:"selected",clear:"Clear",apply:"Apply",from:"From",to:"To",notfound:"Nothing found",period:"Period",today:"Today",week:"Week",month:"Month",quarter:"Quarter",year:"Year",alltime:"All Time",prev:"Prev",next:"Next"},D={title:"Items",add:"Add item",count:"No items | One item | {count} items",created:"Item “{name}” has been created",deleted:"Item deleted"},M={network:"Network error. Please try again.",notFound:"We couldn't find what you were looking for."},v={saved:"Changes saved",copied:"Copied to clipboard"},P={title:"Users",description:"Manage your users.",createUser:"Create User",editUser:"Edit User",searchUsers:"Search users...",createUserFailed:"Create user failed",createUserSuccess:"User created successfully",editUserFailed:"Edit user failed",editUserSuccess:"User edited successfully",deleteUserSuccess:"User deleted successfully",deleteUserFailed:"User deleted failed",form:{name:"Name",description:"Description",color:"Color",created_at:"Created At",count_data:"Count of Used",topic:"Topic"},emptyTitle:"No users found",emptyDescription:"Create your first user to get started.",emptyButton:"Create User"},T="fetchContentTypes",k="action",F="formValues",N="metaParentValue",U="blur",E="noFilesInFolder",L={menu:"Guide for menu",general:"Guide",media:"Guide for media",settings:"Guide for settings",users:"Guide for users",content:"Guide for content",appOverview:"Guide for app overview",collections:"Guide for collections",help:"Help"},I={reference:e,navigation:t,dashboard:o,collections:i,articles:a,posts:s,singletons:n,media:r,tags:l,feedback:c,email:d,emptyData:u,form:m,builder:p,menu:g,settings:f,block:h,app:y,nav:C,common:S,auth:b,table:A,filter:w,items:D,errors:M,toast:v,users:P,fetchContentTypes:T,action:k,delete:"delete","create-folder":"create-folder",formValues:F,metaParentValue:N,blur:U,"-":"-",noFilesInFolder:E,guide:L};export{k as action,y as app,a as articles,b as auth,h as block,U as blur,p as builder,i as collections,S as common,o as dashboard,I as default,d as email,u as emptyData,M as errors,c as feedback,T as fetchContentTypes,w as filter,m as form,F as formValues,L as guide,D as items,r as media,g as menu,N as metaParentValue,C as nav,t as navigation,E as noFilesInFolder,s as posts,e as reference,f as settings,n as singletons,A as table,l as tags,v as toast,P as users};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c}from"./index-yMJAVBXk.js";/**
|
|
2
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const r=c("EyeIcon",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);export{r as E};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as a}from"./index-yMJAVBXk.js";/**
|
|
2
|
+
* @license lucide-vue-next v0.344.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const t=a("FileIcon",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);export{t as F};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as x}from"./SettingsTitle-t4WJBFxZ.js";import{_ as w}from"./SettingsTable-CY5pZx1z.js";import{u as N,m as r,p as _,a as D,f as u,b as c,w as S,e as l,o as f,h as C,t as y,g as U,c1 as j}from"./index-yMJAVBXk.js";import{y as p}from"./index-DGweaj24.js";import{l as q}from"./index-DCW2e4Az.js";import{S as T}from"./save-FeDrOUOd.js";const V=e=>[{key:"name",label:e("settings.general.siteName"),type:"text",value:e("settings.general.siteName"),col:6,validators:["required"]},{key:"url",label:e("settings.general.siteUrl"),type:"text",value:e("settings.general.siteUrl"),col:6,validators:["required"]},{key:"previewUrl",label:e("settings.general.previewUrl"),type:"text",value:"http://ip.local.softpro.ua",col:3,validators:["required"]},{key:"logo",label:e("settings.general.logoSite"),type:"file",col:3,validators:["required"]},{key:"logo-cms",label:e("settings.general.logoCms"),type:"file",col:3,validators:["required"]},{key:"image-login",label:e("settings.general.imageLogin"),type:"file",col:3,validators:["required"]},{key:"description",label:e("settings.general.siteDescription"),type:"textarea",value:e("settings.general.siteDescription")},{key:"language",label:e("settings.general.language"),type:"select",col:6,validators:["required"],options:[{text:"Ukrainian",id:"uk"},{text:"English",id:"en"}]},{key:"languages",label:e("settings.general.languages"),type:"select",multiple:!0,col:6,options:[{text:"Ukrainian",id:"uk"},{text:"English",id:"en"}]},{key:"contacts",label:e("settings.general.contacts"),type:"DataTable",colModel:[{key:"title",ua:e("settings.general.title"),type:"text"},{key:"content",ua:e("settings.general.content"),type:"text"},{key:"url",ua:e("settings.general.url"),type:"text"}]},{key:"showSocialsNumber",label:e("settings.general.showSocialsNumber"),type:"number"},{key:"socials",label:e("settings.general.socials"),type:"DataTable",colModel:[{key:"id",ua:e("settings.general.name"),type:"text"},{key:"link",ua:e("settings.general.url"),type:"text"}]},{key:"mapCoords",label:e("settings.general.mapCoords"),type:"text"}],$={class:"w-full max-w-7xl mx-auto space-y-6"},E={class:"space-y-6 max-w-7xl mx-auto"},M={class:"flex justify-end space-x-2 pt-4"},B={class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border shadow-sm hover:text-accent-foreground h-9 px-4 py-2 bg-white dark:bg-slate-700 border-slate-300 dark:border-slate-600 text-slate-700 dark:text-slate-300 hover:bg-slate-50 dark:hover:bg-slate-600"},P={__name:"general",setup(e){const{t:s}=N(),g=r({}),o=r({}),d=r(0),b=async()=>{var i,n;const t=await(await fetch("/api/settings")).json();Object.assign(o.value,((i=t==null?void 0:t.settings)==null?void 0:i.site_info)||{}),d.value++,k(((n=t==null?void 0:t.settings)==null?void 0:n.notifications)||{})},k=a=>{a&&Object.entries(a).forEach(([t,i])=>{const n=m.value.find(v=>v.key===t);n&&(n.checked=i)})},h=async()=>{if(await g.value.validate()){p({type:"warning",title:s("common.actions.warning"),message:s("settings.general.saveChangesFailed")});return}let t={notifications:{}};m.value.forEach(i=>{t.notifications[i.key]=i.checked}),t.site_info=o.value;try{await fetch("/api/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),p({title:s("settings.successTitle"),message:s("settings.successMessage"),type:"success"})}catch(i){console.error(i),p({title:s("settings.errorTitle"),message:s("settings.errorMessage"),type:"error"})}},m=r([{key:"email",label:s("settings.general.emailNotifications"),description:s("settings.general.emailNotificationsDescription"),checked:!0},{key:"push",label:s("settings.general.pushNotifications"),description:s("settings.general.pushNotificationsDescription"),checked:!1},{key:"sms",label:s("settings.general.smsNotifications"),description:s("settings.general.smsNotificationsDescription"),checked:!1},{key:"desktop",label:s("settings.general.desktopNotifications"),description:s("settings.general.desktopNotificationsDescription"),checked:!0}]);return _(()=>{b()}),(a,t)=>(f(),D("div",$,[u(x,{title:a.$t("settings.general.general"),description:a.$t("settings.general.generalDescription")},null,8,["title","description"]),c("div",E,[u(w,{icon:l(j),title:a.$t("settings.general.siteInformation"),color:"blue"},{content:S(()=>[(f(),C(l(q),{form:g.value,"onUpdate:form":t[0]||(t[0]=i=>g.value=i),schema:l(V)(l(s)),modelValue:o.value,"onUpdate:modelValue":t[1]||(t[1]=i=>o.value=i),key:d.value},null,8,["form","schema","modelValue"])),c("div",M,[c("button",B,y(a.$t("settings.general.cancel")),1),c("button",{onClick:h,class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-white text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 text-primary-foreground shadow h-9 px-4 py-2 bg-blue-600 hover:bg-blue-700"},[u(l(T),{class:"w-4 h-4 mr-2"}),U(" "+y(a.$t("settings.general.saveChanges")),1)])])]),_:1},8,["icon","title"])])]))}};export{P as default};
|