Files
nademitex_user/dist/assets/ProfileEditView-BGyMAAIR.js
T

1 line
5.8 KiB
JavaScript
Raw Normal View History

2026-09-24 22:29:24 +03:30
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 c,l,nt as u,t as d,u as f,ut as p,v as m}from"./_plugin-vue_export-helper-1xMDlcEE.js";import{s as h,t as g}from"./BasicIcon-Bzeb0Iwd.js";import{c as _,n as v,r as y}from"./index-3Kv0ngks.js";import{t as b}from"./FormErrorBanner-Ud1D04xf.js";import{n as x,r as S,t as C}from"./formErrors-DglFjYkZ.js";import{t as w}from"./BaseInput-CpE3bVJZ.js";import{t as T}from"./ProfileSubpageLayout-CgqJi1zW.js";var E=512,D=.82;async function O(e){if(!e.type.startsWith(`image/`))throw Error(`فقط فایل تصویری مجاز است.`);if(e.size>8388608)throw Error(`حجم تصویر نباید بیشتر از ۸ مگابایت باشد.`);return A(await k(e))}function k(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(Error(`خواندن تصویر ناموفق بود.`)),r.readAsDataURL(e)})}function A(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{let e=Math.min(1,E/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`,D))},r.onerror=()=>n(Error(`تصویر نامعتبر است.`)),r.src=e})}var j={class:`profile-edit`},M={class:`avatar-editor`},N={class:`avatar-editor__actions`},P={class:`avatar-editor__btns`},F=[`disabled`],I=[`disabled`],L={class:`profile-edit__intro`},R={class:`profile-edit__intro-icon`,"aria-hidden":`true`},z={class:`profile-edit__grid`},B={key:0,class:`form-group profile-edit__full`},V={key:0,class:`input-error-text`},H={class:`profile-edit__actions`},U={key:0,class:`profile-edit__saved`},W=d(m({__name:`ProfileEditView`,setup(d){let m=_(),E=u(m.user?.firstName??``),D=u(m.user?.lastName??``),k=u(m.user?.nationalId??``),A=u(m.user?.address??``),W=u(m.user?.avatarUrl??null),G=u(null),K=u({}),q=u(``),J=u(!1),Y=u(!1),X=a(()=>`${E.value.trim().charAt(0)}${D.value.trim().charAt(0)}`||`؟`);function Z(e){K.value=x(K.value,e),S(K.value)||(q.value=``)}function Q(){G.value?.click()}async function $(e){Y.value=!0,q.value=``;try{let t=await m.updateProfile({avatarUrl:e??``});t?W.value=t.avatarUrl??null:W.value=e}catch(e){q.value=e instanceof Error?e.message:`ذخیره تصویر ناموفق بود.`}finally{Y.value=!1}}async function ee(e){let t=e.target,n=t.files?.[0];if(t.value=``,n){Y.value=!0,q.value=``;try{let e=await O(n);W.value=e,await $(e)}catch(e){q.value=e instanceof Error?e.message:`بارگذاری تصویر ناموفق بود.`,Y.value=!1}}}async function te(){W.value=null,await $(null)}async function ne(){K.value={},q.value=``,J.value=!1;let e={};if(E.value.trim()||(e.firstName=`نام الزامی است.`),D.value.trim()||(e.lastName=`نام خانوادگی الزامی است.`),k.value&&k.value.length!==10&&(e.nationalId=`کد ملی باید ۱۰ رقم باشد.`),S(e)){K.value=e,q.value=C;return}let t={firstName:E.value.trim(),lastName:D.value.trim(),nationalId:k.value||void 0,avatarUrl:W.value??``};if(m.isAgent&&(t.address=A.value.trim()),!await m.updateProfile(t)){q.value=`ذخیره پروفایل ناموفق بود.`;return}J.value=!0,setTimeout(()=>{J.value=!1},2e3)}return(a,u)=>(n(),f(T,{title:`اطلاعات کاربری`,subtitle:`ویرایش تصویر، نام و کد ملی حساب کاربری`},{default:e(()=>[i(b,{message:q.value},null,8,[`message`]),l(`div`,j,[l(`div`,M,[i(y,{src:W.value,initials:X.value,size:96,class:`avatar-editor__photo`},null,8,[`src`,`initials`]),l(`div`,N,[u[8]||=l(`p`,{class:`avatar-editor__title`},`تصویر پروفایل`,-1),u[9]||=l(`p`,{class:`avatar-editor__hint`},`افزودن، تغییر یا حذف عکس نمایش‌داده‌شده در پروفایل`,-1),l(`div`,P,[l(`button`,{type:`button`,class:`avatar-btn`,disabled:Y.value,onClick:Q},r(W.value?`تغییر تصویر`:`افزودن تصویر`),9,F),W.value?(n(),s(`button`,{key:0,type:`button`,class:`av