PageSourceSearch

https://dreamline.co.ke/chunk-XNOL3HFP.js

js dreamline.co.ke collected 2026-10-08 00:11:45 UTC 14,501 bytes, 1 lines download raw bytes

1import{a as W,b as X}from"./chunk-FEHKV4YC.js";import"./chunk-XMVPRXZC.js";import"./chunk-SRAJ64UV.js";import"./chunk-JGJ5XCTI.js";import"./chunk-LMEZFNLQ.js";import"./chunk-YRGQI5F7.js";import"./chunk-2ST7GOOO.js";import{Y as Q}from"./chunk-4BC5JTHS.js";import"./chunk-7UZYWCAJ.js";import"./chunk-36JN3LZY.js";import{a as te}from"./chunk-PWHNHOFW.js";import{a as J}from"./chunk-VMBIBL2I.js";import{A as H,B as Y,C as z,c as L,d as p,f as V,g as M,l as k,m as B,p as U,q as G,r as O,s as R,t as $,u as j,v as K}from"./chunk-6PVRY6BZ.js";import{a as y}from"./chunk-OAKXDUFU.js";import{c as A}from"./chunk-PG5BH2CI.js";import{g as D}from"./chunk-DDBO23QJ.js";import"./chunk-YY6WN6JJ.js";import"./chunk-4L5G6IH5.js";import"./chunk-VNI7HO5L.js";import{k as w,v as F}from"./chunk-DCZ4TRWP.js";import{Hb as I,Ib as T,Nb as d,Ob as o,Pb as n,Qb as f,Xb as q,Za as l,ac as C,cc as s,da as E,ia as g,ja as x,jb as P,nc as u,oa as S,ob as N,qc as a,rc as v,ub as m}from"./chunk-VKGFTMIO.js";import{g as ee,h}from"./chunk-WWX6BADO.js";var b=ee(te());function ie(e,t){e&1&&(o(0,"div"),a(1,"First name is required"),n())}function ne(e,t){e&1&&(o(0,"div"),a(1,"Must be at least 2 characters"),n())}function oe(e,t){if(e&1&&(o(0,"div",24),m(1,ie,2,0,"div",25)(2,ne,2,0,"div",25),n()),e&2){let i=s();l(),d("ngIf",i.f.firstName.errors.required),l(),d("ngIf",i.f.firstName.errors.minlength)}}function re(e,t){e&1&&(o(0,"div"),a(1,"Last name is required"),n())}function ae(e,t){e&1&&(o(0,"div"),a(1,"Must be at least 2 characters"),n())}function le(e,t){if(e&1&&(o(0,"div",24),m(1,re,2,0,"div",25)(2,ae,2,0,"div",25),n()),e&2){let i=s();l(),d("ngIf",i.f.lastName.errors.required),l(),d("ngIf",i.f.lastName.errors.minlength)}}function de(e,t){e&1&&(o(0,"div"),a(1,"Email is required"),n())}function me(e,t){e&1&&(o(0,"div"),a(1,"Invalid email format"),n())}function se(e,t){if(e&1&&(o(0,"div",24),m(1,de,2,0,"div",25)(2,me,2,0,"div",25),n()),e&2){let i=s();l(),d("ngIf",i.f.email.errors.required),l(),d("ngIf",i.f.email.errors.email)}}function pe(e,t){e&1&&(o(0,"div"),a(1,"Gender is required"),n())}function ce(e,t){if(e&1&&(o(0,"div",24),m(1,pe,2,0,"div",25),n()),e&2){let i=s();l(),d("ngIf",i.f.gender.errors.required)}}function fe(e,t){e&1&&(o(0,"div"),a(1,"Age is required"),n())}function ue(e,t){e&1&&(o(0,"div"),a(1,"Age must be at least 1"),n())}function _e(e,t){e&1&&(o(0,"div"),a(1,"Age cannot exceed 120"),n())}function ve(e,t){if(e&1&&(o(0,"div",24),m(1,fe,2,0,"div",25)(2,ue,2,0,"div",25)(3,_e,2,0,"div",25),n()),e&2){let i=s();l(),d("ngIf",i.f.age.errors.required),l(),d("ngIf",i.f.age.errors.min),l(),d("ngIf",i.f.age.errors.max)}}function Ce(e,t){e&1&&(o(0,"div"),a(1,"Identity number is required"),n())}function ge(e,t){e&1&&(o(0,"div"),a(1,"Only numbers allowed"),n())}function xe(e,t){if(e&1&&(o(0,"div",24),m(1,Ce,2,0,"div",25)(2,ge,2,0,"div",25),n()),e&2){let i=s();l(),d("ngIf",i.f.identityNumber.errors.required),l(),d("ngIf",i.f.identityNumber.errors.pattern)}}function Ee(e,t){e&1&&(o(0,"div"),a(1,"Phone number is required"),n())}function ye(e,t){e&1&&(o(0,"div"),a(1,"Invalid phone number (9-10 digits)"),n())}function be(e,t){if(e&1&&(o(0,"div",24),m(1,Ee,2,0,"div",25)(2,ye,2,0,"div",25),n()),e&2){let i=s();l(),d("ngIf",i.f.phoneNumber.errors.required),l(),d("ngIf",i.f.phoneNumber.errors.pattern)}}function he(e,t){e&1&&(o(0,"div"),a(1,"Business name is required"),n())}function Se(e,t){if(e&1&&(o(0,"div",24),m(1,he,2,0,"div",25),n()),e&2){let i=s(2);l(),d("ngIf",i.f.businessName.errors.required)}}function Pe(e,t){e&1&&(o(0,"div"),a(1,"Area is required"),n())}function Ne(e,t){if(e&1&&(o(0,"div",24),m(1,Pe,2,0,"div",25),n()),e&2){let i=s(2);l(),d("ngIf",i.f.area.errors.required)}}function Ie(e,t){if(e&1&&a(0),e&2){let i=t.$implicit;v(i.data)}}function Te(e,t){if(e&1&&a(0),e&2){let i=t.$implicit;v(i.data)}}function qe(e,t){e&1&&(o(0,"div"),a(1,"County is required"),n())}function we(e,t){if(e&1&&(o(0,"div",24),m(1,qe,2,0,"div",25),n()),e&2){let i=s(2);l(),d("ngIf",i.f.county.errors.required)}}function Fe(e,t){if(e&1&&a(0),e&2){let i=t.$implicit;v(i.city_name)}}function De(e,t){if(e&1&&a(0),e&2){let i=t.$implicit;v(i.city_name)}}function Ae(e,t){e&1&&(o(0,"div"),a(1,"City is required"),n())}function Le(e,t){if(e&1&&(o(0,"div",24),m(1,Ae,2,0,"div",25),n()),e&2){let i=s(2);l(),d("ngIf",i.f.city.errors.required)}}function Ve(e,t){if(e&1&&(o(0,"small",37),a(1),n()),e&2){let i=s(2);l(),v(i.idPhoto.name)}}function Me(e,t){if(e&1&&(o(0,"small",37),a(1),n()),e&2){let i=s(2);l(),v(i.businessPhoto.name)}}function ke(e,t){if(e&1&&(o(0,"small",37),a(1),n()),e&2){let i=s(2);l(),v(i.signature.name)}}function Be(e,t){if(e&1){let i=q();o(0,"div",26)(1,"h4"),a(2,"Business Information"),n(),o(3,"div",2)(4,"div",9)(5,"div",4)(6,"label",5),a(7,"Business N
1ame"),n(),f(8,"input",27),m(9,Se,2,1,"div",7),n()(),o(10,"div",3)(11,"div",4)(12,"label",5),a(13,"Area"),n(),f(14,"input",28),m(15,Ne,2,1,"div",7),n()(),o(16,"div",3)(17,"div",4)(18,"label",5),a(19,"Road"),n(),f(20,"input",29),n()(),o(21,"div",3)(22,"div",4)(23,"label",5),a(24,"County"),n(),o(25,"p-autoComplete",30),C("completeMethod",function(c){g(i);let _=s();return x(_.filterCounty(c))}),m(26,Ie,1,1,"ng-template",31)(27,Te,1,1,"ng-template",32),n(),m(28,we,2,1,"div",7),n()(),o(29,"div",3)(30,"div",4)(31,"label",5),a(32,"City"),n(),o(33,"p-autoComplete",33),C("completeMethod",function(c){g(i);let _=s();return x(_.filterCity(c))}),m(34,Fe,1,1,"ng-template",31)(35,De,1,1,"ng-template",32),n(),m(36,Le,2,1,"div",7),n()(),o(37,"div",9)(38,"div",4)(39,"label",5),a(40,"Location (Google Based Location)"),n(),f(41,"input",34),n()()()(),o(42,"div",26)(43,"h5"),a(44,"Upload Required Photos"),n(),o(45,"div",2)(46,"div",9)(47,"div",4)(48,"label",5),a(49,"ID Photo"),n(),o(50,"input",35),C("change",function(c){g(i);let _=s();return x(_.onFileSelect(c,"id_photo"))}),n(),m(51,Ve,2,1,"small",36),n()(),o(52,"div",9)(53,"div",4)(54,"label",5),a(55,"Business Photo"),n(),o(56,"input",35),C("change",function(c){g(i);let _=s();return x(_.onFileSelect(c,"business_photo"))}),n(),m(57,Me,2,1,"small",36),n()(),o(58,"div",9)(59,"div",4)(60,"label",5),a(61,"Signature"),n(),o(62,"input",35),C("change",function(c){g(i);let _=s();return x(_.onFileSelect(c,"signature"))}),n(),m(63,ke,2,1,"small",36),n()()()()}if(e&2){let i=s();l(8),u("is-invalid",i.submitted&&i.f.businessName.errors),l(),d("ngIf",i.submitted&&i.f.businessName.errors),l(5),u("is-invalid",i.submitted&&i.f.area.errors),l(),d("ngIf",i.submitted&&i.f.area.errors),l(10),d("suggestions",i.filteredCounties)("dropdown",!0),l(3),d("ngIf",i.submitted&&i.f.county.errors),l(5),d("suggestions",i.filteredCities)("dropdown",!0),l(3),d("ngIf",i.submitted&&i.f.city.errors),l(15),d("ngIf",i.idPhoto),l(6),d("ngIf",i.businessPhoto),l(6),d("ngIf",i.signature)}}var Z=class e{constructor(t){this.fb=t}profileForm;submitted=!1;isAgent=!1;service=E(A);backendService=E(J);router=E(D);destroyRef=E(S);userDetails={};counties=[];filteredCounties=[];cities=[];filteredCities=[];idPhoto;businessPhoto;signature;countiesLoaded=!1;citiesLoaded=!1;get f(){return this.profileForm.controls}ngOnInit(){this.initForm(),this.isAgent=this.service.getConfig("isAgent")??!1,this.setConditionalValidators(),this.getCounty(),this.getCities()}initForm(){this.profileForm=this.fb.group({firstName:["",[p.required,p.minLength(2)]],lastName:["",[p.required,p.minLength(2)]],email:["",[p.required,p.email]],gender:["",p.required],age:["",[p.required,p.min(1),p.max(120)]],date_of_birth:[""],identityNumber:["",[p.required,p.pattern(/^\d+$/)]],code:["+254",p.required],phoneNumber:["",[p.required,p.pattern(/^\d{9,10}$/)]],businessName:[""],area:[""],road:[""],city:[null],county:[null],location:[""],lat_long:[""]})}setConditionalValidators(){let t=["businessName","area","city","county"];for(let i of t){let r=this.profileForm.get(i);r&&(this.isAgent?r.setValidators(p.required):r.clearValidators(),r.updateValueAndValidity())}}getUserDetails(){let t=this.service.getConfig("userData");if(t&&(this.userDetails=t,this.profileForm.patchValue({firstName:t.name||"",lastName:t.last_name||"",email:t.email||"",gender:t.gender?.toLowerCase()||"",age:t.age||"",date_of_birth:t.date_of_birth||"",identityNumber:t.identityNumber||"",phoneNumber:t.phone?.replace("+254","").trim()||""}),this.isAgent&&t.agentDetails)){let i=this.counties.find(c=>c.data===t.agentDetails.county),r=this.cities.find(c=>c.city_name===t.agentDetails.city);this.profileForm.patchValue({businessName:t.agentDetails.business_name||"",area:t.agentDetails.area||"",road:t.agentDetails.road||"",city:r||null,county:i||null,location:t.agentDetails.address||"",lat_long:t.agentDetails.lat_long||""})}}getCounty(){this.backendService.getCounties().pipe(y(this.destroyRef)).subscribe({next:t=>{t.isSuccess&&(this.counties=t.county||[],this.countiesLoaded=!0,this.checkAndLoadUserDetails())},error:()=>{this.counties=[],this.countiesLoaded=!0,this.checkAndLoadUserDetails()}})}getCities(){this.backendService.getCities().pipe(y(this.destroyRef)).subscribe({next:t=>{t.isSuccess&&(this.cities=t.data||[],this.citiesLoaded=!0,this.checkAndLoadUserDetails())},error:t=>{console.error(t),this.cities=[],this.citiesLoaded=!0,this.checkAndLoadUserDetails()}})}
1checkAndLoadUserDetails(){this.countiesLoaded&&this.citiesLoaded&&this.getUserDetails()}filterCounty(t){let i=t.query.toLowerCase();this.filteredCounties=this.counties.filter(r=>r.data.toLowerCase().includes(i))}filterCity(t){let i=t.query.toLowerCase();this.filteredCities=this.cities.filter(r=>r.city_name.toLowerCase().includes(i))}onFileSelect(t,i){let r=t.target.files?.[0];if(r)switch(i){case"id_photo":this.idPhoto=r;break;case"business_photo":this.businessPhoto=r;break;case"signature":this.signature=r;break}}onSubmit(){return h(this,null,function*(){if(this.submitted=!0,this.profileForm.invalid)return;let t=this.profileForm.value,i=new FormData,r={email:t.email,phone:t.phoneNumber,age:t.age,gender:t.gender,name:t.firstName,identity_number:t.identityNumber,country_code:t.code.replace("+","")};this.backendService.updateProfile(r).pipe(y(this.destroyRef)).subscribe({next:()=>{b.default.fire({icon:"success",title:"Profile Updated",text:"Your profile has been updated successfully!",timer:2e3,showConfirmButton:!1,willClose:()=>{this.router.navigate(["/user-profile/dashboard"])}})},error:c=>{b.default.fire({icon:"error",title:"Update Failed",text:"Something went wrong while updating your profile."})}})})}static \u0275fac=function(i){return new(i||e)(P(H))};static \u0275cmp=N({type:e,selectors:[["app-edit-profile-component"]],decls:71,vars:23,consts:[[1,"container"],[3,"ngSubmit","formGroup"],[1,"row"],[1,"mt-2","col-6"],[1,"form-group"],[1,"form-label"],["type","text","formControlName","firstName",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["type","text","formControlName","lastName",1,"form-control"],[1,"mt-2","col-12"],["type","email","formControlName","email",1,"form-control"],["formControlName","gender",1,"form-select"],["value",""],["value","male"],["value","female"],["type","number","formControlName","age","min","1","max","120",1,"form-control"],["type","text","formControlName","identityNumber",1,"form-control"],[1,"mt-2","col-4"],["formControlName","code",1,"form-select"],[1,"mt-2","col-8"],["type","tel","formControlName","phoneNumber",1,"form-control"],[1,"col-12","mt-3"],[1,"w-100"],["type","submit",1,"btn","btn-primary","w-100"],[1,"invalid-feedback"],[4,"ngIf"],[1,"col-12","mt-4"],["type","text","formControlName","businessName",1,"form-control"],["type","text","formControlName","area",1,"form-control"],["type","text","formControlName","road",1,"form-control"],["formControlName","county","placeholder","Select county","dataKey","value","optionLabel","data",3,"completeMethod","suggestions","dropdown"],["pTemplate","selectedItem"],["pTemplate","item"],["formControlName","city","placeholder","Select city","dataKey","id","optionLabel","city_name",3,"completeMethod","suggestions","dropdown"],["type","text","formControlName","location",1,"form-control"],["type","file","accept","image/*",1,"form-control",3,"change"],["class","text-muted",4,"ngIf"],[1,"text-muted"]],template:function(i,r){i&1&&(o(0,"div",0)(1,"h4"),a(2,"Edit Profile"),n(),o(3,"form",1),C("ngSubmit",function(){return r.onSubmit()}),o(4,"div",2)(5,"div",3)(6,"div",4)(7,"label",5),a(8,"First Name"),n(),f(9,"input",6),m(10,oe,3,2,"div",7),n()(),o(11,"div",3)(12,"div",4)(13,"label",5),a(14,"Last Name"),n(),f(15,"input",8),m(16,le,3,2,"div",7),n()(),o(17,"div",9)(18,"div",4)(19,"label",5),a(20,"Email"),n(),f(21,"input",10),m(22,se,3,2,"div",7),n()(),o(23,"div",3)(24,"div",4)(25,"label",5),a(26,"Gender"),n(),o(27,"select",11)(28,"option",12),a(29,"Select Gender"),n(),o(30,"option",13),a(31,"Male"),n(),o(32,"option",14),a(33,"Female"),n()(),m(34,ce,2,1,"div",7),n()(),o(35,"div",3)(36,"div",4)(37,"label",5),a(38,"Age"),n(),f(39,"input",15),m(40,ve,4,3,"div",7),n()(),o(41,"div",3)(42,"div",4)(43,"label",5),a(44,"Identity Number"),n(),f(45,"input",16),m(46,xe,3,2,"div",7),n()(),o(47,"div",17)(48,"div",4)(49,"label",5),a(50,"Code"),n(),o(51,"select",18)(52,"option"),a(53,"+254"),n(),o(54,"option"),a(55,"+255"),n(),o(56,"option"),a(57,"+256"),n(),o(58,"option"),a(59,"+257"),n()()()(),o(60,"div",19)(61,"div",4)(62,"label",5),a(63,"Phone Number"),n(),f(64,"input",20),m(65,be,3,2,"div",7),n()()(),I(66,Be,64,15),o(67,"div",21)(68,"div",22)(69,"button",23),a(70," Edit profile "),n()()()()()),i&2&&(l(3),d("formGroup",r.profileForm),l(6),u("is-invalid",r.submitted&&r.f.firstName.errors),l(),d("ngIf",r.submitted&&r.f.firstName.errors),l(5),u("is-invalid",r.submitted&&r.f.lastName.errors),l(),d("ngIf",r.submitted&&r.f.lastName.errors),l(5),u("is-invalid",r.submitted&&r.f.email.errors),l(),d("ngIf",r.submitted&&r.f.email.errors),l(5),u("is-invalid",r.submitted&&r.f.gender.errors),l(7),d("ngIf",r.submitted&&r.f.gender.errors),l(5),u("is-invalid",r.submitted&&r.f.age.errors),l(),d("ngIf",r.submitted&&r.f.age.errors),l(5),u("is-invalid",r.submitted&&r.f.identityNumber.errors),l(),d("ngIf",r.submitted&&r.f.identityNumber.errors),l(18),u("is-invalid",r.submitted&&r.f.phoneNumber.errors),l(),d("ngIf",r.submitted&&r.f.phoneNumber.errors),l(),T(r.isAgent?66:-1))},dependencies:[F,w,z,k,R,$,L,B,O,V,M,K,j,U,G,X,W,Q,Y],styles:[".btn-primary[_ngcontent-%COMP%]{background:linear-gradient(45deg,var(--primary-color-500),var(--primary-color-400));color:var(--primary-color-100);border:1px solid var(--primary-color-500)}"]})};export{Z as EditProfileComponent};

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.