1 line
7.6 KiB
JavaScript
1 line
7.6 KiB
JavaScript
import{G as e,K as t,M as n,Pt as r,_ as i,c as a,d as o,f as s,g as ee,k as c,l,nt as u,t as te,u as d,ut as f,v as p}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{o as ne,t as re}from"./BasicIcon-DPmc0iaK.js";import{t as m}from"./http-CU_N-R2R.js";import{C as h,c as g,i as _,r as ie,u as ae}from"./index-DYwnTikp.js";import{t as oe}from"./FormErrorBanner-Ud1D04xf.js";import{n as se,r as v,t as ce}from"./formErrors-DglFjYkZ.js";import{t as y}from"./BaseInput-CpE3bVJZ.js";import{t as le}from"./addresses-tV-zgZYG.js";import{t as ue}from"./ProfileSubpageLayout-CbD3-u8j.js";var b=512,x=.82;async function de(e){if(!e.type.startsWith(`image/`))throw Error(`فقط فایل تصویری مجاز است.`);if(e.size>8388608)throw Error(`حجم تصویر نباید بیشتر از ۸ مگابایت باشد.`);return C(await S(e))}function S(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(Error(`خواندن تصویر ناموفق بود.`)),r.readAsDataURL(e)})}function C(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{let e=Math.min(1,b/Math.max(r.width,r.height)),i=Math.max(1,Math.round(r.width*e)),a=Math.max(1,Math.round(r.height*e)),o=document.createElement(`canvas`);o.width=i,o.height=a;let s=o.getContext(`2d`);if(!s){n(Error(`پردازش تصویر ناموفق بود.`));return}s.drawImage(r,0,0,i,a),t(o.toDataURL(`image/jpeg`,x))},r.onerror=()=>n(Error(`تصویر نامعتبر است.`)),r.src=e})}var w={class:`profile-edit`},T={class:`avatar-editor`},E={class:`avatar-editor__actions`},D={class:`avatar-editor__btns`},O=[`disabled`],k=[`disabled`],A={class:`profile-edit__intro`},j={class:`profile-edit__intro-icon`,"aria-hidden":`true`},M={class:`profile-edit__grid`},N={key:1,class:`form-group profile-edit__full`},P={key:0,class:`input-error-text`},F={key:2,class:`form-group profile-edit__full profile-edit__saved-address`},I={key:0,class:`profile-edit__address-hint`},L={key:1,class:`profile-edit__address-text`},fe={key:2,class:`profile-edit__address-hint`},R={class:`profile-edit__actions`},z={key:0,class:`profile-edit__saved`},B=te(p({__name:`ProfileEditView`,setup(te){let p=g(),b=h(),x=u(null),S=u(!0),C=u(p.user?.firstName??``),B=u(p.user?.lastName??``),V=u(p.user?.nationalId??``),H=u(p.user?.address??``),U=u(p.user?.avatarUrl??null),W=u(null),G=u({}),K=u(``),q=u(!1),J=u(!1),Y=u(!1),X=ae(),pe=a(()=>`${C.value.trim().charAt(0)}${B.value.trim().charAt(0)}`||`؟`),me=a(()=>p.user?.agentCode?.trim()||`—`);function Z(e){G.value=se(G.value,e),v(G.value)||(K.value=``)}function he(){W.value?.click()}async function Q(e){Y.value=!0,K.value=``;try{let t=await p.updateProfile({avatarUrl:e??``});t?U.value=t.avatarUrl??null:U.value=e}catch(e){K.value=e instanceof Error?e.message:`ذخیره تصویر ناموفق بود.`}finally{Y.value=!1}}async function ge(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){Y.value=!0,K.value=``;try{let e=await de(n);U.value=e,await Q(e)}catch(e){K.value=e instanceof Error?e.message:`بارگذاری تصویر ناموفق بود.`,Y.value=!1}}}async function $(){U.value=null,await Q(null)}c(async()=>{S.value=!0;try{let e=await le.list(),t=e.find(e=>e.isDefault)??e[0];x.value=t?.text??null}catch{x.value=null}finally{S.value=!1}});async function _e(){G.value={},K.value=``,q.value=!1;let e={};if(C.value.trim()||(e.firstName=`نام الزامی است.`),B.value.trim()||(e.lastName=`نام خانوادگی الزامی است.`),V.value&&V.value.length!==10&&(e.nationalId=`کد ملی باید ۱۰ رقم باشد.`),v(e)){G.value=e,K.value=ce,X.show(`لطفاً فیلدهای مشخصشده را اصلاح کنید.`,{tone:`error`});return}let t={firstName:C.value.trim(),lastName:B.value.trim(),nationalId:V.value||void 0,avatarUrl:U.value??``};p.isAgent&&(t.address=H.value.trim()),J.value=!0;try{if(!await p.updateProfile(t)){K.value=`ذخیره پروفایل ناموفق بود.`,X.show(`ذخیره اطلاعات انجام نشد. دوباره تلاش کنید.`,{tone:`error`});return}q.value=!0,X.show(`اطلاع
|