2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
import{a as _e,u as we,s as ye,b as I,e as be,f as xe,g as ke,h as Se,i as Me,w as N,o as G,j as J,k as K,m as Te,n as X,T as Le,p as He,q as Q,t as v,v as ze,x as Ce,y as Pe,z as Qe,A as Ee,B as Oe,C as Be,D as Ae,E as Ve,F as De,G as c,H as L,I as e,J as t,Q as q,K as Y,L as _,M as d,N as H,O as Ie,P as x,R as qe,S as Z,U as ee,V as Fe,W as Ne,X as Ue,Y as te}from"./index-BMUcF_AE.js";import{Q as je,a as Re,b as $e,c as We,d as Ge}from"./QLayout-BFNq0ssN.js";import{v as Je,a as ae,u as Ke,b as Xe,c as Ye,d as Ze,r as le,s as et,p as se,Q as tt,e as at}from"./QSelect-mICoVsXS.js";import{c as oe}from"./format-4vRgyZVr.js";import{Q as P,a as w,b as F}from"./QItem-49cALKGJ.js";import{Q as lt}from"./QResizeObserver-UV_Ef03s.js";import{C as ne}from"./ClosePopup-NcxzGtHY.js";import{m as st}from"./api-RGUeM09o.js";import{_ as ot}from"./_plugin-vue_export-helper-DlAUqK2U.js";const nt="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-ch'%20viewBox='0%200%20640%20480'%3e%3cg%20fill-rule='evenodd'%20stroke-width='1pt'%3e%3cpath%20fill='red'%20d='M0%200h640v480H0z'/%3e%3cg%20fill='%23fff'%3e%3cpath%20d='M170%20195h300v90H170z'/%3e%3cpath%20d='M275%2090h90v300h-90z'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e",it="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-de'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23fc0'%20d='M0%20320h640v160H0z'/%3e%3cpath%20fill='%23000001'%20d='M0%200h640v160H0z'/%3e%3cpath%20fill='red'%20d='M0%20160h640v160H0z'/%3e%3c/svg%3e",rt="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-gb'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23012169'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23FFF'%20d='m75%200%20244%20181L562%200h78v62L400%20241l240%20178v61h-80L320%20301%2081%20480H0v-60l239-178L0%2064V0z'/%3e%3cpath%20fill='%23C8102E'%20d='m424%20281%20216%20159v40L369%20281zm-184%2020%206%2035L54%20480H0zM640%200v3L391%20191l2-44L590%200zM0%200l239%20176h-60L0%2042z'/%3e%3cpath%20fill='%23FFF'%20d='M241%200v480h160V0zM0%20160v160h640V160z'/%3e%3cpath%20fill='%23C8102E'%20d='M0%20193v96h640v-96zM273%200v480h96V0z'/%3e%3c/svg%3e",ct="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-us'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23bd3d44'%20d='M0%200h640v480H0'/%3e%3cpath%20stroke='%23fff'%20stroke-width='37'%20d='M0%2055.3h640M0%20129h640M0%20203h640M0%20277h640M0%20351h640M0%20425h640'/%3e%3cpath%20fill='%23192f5d'%20d='M0%200h364.8v258.5H0'/%3e%3cmarker%20id='us-a'%20markerHeight='30'%20markerWidth='30'%3e%3cpath%20fill='%23fff'%20d='m14%200%209%2027L0%2010h28L5%2027z'/%3e%3c/marker%3e%3cpath%20fill='none'%20marker-mid='url(%23us-a)'%20d='m0%200%2016%2011h61%2061%2061%2061%2060L47%2037h61%2061%2060%2061L16%2063h61%2061%2061%2061%2060L47%2089h61%2061%2060%2061L16%20115h61%2061%2061%2061%2060L47%20141h61%2061%2060%2061L16%20166h61%2061%2061%2061%2060L47%20192h61%2061%2060%2061L16%20218h61%2061%2061%2061%2060z'/%3e%3c/svg%3e",ut="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-fr'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23fff'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23000091'%20d='M0%200h213.3v480H0z'/%3e%3cpath%20fill='%23e1000f'%20d='M426.7%200H640v480H426.7z'/%3e%3c/svg%3e",dt="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-it'%20viewBox='0%200%20640%20480'%3e%3cg%20fill-rule='evenodd'%20stroke-width='1pt'%3e%3cpath%20fill='%23fff'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23009246'%20d='M0%200h213.3v480H0z'/%3e%3cpath%20fill='%23ce2b37'%20d='M426.7%200H640v480H426.7z'/%3e%3c/g%3e%3c/svg%3e",ft=_e({name:"QTooltip",inheritAttrs:!1,props:{...Ke,...be,...I,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...I.transitionShow,default:"jump-down"},transitionHide:{...I.transitionHide,default:"jump-up"},anchor:{type:String,default:"bottom middle",validator:ae},self:{type:String,default:"top middle",validator:ae},offset:{type:Array,default:()=>[14,14],validator:Je},scrollTarget:ye,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...we],setup(a,{slots:k,emit:z,attrs:S}){let f,h;const s=He(),{proxy:{$q:r}}=s,g=Q(null),y=Q(!1),E=v(()=>se(a.anchor,r.lang.rtl)),O=v(()=>se(a.self,r.lang.rtl)),B=v(()=>a.persistent!==!0),{registerTick:A,removeTick:C}=xe(),{registerTimeout:b}=ke(),{transitionProps:o,transitionStyle:n}=ze(a),{localScrollTarget:m,changeScrollEvent:l,unconfigureScrollTarget:ie}=Xe(a,$),{anchorEl:u,canShow:re,anchorEvents:M}=Ye({showing:y,configureAnchorEl:ge}),{show:ce,hide:V}=Se({showing:y,canShow:re,handleShow:de,handleHide:fe,hideOnRouteChange:B,processOnMount:!0});Object.assign(M,{delayShow:he,delayHide:ve});const{showPortal:U,hidePortal:j,renderPortal:ue}=Me(s,g,pe,"tooltip");if(r.platform.is.mobile===!0){const i={anchorEl:u,innerRef:g,onClickOutside(p){return V(p),p.target.classList.contains("q-dialog__backdrop")&&Pe(p),!0}},D=v(()=>a.modelValue===null&&a.persistent!==!0&&y.value===!0);N(D,p=>{(p===!0?Ze:le)(i)}),G(()=>{le(i)})}function de(i){U(),A(()=>{h=new MutationObserver(()=>T()),h.observe(g.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),T(),$()}),f===void 0&&(f=N(()=>r.screen.width+"|"+r.screen.height+"|"+a.self+"|"+a.anchor+"|"+r.lang.rtl,T)),b(()=>{U(!0),z("show",i)},a.transitionDuration)}function fe(i){C(),j(),R(),b(()=>{j(!0),z("hide",i)},a.transitionDuration)}function R(){h!==void 0&&(h.disconnect(),h=void 0),f!==void 0&&(f(),f=void 0),ie(),J(M,"tooltipTemp")}function T(){et({targetEl:g.value,offset:a.offset,anchorEl:u.value,anchorOrigin:E.value,selfOrigin:O.value,maxHeight:a.maxHeight,maxWidth:a.maxWidth})}function he(i){if(r.platform.is.mobile===!0){oe(),document.body.classList.add("non-selectable");const D=u.value,p=["touchmove","touchcancel","touchend","click"].map(W=>[D,W,"delayHide","passiveCapture"]);K(M,"tooltipTemp",p)}b(()=>{ce(i)},a.delay)}function ve(i){r.platform.is.mobile===!0&&(J(M,"tooltipTemp"),oe(),setTimeout(()=>{document.body.classList.remove("non-selectable")},10)),b(()=>{V(i)},a.hideDelay)}function ge(){if(a.noParentEvent===!0||u.value===null)return;const i=r.platform.is.mobile===!0?[[u.value,"touchstart","delayShow","passive"]]:[[u.value,"mouseenter","delayShow","passive"],[u.value,"mouseleave","delayHide","passive"]];K(M,"anchor",i)}function $(){if(u.value!==null||a.scrollTarget!==void 0){m.value=Te(u.value,a.scrollTarget);const i=a.noParentEvent===!0?T:V;l(m.value,i)}}function me(){return y.value===!0?X("div",{...S,ref:g,class:["q-tooltip q-tooltip--style q-position-engine no-pointer-events",S.class],style:[S.style,n.value],role:"tooltip"},Ce(k.default)):null}function pe(){return X(Le,o.value,me)}return G(R),Object.assign(s.proxy,{updatePosition:T}),ue}}),ht={class:"q-ml-md"},vt=["src","alt"],gt={key:1},mt={class:"q-ml-md"},pt={class:"row items-center no-wrap"},_t=["src","alt"],wt={key:1,class:"lang-fallback"},yt={class:"bold text-white q-ml-md"},bt=["src","alt"],xt={key:1,class:"lang-fallback"},kt=Qe({__name:"MainLayout",setup(a){const{t:k}=Ee(),z=Oe(),S=Be(),f=Q(!1),h=Ae(),s=Q(null),r=v({get:()=>h.language,set:o=>{h.setLanguage(o)}}),g=Object.assign({"../assets/flags/ch.svg":nt,"../assets/flags/de.svg":it,"../assets/flags/en.svg":rt,"../assets/flags/en_us.svg":ct,"../assets/flags/fr.svg":ut,"../assets/flags/it.svg":dt}),y=[{code:"it",short_name:"IT",flag:"it.svg",style:"width:32px;height:22px;"},{code:"en",short_name:"EN",flag:"en.svg",style:"width:32px;height:22px;"},{code:"en_us",short_name:"EN",flag:"en_us.svg",style:"width:32px;height:22px;"},{code:"de",short_name:"DE",flag:"de.svg",style:"width:32px;height:22px;"},{code:"de_ch",short_name:"DE",flag:"ch.svg",style:"width:22px;height:22px;object-fit: cover;"},{code:"fr",short_name:"FR",flag:"fr.svg",style:"width:32px;height:22px;"},{code:"fr_ch",short_name:"FR",flag:"ch.svg",style:"width:22px;height:22px;object-fit: cover;"}],E=v(()=>y.map(o=>({label:k(`language.${o.code}`),value:o.code,flagSrc:g[`../assets/flags/${o.flag}`]??null,flagStyle:o.style,short_name:o.short_name}))),O=v(()=>s.value?.roles.includes("admin")??!1),B=v(()=>{const n=(s.value?.name?.trim()||s.value?.email?.trim()||"?").split(/\s+/).filter(Boolean),m=n[0]??"",l=n[1]??"";return n.length>1?`${m.charAt(0)}${l.charAt(0)}`.toUpperCase():m.slice(0,2).toUpperCase()});Ve(async()=>{await C()}),N(()=>S.fullPath,async()=>{await C()});function A(){f.value=!f.value}async function C(){if(typeof window>"u"||!window.localStorage.getItem("Auth-Token")){s.value=null;return}const o=await st();s.value=o.error?null:o.data}async function b(){typeof window<"u"&&window.localStorage.removeItem("Auth-Token"),s.value=null,await z.push("/")}return(o,n)=>{const m=De("router-view");return c(),L(Ge,{view:"lHh Lpr lFf"},{default:e(()=>[t(je,{elevated:""},{default:e(()=>[t(Re,null,{default:e(()=>[t(q,{flat:"",dense:"",round:"",icon:"menu","aria-label":Y(k)("app.menu"),onClick:A},null,8,["aria-label"]),t($e,null,{default:e(()=>[_(d(Y(k)("app.title")),1)]),_:1}),H("div",null,"Quasar v"+d(o.$q.version),1),H("div",ht,[s.value?(c(),L(q,{key:1,flat:"",round:"",dense:""},{default:e(()=>[t(Ie,{size:"34px",class:"user-avatar"},{default:e(()=>[s.value.avatar?(c(),x("img",{key:0,src:s.value.avatar,alt:s.value.name},null,8,vt)):(c(),x("span",gt,d(B.value),1))]),_:1}),t(tt,{anchor:"bottom right",self:"top right"},{default:e(()=>[t(lt,{dense:"",style:{"min-width":"190px"}},{default:e(()=>[t(P,null,{default:e(()=>[t(w,null,{default:e(()=>[t(F,null,{default:e(()=>[_(d(s.value.name),1)]),_:1}),t(F,{caption:""},{default:e(()=>[_(d(s.value.email),1)]),_:1})]),_:1})]),_:1}),t(qe),O.value?Z((c(),L(P,{key:0,clickable:"",to:"/admin"},{default:e(()=>[t(w,{avatar:""},{default:e(()=>[t(ee,{name:"admin_panel_settings"})]),_:1}),t(w,null,{default:e(()=>[...n[2]||(n[2]=[_("Admin",-1)])]),_:1})]),_:1})),[[ne]]):Fe("",!0),Z((c(),L(P,{clickable:"",onClick:b},{default:e(()=>[t(w,{avatar:""},{default:e(()=>[t(ee,{name:"logout"})]),_:1}),t(w,null,{default:e(()=>[...n[3]||(n[3]=[_("Logout",-1)])]),_:1})]),_:1})),[[ne]])]),_:1})]),_:1})]),_:1})):(c(),L(q,{key:0,flat:"",round:"",color:"white",icon:"lock",to:"/login"},{default:e(()=>[t(ft,null,{default:e(()=>[...n[1]||(n[1]=[_("Login",-1)])]),_:1})]),_:1}))]),H("div",mt,[t(at,{modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=l=>r.value=l),options:E.value,"option-label":"label","option-value":"value","emit-value":"","map-options":"",class:"q-select",dark:""},{"selected-item":e(l=>[H("div",pt,[l.opt.flagSrc?(c(),x("img",{key:0,class:"border",src:l.opt.flagSrc,alt:l.opt.label,style:te(l.opt.flagStyle)},null,12,_t)):(c(),x("span",wt,d(l.opt.value.toUpperCase()),1)),H("span",yt,d(l.opt.short_name),1)])]),option:e(l=>[t(P,Ne(Ue(l.itemProps)),{default:e(()=>[t(w,{avatar:""},{default:e(()=>[l.opt.flagSrc?(c(),x("img",{key:0,src:l.opt.flagSrc,alt:l.opt.label,style:te(l.opt.flagStyle)},null,12,bt)):(c(),x("span",xt,d(l.opt.value.toUpperCase()),1))]),_:2},1024),t(w,null,{default:e(()=>[t(F,null,{default:e(()=>[_(d(l.opt.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,["modelValue","options"])])]),_:1})]),_:1}),t(We,null,{default:e(()=>[t(m)]),_:1})]),_:1})}}}),Et=ot(kt,[["__scopeId","data-v-555712ae"]]);export{Et as default};
|