PageSourceSearch

https://baxonet.com/vite/assets/PortalsLocalesIndexPage-CZp1JqG1.js

js baxonet.com collected 2026-10-08 11:43:21 UTC 10,152 bytes, 2 lines download raw bytes

1import{c as C,E as F,o as _,a as S,b as N,g as d,t as v,e as T,p as b,D as q,k as h,B as O,F as W,f as z,r as w,w as K}from"./_plugin-vue_export-helper-B-nq0EyN.js";import{u as U}from"./Validators-Bj3oL1Ej.js";import{u as k,c as B,b as V}from"./useBranding-BFy5n_0u.js";import{z as X,c as J,w as Q,u as Y,l as G,f as M}from"./dashboard-BxO4RE9t.js";import{_ as Z}from"./HelpCenterLayout-C1SxSppa.js";import{_ as j,a as ee}from"./index-BiJNB3Wq.js";import{q as te,b7 as $,t as ae}from"./DashboardIcon-BNHeRWnK.js";import{a as I,u as H}from"./index-BDqw8SWo.js";import"./index-DN3rM4CW.js";import"./_commonjsHelpers-BosuxZz1.js";import"./utils.esm-CfIYYl8Y.js";import"./index-C5QAEpou.js";import"./typing-BLWL-49c.js";import"./vue-dompurify-html-D_Dpv_Ot.js";import"./useKeyboardNavigableList-uoLl1yFe.js";import"./helper-BVTgYTlr.js";import"./Icon-C6UTx21I.js";import"./module-CiEVyC2Y.js";import"./BarChart-DLqU6pMl.js";import"./constants-lVAyZKq6.js";import"./IframeLoader-CVQPRtmx.js";import"./HTMLSanitizer-cciupgGC.js";import"./js.cookie-Cz0CWeBA.js";const se={class:"flex justify-between gap-2"},le={class:"flex items-center justify-start gap-2"},oe={class:"text-sm font-medium text-n-slate-12 line-clamp-1"},ne={key:0,class:"bg-n-alpha-2 h-6 inline-flex items-center justify-center rounded-md text-xs border-px border-transparent text-n-blue-11 px-2 py-0.5"},ce={key:1,class:"bg-n-alpha-2 h-6 inline-flex items-center justify-center rounded-md text-xs border-px border-transparent text-n-slate-11 px-2 py-0.5"},re={class:"flex items-center justify-end gap-4"},ie={class:"flex items-center gap-4"},ue={class:"text-sm text-n-slate-11 whitespace-nowrap"},de={class:"text-sm text-n-slate-11 whitespace-nowrap"},Le={key:0,class:"relative group"},Ee={__name:"LocaleCard",props:{locale:{type:String,required:!0},isDefault:{type:Boolean,required:!0},isDraft:{type:Boolean,required:!0},localeCode:{type:String,required:!0},articleCount:{type:Number,required:!0},categoryCount:{type:Number,required:!0}},emits:["action"],setup(r,{emit:o}){const i=r,n=o,{t:L}=k(),[m,t]=te(),g=C(()=>`${i.locale} (${i.localeCode})`),E=C(()=>({"change-default":L("HELP_CENTER.LOCALES_PAGE.LOCALE_CARD.DROPDOWN_MENU.MAKE_DEFAULT"),"move-to-draft":L("HELP_CENTER.LOCALES_PAGE.LOCALE_CARD.DROPDOWN_MENU.MOVE_TO_DRAFT"),"publish-locale":L("HELP_CENTER.LOCALES_PAGE.LOCALE_CARD.DROPDOWN_MENU.PUBLISH_LOCALE"),delete:L("HELP_CENTER.LOCALES_PAGE.LOCALE_CARD.DROPDOWN_MENU.DELETE")})),p=C(()=>X({isDefault:i.isDefault,isDraft:i.isDraft}).map(u=>({...u,label:E.value[u.action]}))),P=({action:u,value:f})=>{n("action",{action:u,value:f}),t(!1)};return(u,f)=>{const y=F("on-clickaway");return _(),S(Q,null,{default:N(()=>[d("div",se,[d("div",le,[d("span",oe,v(g.value),1),r.isDefault?(_(),T("span",ne,v(u.$t("HELP_CENTER.LOCALES_PAGE.LOCALE_CARD.DEFAULT")),1)):r.isDraft?(_(),T("span",ce,v(u.$t("HELP_CENTER.LOCALES_PAGE.LOCALE_CARD.DRAFT")),1)):b("",!0)]),d("div",re,[d("div",ie,[d("span",ue,v(u.$t("HELP_CENTER.LOCALES_PAGE.LOCALE_CARD.ARTICLES_COUNT",r.articleCount)),1),f[1]||(f[1]=d("div",{class:"w-px h-3 bg-n-weak"},null,-1)),d("span",de,v(u.$t("HELP_CENTER.LOCALES_PAGE.LOCALE_CARD.CATEGORIES_COUNT",r.categoryCount)),1)]),p.value.length?q((_(),T("div",Le,[h(j,{icon:"i-lucide-ellipsis-vertical",color:"slate",size:"xs",class:"rounded-md group-hover:bg-n-alpha-2",onClick:f[0]||(f[0]=R=>O(t)())}),O(m)?(_(),S(J,{key:0,"menu-items":p.value,class:"ltr:right-0 rtl:left-0 mt-1 xl:ltr:left-0 xl:rtl:right-0 top-full z-60 min-w-[150px]",onAction:P},null,8,["menu-items"])):b("",!0)])),[[y,()=>O(t)(!1)]]):b("",!0)])])]),_:1})}}},_e={role:"list",class:"w-full h-full space-y-4"},pe={__name:"LocaleList",props:{locales:{type:Array,required:!0},portal:{type:Object,required:!0}},setup(r){const o=r,i=B(),{t:n}=k(),L=U(),{uiSettings:m,updateUISettings:t}=Y(),g=e=>{var s,a;return((a=(s=o.portal)==null?void 0:s.meta)==null?void 0:a.default_locale)===e},E=async({newAllowedLocales:e,newDraftLocales:s,defaultLocale:a,messageKey:c})=>{let l="";try{await i.dispatch("portals/update",{portalSlug:o.portal.slug,config:{default_locale:a,allowed_locales:e,draft_locales:s}}),l=n(`HELP_CENTER.PORTAL.${c}.API.SUCCESS_MESSAGE`)}catch(D){l=(D==null?void 0:D.message)||n(`HELP_CENTER.PORTAL.${c}.API.ERROR_MESSAGE`)}finally{H(l)}},p=({localeCode:e})=>{const s=o.locales.map(c=>c.code),a=o.locales.filter(c=>c.isDraft).map(c=>c.code);E({newAllowedLocales:s,newDraftLocales:a,defaultLocale:e,messageKey:"CHANGE_DEFAULT_LOCALE"}),I($.SET_DEFAULT_LOCALE,{newLocale:e,from:L.name})},P=async e=>{const{last_active_locale_code:s}=m.value||{},a=o.portal.meta.default_locale;e===s&&await t({last_active_locale_code:a})},u=async({localeCode:e})=>{const s=o.locales.filter(l=>l.code!==e).map(l=>l.code),a=o.locales.filter(l=>l.code!==e&&l.isDraft).map(l=>l.code),c=o.portal.meta.default_locale;await E({newAllowedLocales:s,newDraftLocales:a,defaultLocale:c,messageKey:"DELETE_LOCALE"}),await P(e),I($.DELETE_LOCALE,{deletedLocale:e,from:L.name})},f=async({localeCode:e,shouldDraft:s,messageKey:a})=>{const c=o.locales.map(A=>A.code),l=o.locales.filter(A=>A.isDraft).map(A=>A.code),D=s?[...new Set([...l,e])]:l.filter(A=>A!==e);await E({newAllowedLocales:c,newDraftLocales:D,defaultLocale:o.portal.meta.default_locale,messageKey:a})},y=async({localeCode:e})=>{await f({localeCode:e,shouldDraft:!0,messageKey:"DRAFT_LOCALE"})},R=async({localeCode:e})=>{await f({localeCode:e,shouldDraft:!1,messageKey:"PUBLISH_LOCALE"})},x=({action:e},s)=>{e==="change-default"?p({localeCode:s}):e==="move-to-draft"?y({localeCode:s}):e==="publish-locale"?R({localeCode:s}):e==="delete"&&u({localeCode:s})};
1return(e,s)=>(_(),T("ul",_e,[(_(!0),T(W,null,z(r.locales,(a,c)=>(_(),S(Ee,{key:c,locale:a.name,"is-default":g(a.code),"is-draft":a.isDraft,"locale-code":a.code,"article-count":a.articlesCount||0,"category-count":a.categoriesCount||0,onAction:l=>x(l,a.code)},null,8,["locale","is-default","is-draft","locale-code","article-count","category-count","onAction"]))),128))]))}},fe={class:"flex flex-col gap-6"},Ae={class:"flex flex-col gap-2"},me={class:"text-sm font-medium text-n-slate-12"},Ce={__name:"AddLocaleDialog",props:{portal:{type:Object,default:()=>({})}},setup(r,{expose:o}){const i=r,{t:n}=k(),L=B(),m=U(),t=w(null),g=w(!1),E=w(""),p=w("published"),P=C(()=>{var s;const{allowed_locales:e=[]}=((s=i.portal)==null?void 0:s.config)||{};return e.map(a=>a.code)}),u=C(()=>{var s;const{allowed_locales:e=[]}=((s=i.portal)==null?void 0:s.config)||{};return e.filter(a=>a.draft).map(a=>a.code)}),f=C(()=>Object.keys(G).map(e=>({value:e,label:`${G[e]} (${e})`})).filter(e=>!P.value.includes(e.value))),y=C(()=>[{value:"published",label:n("HELP_CENTER.LOCALES_PAGE.ADD_LOCALE_DIALOG.STATUS.OPTIONS.LIVE")},{value:"draft",label:n("HELP_CENTER.LOCALES_PAGE.ADD_LOCALE_DIALOG.STATUS.OPTIONS.DRAFT")}]),R=()=>{E.value="",p.value="published"};K(p,e=>{e||(p.value="published")});const x=async()=>{var a,c,l,D;if(!E.value)return;g.value=!0;const e=[...P.value,E.value],s=p.value==="draft"?[...new Set([...u.value,E.value])]:u.value;try{await L.dispatch("portals/update",{portalSlug:(a=i.portal)==null?void 0:a.slug,config:{allowed_locales:e,draft_locales:s,default_locale:(l=(c=i.portal)==null?void 0:c.meta)==null?void 0:l.default_locale}}),I($.CREATE_LOCALE,{localeAdded:E.value,totalLocales:e.length,from:m.name}),R(),(D=t.value)==null||D.close(),H(n("HELP_CENTER.LOCALES_PAGE.ADD_LOCALE_DIALOG.API.SUCCESS_MESSAGE"))}catch(A){H((A==null?void 0:A.message)||n("HELP_CENTER.LOCALES_PAGE.ADD_LOCALE_DIALOG.API.ERROR_MESSAGE"))}finally{g.value=!1}};return o({dialogRef:t}),(e,s)=>(_(),S(ae,{ref_key:"dialogRef",ref:t,type:"edit",title:O(n)("HELP_CENTER.LOCALES_PAGE.ADD_LOCALE_DIALOG.TITLE"),description:O(n)("HELP_CENTER.LOCALES_PAGE.ADD_LOCALE_DIALOG.DESCRIPTION"),onClose:R,onConfirm:x},{default:N(()=>[d("div",fe,[h(M,{modelValue:E.value,"onUpdate:modelValue":s[0]||(s[0]=a=>E.value=a),options:f.value,placeholder:O(n)("HELP_CENTER.LOCALES_PAGE.ADD_LOCALE_DIALOG.COMBOBOX.PLACEHOLDER"),class:"[&>div>button:not(.focused)]:!outline-n-slate-5 [&>div>button:not(.focused)]:dark:!outline-n-slate-5"},null,8,["modelValue","options","placeholder"]),d("div",Ae,[d("span",me,v(O(n)("HELP_CENTER.LOCALES_PAGE.ADD_LOCALE_DIALOG.STATUS.LABEL")),1),h(M,{modelValue:p.value,"onUpdate:modelValue":s[1]||(s[1]=a=>p.value=a),options:y.value,class:"[&>div>button:not(.focused)]:!outline-n-slate-5 [&>div>button:not(.focused)]:dark:!outline-n-slate-5"},null,8,["modelValue","options"])])])]),_:1},8,["title","description"]))}},De={class:"flex items-center justify-between"},Oe={class:"flex items-center gap-4"},ge={class:"text-sm font-medium text-n-slate-12"},ve={key:0,class:"flex items-center justify-center py-10 text-n-slate-11"},Se={__name:"LocalesPage",props:{locales:{type:Array,required:!0},portal:{type:Object,default:()=>({})}},setup(r){const o=r,i=w(null),n=V("portals/isSwitchingPortal"),L=()=>{i.value.dialogRef.open()},m=C(()=>{var t;return(t=o.locales)==null?void 0:t.length});return(t,g)=>(_(),S(Z,{"show-pagination-footer":!1},{"header-actions":N(()=>[d("div",De,[d("div",Oe,[d("span",ge,v(t.$t("HELP_CENTER.LOCALES_PAGE.LOCALES_COUNT",m.value)),1)]),h(j,{label:t.$t("HELP_CENTER.LOCALES_PAGE.NEW_LOCALE_BUTTON_TEXT"),icon:"i-lucide-plus",size:"sm",onClick:L},null,8,["label"])])]),content:N(()=>[O(n)?(_(),T("div",ve,[h(ee)])):(_(),S(pe,{key:1,locales:r.locales,portal:r.portal},null,8,["locales","portal"]))]),default:N(()=>[h(Ce,{ref_key:"addLocaleDialogRef",ref:i,portal:r.portal},null,8,["portal"])]),_:1}))}},Ke={__name:"PortalsLocalesIndexPage",setup(r){const o=U(),i=V("portals/portalBySlug"),n=C(()=>i.value(o.params.portalSlug)),L=C(()=>{if(!n.value)return[];const{allowed_locales:m}=n.value.config;return m.map(t=>({id:t==null?void 0:t.code,name:G[t==null?void 0:t.code],code:t==null?void 0:t.code,isDraft:(t==null?void 0:t.draft)||!1,articlesCount:(t==null?void 0:t.articles_count)||0,categoriesCount:(t==null?void 0:t.categories_count)||0}))});return(m,t)=>(_(),S(Se,{locales:L.value,portal:n.value},null,8,["locales","portal"]))}};export{Ke as default};
2//# sourceMappingURL=PortalsLocalesIndexPage-CZp1JqG1.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.