1import Z from"./B0MxNzND.js";import{_ as ee}from"./C4OYIggz.js";import{A as se,i as te,I as oe,j as re,C as M,J as ae,o as m,c as k,a as o,s as ne,v as y,x as P,u as e,n as d,y as $,b as L,h as w,K as ie,F as le,r as ue,t as R,e as de,w as me,p as g,B as V,g as B,H as ce,f as pe,G as T,L as fe,k as ge,M as he}from"./K6MHAn1v.js";import{c as i,r as x,m as C,a as I,u as _e}from"./DS40uT1_.js";import{g as be,t as ve}from"./CowtTimX.js";import{u as ye}from"./C_TTKmE2.js";import{a as $e}from"./Da1CZMSY.js";import{u as we}from"./BivxnOMI.js";import{g as xe}from"./C92VwcNK.js";import{u as Se}from"./DutaimZk.js";import"./CoAyHOSa.js";import"./Qy7ZiiaR.js";import"./DU_kSJIS.js";import"./CrafsEOZ.js";import"./4clcvD_c.js";const ke={class:"wrapper bg-brand-white py-4"},Pe={class:"col-lg-12"},Le={class:"signup_form_wrap bg-brand-white rounded-1 p-4 my-3 mx-auto u-max-w-350 w-100"},Ne={class:"form-group my-2 position-relative"},Me={class:"position-relative"},Te={class:"d-flex align-items-center position-absolute top-0 end-0 mt-2 me-2 bg-brand-white p-1 rounded"},Ce={class:"form-group my-2 position-relative"},Ie={class:"position-relative"},Ae={class:"d-flex align-items-center position-absolute top-0 end-0 mt-2 me-2 bg-brand-white p-1 rounded"},De={class:"form-group my-2 position-relative"},He={class:"position-relative"},Re={class:"d-flex align-items-center position-absolute top-0 end-0 mt-2 me-2 bg-brand-white p-1 rounded"},Ve={key:0},Be={class:"field"},Fe={class:"styled_select"},Ue=["value"],je={class:"form-group my-2 position-relative"},Ee={class:"position-relative"},qe={class:"d-flex align-items-center position-absolute top-0 end-0 mt-2 me-2 bg-brand-white p-1 rounded"},Oe={class:"field"},Ge=["disabled"],We={class:"col-lg-12 signup-back-link-wrapper"},ds={__name:"step3",setup(ze){ce();const{signIn:F,data:A,token:v}=se(),h=g(!1),D=g([]),S=te("configData").value,U=Se(),j=oe(),E=we(),{navigateAfterAuth:q}=ye(),{trackCompleteRegistration:O}=xe(),c=g(""),p=g(""),f=g(""),_=g(""),b=g(""),a=V({role:null,email:null,password:null,provider:null,socialId:null,isLoaded:!1}),G=B(()=>a.role),W=V({first_name:c,last_name:p,phone_number:f,hp_name:_,selected_home_pro_type:b}),z={first_name:{required:i.withMessage("Please enter your first name.",x),minLength:i.withMessage("First name must contain at least 2 characters.",I(2)),maxLength:i.withMessage("First name must contain at most 50 characters.",C(50))},last_name:{required:i.withMessage("Please enter your last name.",x),minLength:i.withMessage("Last name must contain at least 2 characters.",I(2)),maxLength:i.withMessage("Last name must contain at most 50 characters.",C(50))},phone_number:{required:i.withMessage("Please enter your phone number.",x),validPhone:i.withMessage("Please enter a valid 10-digit phone number.",n=>!(!/^\d{10}$/.test(n)||/^(\d)\1{9}$/.test(n)))}},H={hp:{selected_home_pro_type:{required:i.withMessage("Please select a Home Professional Type.",x)},hp_name:{required:i.withMessage("Please enter your business name.",x),minLength:i.withMessage("Business name must contain at least 2 characters.",I(2)),maxLength:i.withMessage("Business name must contain at most 50 characters.",C(50))}}},J=n=>{const s=n.target.value.replace(/\D/g,"");f.value=s},K=B(()=>{const n=a.role,s={...z};return n==="hp"&&H[n]&&Object.assign(s,H[n]),s}),t=_e(K,W);re(async()=>{if(A?.value?.user){M("/");return}if(typeof sessionStorage<"u"){if(!sessionStorage.userEmail){M("/users/signup");return}c.value=sessionStorage.userFirstName||"",p.value=sessionStorage.userLastName||"",f.value=sessionStorage.userPhoneNumber||"",_.value=sessionStorage.hpName||"",b.value=sessionStorage.selectedHomeProType||"",a.role=sessionStorage.userRole||null,a.email=sessionStorage.userEmail||null,a.password=sessionStorage.userPassword||null,a.provider=sessionStorage.provider||null,a.socialId=sessionStorage.socialId||null,a.isLoaded=!0,a.role==="hp"&&await X()}});async function Q(){if(!a.isLoaded){console.error("Session data not yet loaded. Please try again.");return}if(!U&&(t.value.$validate(),t.value.$error)){h.value=!0;for(const[n,s]of Object.entries(t.value))s?.$errors?.length&&s.$errors.forEac
1h(u=>{T().$toast.error(u.$message,{autoClose:5e3,dangerouslyHTMLString:!0,position:"bottom-right"})});h.value=!1;return}try{h.value=!0;const n=$e({first_name:c.value,last_name:p.value,phone_number:f.value,fingerprint:j?.user?.fingerprint||null,role:a.role,email:a.email,password:a.password,provider:a.provider,social_id:a.socialId});a.role==="hp"&&(n.home_professional_type=b.value,n.hp_type=_.value);const s=await fe(S,n),u={email:a.email,social_id:a.socialId,redirect:!1};a.socialId||(u.password=a.password),await F("credentials",u),await ge();const l=A?.value?.user??null;l?._id&&O({user_id:l._id,auth_user:l,first_name:l.first_name||c.value,last_name:l.last_name||p.value,email:l.email||a.email});try{const N=he(),Y=v!=null&&typeof v=="object"&&"value"in v?v.value:v??null;S&&l&&Y&&await N.fetchData(S,l)}catch(N){console.error("[Step3] Plan refresh error:",N)}T().$toast.success("Welcome to Imagine Interiors - we're so happy to have you!",{autoClose:5e3,clearOnUrlChange:!1,position:"bottom-right",dangerouslyHTMLString:!0});const r=typeof sessionStorage<"u"?sessionStorage.getItem("postAuthRedirect"):null;sessionStorage?.clear(),r&&sessionStorage.setItem("postAuthRedirect",r),E.setProjects([]),await q(M)}catch(n){ve(T().$toast,n,{autoClose:5e3,clearOnUrlChange:!1,position:"bottom-right",dangerouslyHTMLString:!0})}finally{h.value=!1}}async function X(){try{const n=await ae(S);console.log(n),D.value=n}catch(n){console.log("Error fetching Home Professional types:",be(n))}}return(n,s)=>{const u=Z,l=ee;return m(),k("div",ke,[o("div",Pe,[s[17]||(s[17]=o("h3",{class:"text-center"}," Almost there... ",-1)),s[18]||(s[18]=o("p",{class:"text-center"},"Last step... you can do it!",-1)),o("div",Le,[o("form",{onSubmit:ne(Q,["prevent"])},[o("div",Ne,[s[10]||(s[10]=o("label",null,"First Name*",-1)),o("div",Me,[y(o("input",{"onUpdate:modelValue":s[0]||(s[0]=r=>$(c)?c.value=r:null),type:"text",id:"first_Name",name:"first_Name",placeholder:"First name ",class:d(["form-control",{"border-brand-error bg-brand-error":e(t).first_name.$error,"border-brand-success bg-brand-success":e(t).first_name.$dirty&&!e(t).first_name.$error}]),onChange:s[1]||(s[1]=(...r)=>e(t).first_name.$touch&&e(t).first_name.$touch(...r)),autocomplete:"off"},null,34),[[P,e(c)]]),o("div",Te,[!e(t).first_name.$invalid||e(t).first_name.$error?(m(),L(u,{key:0,class:d(["field_icon fa fs-20 lh-1",{"text-success fa-check-circle":!e(t).first_name.$invalid,"text-brand-warning fa-exclamation-triangle":e(t).first_name.$error}])},null,8,["class"])):w("",!0)])])]),o("div",Ce,[s[11]||(s[11]=o("label",null,"Last Name*",-1)),o("div",Ie,[y(o("input",{"onUpdate:modelValue":s[2]||(s[2]=r=>$(p)?p.value=r:null),type:"text",placeholder:"Last name",class:d(["form-control",{"border-brand-error bg-brand-error":e(t).last_name.$error,"border-brand-success bg-brand-success":e(t).last_name.$dirty&&!e(t).last_name.$error}]),onChange:s[3]||(s[3]=(...r)=>e(t).last_name.$touch&&e(t).last_name.$touch(...r)),autocomplete:"off"},null,34),[[P,e(p)]]),o("div",Ae,[!e(t).last_name.$invalid||e(t).last_name.$error?(m(),L(u,{key:0,class:d(["field_icon fa fs-20 lh-1",{"text-success fa-check-circle":!e(t).last_name.$invalid,"text-brand-warning fa-exclamation-triangle":e(t).last_name.$error}])},null,8,["class"])):w("",!0)])])]),o("div",De,[s[12]||(s[12]=o("label",null,"Phone Number (10 digits, no spaces or symbols)*",-1)),o("div",He,[y(o("input",{"onUpdate:modelValue":s[4]||(s[4]=r=>$(f)?f.value=r:null),type:"tel",class:d(["form-control",{"border-brand-error bg-brand-error":e(t).phone_number.$error,"border-brand-success bg-brand-success":e(t).phone_number.$dirty&&!e(t).phone_number.$error}]),maxlength:"10",placeholder:"Phone number",onChange:s[5]||(s[5]=(...r)=>e(t).phone_number.$touch&&e(t).phone_number.$touch(...r)),onInput:J,autocomplete:"off"},null,34),[[P,e(f)]]),o("div",Re,[!e(t).phone_number.$invalid||e(t).phone_number.$error?(m(),L(u,{key:0,class:d(["field_icon fa fs-20 lh-1",{"text-success fa-check-circle":!e(t).phone_number.$invalid,"text-brand-warning fa-exclamation-triangle":e(t).phone_number.$error}])}
1,null,8,["class"])):w("",!0)])])]),e(G)==="hp"?(m(),k("div",Ve,[o("div",Be,[s[14]||(s[14]=o("label",null,"Home Professional Type*",-1)),o("div",Fe,[y(o("select",{"onUpdate:modelValue":s[6]||(s[6]=r=>$(b)?b.value=r:null),class:d(["form-control",{"border-brand-error bg-brand-error":e(t).selected_home_pro_type.$error,"border-brand-success bg-brand-success":e(t).selected_home_pro_type.$dirty&&!e(t).selected_home_pro_type.$error}]),onChange:s[7]||(s[7]=(...r)=>e(t).selected_home_pro_type.$touch&&e(t).selected_home_pro_type.$touch(...r)),autocomplete:"off"},[s[13]||(s[13]=o("option",{value:"",disabled:"",selected:""}," Select Home Professional Type ",-1)),(m(!0),k(le,null,ue(e(D),r=>(m(),k("option",{key:r._id,value:r._id},R(r.name),9,Ue))),128))],34),[[ie,e(b)]])])]),o("div",je,[s[15]||(s[15]=o("label",null,"Business Name*",-1)),o("div",Ee,[y(o("input",{"onUpdate:modelValue":s[8]||(s[8]=r=>$(_)?_.value=r:null),type:"text",placeholder:"Business name",class:d(["form-control",{"border-brand-error bg-brand-error":e(t).hp_name.$error,"border-brand-success bg-brand-success":e(t).hp_name.$dirty&&!e(t).hp_name.$error}]),onChange:s[9]||(s[9]=(...r)=>e(t).hp_name.$touch&&e(t).hp_name.$touch(...r)),autocomplete:"off"},null,34),[[P,e(_)]]),o("div",qe,[!e(t).hp_name.$invalid||e(t).hp_name.$error?(m(),L(u,{key:0,class:d(["field_icon fa fs-20 lh-1",{"text-success fa-check-circle":!e(t).hp_name.$invalid,"text-brand-warning fa-exclamation-triangle":e(t).hp_name.$error}])},null,8,["class"])):w("",!0)])])])])):w("",!0),o("div",Oe,[o("button",{type:"submit",class:"btn btn-dark full-width-button",disabled:e(h)},R(e(h)?"Please Wait...":"Continue"),9,Ge)])],32)]),o("div",We,[de(l,{to:"/step2",class:"signup-back-link text",role:"button"},{default:me(()=>[...s[16]||(s[16]=[pe("Back",-1)])]),_:1})])])])}}};export{ds 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.