1import{d as ie,ba as ce,y as de,u as ve,fn as me,aO as fe,bB as pe,fo as be,bs as U,bF as he,r as s,cB as r,a as i,b as Z,p as g,e as c,f as u,D as _e,s as d,c as V,w as l,m as v,t as m,l as f,ac as j,bX as F,cF as E,P as R,S as ye,v as k,c2 as ge,be as Ve}from"./index-DcSVvNrM.js";const Ee={key:0,class:"subsite-cover-editor__loader"},ke={class:"subsite-cover-editor__bottom"},we={class:"subsite-cover-editor__bottom"},Ce=ie({__name:"SubsiteCoverEditor",props:{modelValue:{},subsiteId:{}},emits:["update:modelValue"],setup(p,{emit:q}){const a=p,b=q,{t:n,tf:B}=ce(),{alert:L,AlertType:x}=de(),{open:G,popoverId:J}=ve(),{changeCover:K,removeCover:Q}=me(),{isOneColumn:z}=fe(),{openFileDialog:w}=pe({limit:1,sizeLimit:be,accept:".png,.jpg,.jpeg,.heic,.webp,.gif,.mp4,.mov,.webm",onValidated:()=>{h.value=!0},onChange:e=>{const o=e[0];if(!(o.type!==U.Image&&o.type!==U.Movie))try{b("update:modelValue",{...a.modelValue,cover:o}),t.value=!0}finally{h.value=!1}}}),A=he(),h=s(!1),t=s(!1),I=s(),M=s(),C=s(0),D=s(0),O=s(0),S=s(!1),_=s(!1),Y=s(!1),P=s({cover:null,coverY:0}),W=k(()=>z.value?n("subsite.coverEditor.dragShort"):n("subsite.coverEditor.dragLong")),ee=k(()=>z.value?n("subsite.coverEditor.editShort"):n("subsite.coverEditor.editLong")),te=k(()=>Y.value||J.value===A),y=ge();r(M,"touchstart",X),r(y,"touchmove",$),r(y,"touchend",H),r(M,"mousedown",X),r(y,"mousemove",$),r(y,"mouseup",H);function T(e){if(e instanceof MouseEvent)return{x:e.clientX,y:e.clientY};if(e instanceof TouchEvent)return{x:e.touches[0].clientX,y:e.touches[0].clientY};throw new Error("Unknown event type")}function oe(){P.value={...a.modelValue}}function ae(){b("update:modelValue",{...a.modelValue,...P.value})}const se=k(()=>[{label:n("shared.change"),icon:"image",action:()=>{N()}},{label:n("subsite.coverEditor.contextMenu.edit"),icon:"move",action:()=>{t.value=!0,oe()}},{label:n("shared.etc.remove"),icon:"delete",action:()=>{t.value=!1,Q(a.subsiteId).then(()=>{b("update:modelValue",{...a.modelValue,cover:null,coverY:0})}).catch(o=>{L({type:x.Error,text:B(`shared.errors.${o.message}`,"shared.unknownError")})})}}]);async function ne(){await G(Ve,{data:se.value},{id:A,target:I.value,width:150,positionX:"right"})}function $(e){if(_.value){S.value=!0,O.value=C.value-T(e).y;const o=Math.max(0,Math.min(100,D.value+O.value*.2));b("update:modelValue",{...a.modelValue,coverY:o}),e.preventDefault()}}function X(e){t.value&&(C.value=T(e).y,D.value=a.modelValue.coverY,_.value=!0,e.preventDefault())}function H(e){t.value&&_.value&&(C.value=0,D.value=0,S.value=!1,_.value=!1)}function ue(){t.value=!1,a.modelValue.cover!==null&&K(a.subsiteId,a.modelValue.cover,a.modelValue.coverY).catch(e=>{L({type:x.Error,text:B(`shared.errors.${e.message}`,"shared.unknownError")})})}function le(){t.value=!1,ae()}function N(){w==null||w()}return(e,o)=>p.modelValue?(i(),Z("div",{key:0,class:ye(["subsite-cover-editor",{"subsite-cover-editor--edit-mode":t.value}
1]),onMouseenter:o[0]||(o[0]=re=>Y.value=!0),onMouseleave:o[1]||(o[1]=re=>Y.value=!1)},[g("div",{ref_key:"dragZone",ref:M,class:"subsite-cover-editor__drag-zone"},null,512),h.value?(i(),Z("div",Ee,[c(u(_e))])):d("",!0),!p.modelValue.cover&&!h.value?(i(),V(u(f),{key:1,class:"subsite-cover-editor__centered",type:"translucent",size:"s",icon:"image",onClick:N},{default:l(()=>[v(m(u(n)("subsite.coverEditor.upload")),1)]),_:1})):d("",!0),c(E,{name:"fade"},{default:l(()=>[j(c(u(f),{class:"subsite-cover-editor__centered subsite-cover-editor__hint",type:"translucent",size:"s",icon:"move"},{default:l(()=>[v(m(W.value),1)]),_:1},512),[[F,t.value&&!S.value]])]),_:1}),g("div",ke,[c(E,{name:"fade"},{default:l(()=>[t.value?(i(),V(u(f),{key:0,type:"secondary",size:"s",onClick:R(le,["stop"])},{default:l(()=>[v(m(u(n)("shared.cancel")),1)]),_:1})):d("",!0)]),_:1}),c(E,{name:"fade"},{default:l(()=>[t.value?(i(),V(u(f),{key:0,type:"primary",size:"s",onClick:R(ue,["stop"])},{default:l(()=>[v(m(u(n)("shared.save")),1)]),_:1})):d("",!0)]),_:1})]),g("div",we,[g("div",{ref_key:"editButton",ref:I},[c(E,{name:"fade"},{default:l(()=>[p.modelValue.cover&&!t.value?j((i(),V(u(f),{key:0,type:"translucent",size:"s",icon:"pen",onClick:ne},{default:l(()=>[v(m(ee.value),1)]),_:1},512)),[[F,te.value]]):d("",!0)]),_:1})],512)])],34)):d("",!0)}});export{Ce as default};
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.