1import{d as X,k as r,B as G,f as i,g as p,a as N,u as a,p as H,s as l,a2 as J,m as f,o}from"./vendor.ab282fad.js";import{c as K,u as O,_ as k}from"../main.ae189850.js";import"./preload-helper.ae39bab8.js";import{a as Q}from"./profile.0a789c0d.js";import{g as W}from"./user.ca26e56c.js";import{g as Y}from"./get-cookie.1a4e1654.js";import{_ as Z}from"./BtnSubmit.f3034115.js";import{f as ee}from"./format-date.e077bff2.js";const ae={class:"c-profile__avatar-component"},re={class:"c-profile__picture-container"},te=["src"],oe=["onClick"],se={key:1,class:"c-message c-message--error c-message--error-avatar u-mbm"},ie={key:0},le={key:1},ne={key:2},ue=["id"],ce={class:"c-form__actions u-hide"},he=X({props:{userId:null,userName:null,profileId:null,profileName:null,avatar:null,avatarUrl:null},setup(z){const s=z;let _,x,v,L;const U=r(),P=r(!1);let g,B;j(),q();const I=Y("csrftoken");let y=!1;const n=r(!1),h=r(!1),E=r(!1),C=r(!1);let D;const u=document.querySelector("#avatar-form"),T=r(),M=Math.random().toString(36).substr(2,9),c=r();let b;G(async()=>{U.value=await W(s.profileId),P.value=U.value.forum_user.is_premium,g&&(D=document.querySelector(".avatar-edit__icon"),u==null||u.addEventListener("submit",async d=>{d.preventDefault(),y=!1,n.value=!1,h.value=!1,E.value=!1,D.classList.add("avatar-loading__icon");const e=document.querySelector(".avatar-edit__icon .fa-pen");e==null||e.classList.remove("fa-solid","fa-pen"),e==null||e.classList.add("fas","fa-spinner","fa-spin");const S=new FormData;S.append("user",v),S.append("avatar",c.value);const F="/api/profile/"+_+"/";await fetch(F,{credentials:"include",method:"PUT",mode:"same-origin",headers:{"X-CSRFToken":I},body:S}).then(t=>{t.status===200?y=!0:(t.text().then(w=>{throw w.includes("characters")&&(C.value=!0),new Error(w)}),n.value=!0)}).catch(t=>{console.log(t)}).finally(async()=>{var t;if(y){(t=e==null?void 0:e.parentElement)==null||t.classList.add("avatar-confirm__icon"),document.querySelector(".avatar-edit__icon").classList.add("c-profile__icon-disabled");const $={user:v,date_modified:ee(new Date)};await Q(_,$),document.location.reload()}else e==null||e.classList.remove("fas","fa-spinner","fa-spin"),e==null||e.classList.add("fa-solid","fa-pen")})}))});function j(){_=parseInt(s.userId),v=s.profileId,x=s.userName,L=s.profileName,g=x===L}async function q(){B=s.avatarUrl}function A(){var e;(e=T.value)==null||e.click()}function R(d){const e=d.target;c.value=e.files[0],c.value.type==="image/jpeg"||c.value.type==="image/png"?c.value.size<4*1024*1024?(b=document.getElementById("button-submit-avatar"),b.click()):(n.value=!0,E.value=!0):(n.value=!0,h.value=!0)}const V=K(async()=>{},{error(){u.value&&u.value.scrollIntoView({behavior:"smooth"})}}),{t:m}=O({messages:{en:{updateProfile:"Update",updateProfileError:"Error while updating profile.",removeAndRetry:"Please remove it and retry.",imageTypeError:"Image must be in .jpg or .png format.",imageSizeError:"Image size is too big.",imageNameError:"File name is too long (100 characters maximum).",cancel:"Cancel the upload",remove:"Remove"},fr:{updateProfile:"Mettre \xE0 jour",updateProfileError:"Erreur lors de la mise \xE0 jour du profil.",removeAndRetry:"Merci de le supprimer puis de r\xE9essayer.",imageTypeError:"Veuillez uploader une image au format .jpg ou .png",imageSizeError:"Le fichier est trop volumineux.",imageNameError:"Le nom du fichier est trop long (100 caract\xE8res maximum.)",cancel:"Annuler le t\xE9l\xE9versement",remove:"Supprimer"}}});return(d,e)=>(o(),i("div",ae,[p("div",re,[N(k,{class:"c-profile__picture-border",width:"48",height:"48",name:"avatar-outline"}),p("img",{src:a(B),alt:"",class:"c-profile__picture"},null,8,te),P.value?(o(),H(k,{key:0,class:"c-profile__premium-icon",name:"diamond-small"})):l("",!0)]),a(g)?(o(),i("h3",{key:0,class:"c-heading__icon avatar-edit__icon",onClick:J(A,["prevent"])},[N(k,{class:"c-button__icon",name:"pen"})],8,oe)):l("",!0),n.value?(o(),i("div",se,[p("p",null,f(a(m)("updateProfileError")),1),h.value?(o(),i("p",ie,f(a(m)("imageTypeError")),1)):l("",!0),E.value?(o(),i("p",le,f(a(m)("imageSizeError")),1)):l("",!0),C.value?(o(),i("p",ne,f(a(m)("imageNameError")),1)):l("",!0)])):l("",!0),p("input",{id:`${a(M)}-browse`,ref_key:"input",ref:T,class:"u-hide",name:"browse",type:"file",onChange:R},null,40,ue),p("fieldset",ce,[N(Z,{id:"button-submit-avatar",ref_key:"buttonSubmit",ref:b,class:"c-profile__button-submit",loading:a(V).loading,label:a(m)("updateProfile")},null,8,["loading","label"])])]))}});
1export{he as default}; 2//# sourceMappingURL=ProfileAvatar.ce.771fcfd5.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.