1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="01a0f383-0156-7512-90ee-a0dedbf97ff9")}catch(e){}}();(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[40001],{9472:(e,i,t)=>{"use strict";t.d(i,{A:()=>a});var r=t(37876),s=t(14232),n=t(45684),l=t(70380);let a=()=>{let{control:e,async:i}=(0,s.useContext)(n.A),t={...i,fieldInfo:{name:"first_name"}};return(0,r.jsx)(l.A,{label:"First Name <span>*</span>",name:"first_name",async:t,control:e})}},21566:(e,i,t)=>{"use strict";t.d(i,{EP:()=>l,iy:()=>n,ls:()=>a});var r=t(87856),s=t(51733);let n=r.Ay.div` 2 display: flex; 3 align-items: ${({alignItems:e})=>e||"flex-start"}; 4 max-width: ${s._R.desktop}; 5 margin: 0 auto; 6 gap: ${s.YK.base}; 7 // Adds small spacing in small devices between >= 770 && <= 1549 to avoid stick into the edges 8 @media (min-width: ${s.fi.sm}) and (max-width: ${s.ZN.xl}) { 9 padding: 0 1rem; 10 } 11 12 flex-direction: column; 13 @media (min-width: ${s.fi.sm}) { 14 flex-direction: row; 15 } 16`,l=r.Ay.div` 17 flex: 1 0 18.5rem; 18 max-width: 18.5rem; 19 @media (max-width: ${s.fi.sm}) { 20 display: none !important; 21 } 22`,a=r.Ay.div` 23 flex: 1 1 auto; 24 max-width: 100vw; 25`},57865:(e,i,t)=>{"use strict";t.d(i,{A:()=>g});var r=t(37876),s=t(17712),n=t(95948),l=t(36323),a=t(77132),o=t(93007),d=t.n(o),u=t(95062),c=t.n(u),m=t(14232),h=t(88992),x=t(73429),f=t.n(x);let j=t(43651),p={0:"",1:"Invalid country code",2:"Too short. Make sure the phone number is correct.",3:"Too long. Make sure to type only numbers.",4:"Is possible local only.",5:"Invalid length.",[-99]:"Format invalid.",[-100]:"Number not valid."},A=({name:e,label:i,onChange:t=()=>{},validateValue:o=null,onChangeWithNumber:u=null,onBlur:c,defaultNumber:x="",initialCountry:A="",debounceTimeout:g=500,async:y={id:"",mutation:null,fieldInfo:{name:void 0,valueTransform:e=>e}},control:b=null,required:_=!1,filled:v=!1,...w})=>{let M=(0,m.useRef)(),[q,k]=(0,m.useState)(x.length||!1),[E,$]=(0,m.useState)(!1),[N,T]=(0,m.useState)(""),[C,P]=(0,m.useState)([]),[F,S]=(0,m.useState)(null),W={fieldInfo:{name:e,valueTransform:e=>F.getNumber(0)},...y},[I,L]=(0,a.A)(M,W,t,g,b),{errors:z}=b?(0,h.lN)({control:b}):{};(0,m.useEffect)(()=>{P(void 0!==z[e]?d()(z[e])?z[e].map(e=>e.message):[z[e]?.message]:[])},[z]);let Y=async e=>{k(!0);let{value:i}=e.target;if(i.length>=0&&T(i),0!==i.length&&y.mutation){let t=F.getValidationError();if(0!==t)P([p[t]]);else{let t=null!==o?await o(i):[];P(t),0===t.length&&I(e,F.getNumber(0))}}},K=async e=>{k(!q),$(!1);let i=F.getValidationError();F.isValidNumber()||0!==i||(i=-100),0!==i?P([p[i]]):(P(null!==o?await o(N):[]),y.mutation||c({error:p[i],value:N}))};return(0,m.useEffect)(()=>{let e=(({ref:e,initialCountry:i})=>{let t=e.current;return f()(t,{autoPlaceholder:"polite",initialCountry:i,autoHideDialCode:!1,utilsScript:j,customPlaceholder:function(){return""},separateDialCode:!0,formatOnDisplay:!1,nationalMode:!0})})({ref:M,initialCountry:A,defaultNumber:x});return e.promise.then(function(){S(e)}
25),()=>{e.destroy()}},[A]),(0,m.useEffect)(()=>{if(null!==F){F.setNumber(x);let e=F.getNumber(2);e&&T(e.replace(/[^0-9]/g,""))}},[F]),(0,r.jsxs)(n.mc,{filled:v,children:[(0,r.jsx)(n.zy,{}),(0,r.jsxs)(n.oi,{hasFocus:E,children:[(0,r.jsx)(n.x1,{dangerouslySetInnerHTML:{__html:i},htmlFor:e,focus:q||N?.length>0}),(0,r.jsx)("input",{ref:M,type:"tel",id:e,name:e,defaultValue:N,onChange:e=>{u&&u(F.getNumber(0)),Y&&Y(e)},onFocus:()=>{$(!E)},onBlur:K,maxLength:20,required:_,...w}),L]}),C?.length?(0,r.jsxs)(s.Kw,{children:[(0,r.jsx)(l.default,{}),C.map((e,i)=>(0,r.jsx)("span",{children:e},i))]}):null]})};A.propTypes={name:c().string,label:c().string,onChange:c().func,onBlur:c().func,defaultNumber:c().string,initialCountry:c().string,debounceTimeout:c().number,async:c().object,control:c().object,required:c().bool,filled:c().bool};let g=A},60457:(e,i,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/profile/edit/[username]",function(){return t(69793)}])},69793:(e,i,t)=>{"use strict";t.r(i),t.d(i,{__N_SSP:()=>es,default:()=>en});var r=t(37876),s=t(14232),n=t(83224),l=t(48384),a=t(95062),o=t.n(a),d=t(84290),u=t(85352),c=t(16871),m=t(67899),h=t.n(m),x=t(99041),f=t(84276),j=t(45684),p=t(1842);let A={id:"",first_name:"",last_name:"",nationality:"",country:"",timezone:"",desired_hourly_rate:"",linked_in_url:"",referring_user_referral_code:"",skillEnglishLevel:"",careerFocuses:[],github:"",portfolio_url:"",client_title:"",phone:"",email:""};var g=t(93653);let y={first_name:g.Ay.string().required("First name is required.").sanitize().letterOnly(),last_name:g.Ay.string().required("Last name is required.").sanitize().letterOnly(),nationality:g.Ay.string().required("Nationality is required."),country:g.Ay.string().required("Country is required."),timezone:g.Ay.string().required("Time Zone is required."),skillEnglishLevel:g.UL.required("English Level is required."),linked_in_url:g.Ay.string().trim().transform(g.HM).required("LinkedIn Profile URL is required.").linkedInProfileUrlStrict("LinkedIn Profile URL must start with https://www.linkedin.com/in/ and have a valid username (3-100 characters)."),email:g.Ay.string().required("Email is required.").email("Email address is invalid.").unique("user","email",null,"Email already taken.").sanitize(),referring_user_referral_code:g.Ay.string().nullable(),careerFocuses:g.Ay.array().min(1,"At least one career focus is required.").nullable(),github:g.Ay.string().sanitize().nullable().unique("user","github",null,"This github username is already in use."),portfolio_url:g.Ay.string().urlAllowNoProtocol().nullable(),title:g.Ay.string().required("Title is required."),phone:g.Ay.string().sanitize()},b=g.Ay.object({...y,desired_hourly_rate:g.UL.required("Desired Hourly Rate is required.")}).required(),_=g.Ay.object(y).required();var v=t(81487),w=t(74023),M=t.n(w),q=t(38871),k=t(18730),E=t(16040),$=t(19072),N=t(34527);let T=(e,i,t,r)=>{let{enqueueSnackbar:s}=(0,k.d)();return()=>{t(!0);let n=M()(r(),["__typename","_policies","id"]);(n=(0,N.iU)(n,["desired_hourly_rate","skillEnglishLevel"])).careerFocuses=r().careerFocuses.map(e=>e.id);let l={input:n,id:e.id};return q.A.mutate({mutation:E.A,variables:l}).then(r=>{let n=(0,$.GN)(r);n?(i({...e,...n}),s({type:"success",message:"Profile details updated!"})):s({type:"error",message:"There's an error while saving the profile"}),t(!1)}).catch(e=>{t(!1),s({type:"error",message:e.message})})}};var C=t(27549),P=t(30302),F=t(51293),S=t(51444),W=t(89752),I=t(46911),L=t(9472),z=t(72912),Y=t(16046),K=t(60617),D=t(70380);let U=()=>{let{control:e,async:i}=(0,s.useContext)(j.A),t={...i,fieldInfo:{name:"email"}};return(0,r.jsx)(D.A,{label:"Email <span>*</span>",name:"email",async:t,control:e})},G=()=>{let{control:e,async:i}=(0,s.useContext)(j.A),t={...i,fieldInfo:{name:"portfolio_url"}};return(0,r.jsx)(D.A,{label:"Personal Website / Portfolio",name:"portfolio_url",async:t,control:e,placeholder:"https://www.example.com"})};var O=t(75715);let R=()=>{let{control:e,async:i}=(0,s.useContext)(j.A),t={...i,fieldInfo:{name:"client_title"}};return(0,r.jsx)(D.A,{label:"Title <span>*</span>",name:"client_title",async:t,control:e})};var V=t(46871),B=t(57438);let H=()=>{let{profile:e,setProfile:i,careerFocuses:t,countries:n,isClientAndContractor:l}
25=(0,s.useContext)(c.Ay),[a,o]=(0,s.useState)(!1),d=(0,V.ub)(e,"users.edit.desiredRate"),u=h()({...e,careerFocuses:e.careerFocuses.map(e=>e.id)},[...Object.keys(A),"id"]),{handleSubmit:m,control:g,getValues:y,setValue:w,trigger:M,watch:q,formState:{dirtyFields:k,isValid:$,isValidating:N}}=(0,C.A)(u,"onChange",d?b:_,A),D=m(T(u,i,o,y,$,N)),{async:H}=(0,v.A)(i,null,e,"update",E.A);return(0,r.jsxs)(j.A.Provider,{value:{control:g,getValues:y,setValue:w,submiting:a,trigger:M,watch:q,careerFocuses:t,countries:n,onSubmit:D,currentRecord:u,profile:e,setProfile:i,async:H,dirtyFields:k},children:[(0,r.jsx)(x.A,{padding:"base",children:(0,r.jsxs)(O.f6,{children:[(0,r.jsxs)(O.WM,{wide:!0,children:[(0,r.jsx)(O.Mo,{children:(0,r.jsx)(O.EY,{children:(0,r.jsx)(p.A,{as:"h2",size:"xl",children:"Profile Details"})})}),(0,r.jsx)(K.A,{fullWidth:!0})]}),(0,r.jsx)(O.WM,{children:(0,r.jsx)(L.A,{})}),(0,r.jsx)(O.WM,{children:(0,r.jsx)(z.A,{})}),(0,r.jsx)(O.WM,{children:(0,r.jsx)(F.A,{})}),(0,r.jsx)(S.A,{useGrid:!0}),d&&(0,r.jsx)(O.WM,{children:(0,r.jsx)(W.A,{})}),(0,r.jsxs)(O.WM,{flex:!0,children:[(0,r.jsx)(I.A,{}),(0,r.jsx)(f.A,{})]}),(0,r.jsx)(O.WM,{children:(0,r.jsx)(Y.A,{})}),(0,r.jsx)(O.WM,{children:(0,r.jsx)(U,{})}),(0,r.jsx)(O.WM,{children:(0,r.jsx)(G,{})}),l&&(0,r.jsx)(O.WM,{children:(0,r.jsx)(R,{})})]})}),(0,r.jsxs)(x.A,{children:[(0,r.jsx)(P.A,{useGrid:!0}),(0,r.jsx)(B.A,{useGrid:!0})]})]})};var X=t(4481),Z=t(24855),J=t(57865);let Q=()=>{let{control:e,async:i,currentRecord:t,setError:n,clearErrors:l}=(0,s.useContext)(j.A),a={...i,fieldInfo:{name:"phone"}};return(0,r.jsx)(J.A,{label:"Phone <span>*</span>",name:"phone",async:a,control:e,onBlur:({error:e,value:t})=>{i||(e?n("phone",{type:"custom",message:e}):l("phone"),setValue("phone",t))},initialCountry:t.country||"",defaultNumber:t.phone||""})},ee=()=>{let{profile:e,setProfile:i,careerFocuses:t,countries:n,isClient:l}=(0,s.useContext)(c.Ay),[a,o]=(0,s.useState)(!1),d=h()({...e,careerFocuses:e.careerFocuses.map(e=>e.id)},[...Object.keys(A),"id"]),{handleSubmit:u,control:m,getValues:f,setValue:g,trigger:y,watch:_,setError:w,clearErrors:M,formState:{dirtyFields:q}}=(0,C.A)(d,"onChange",b,A),k=u(T(d,i,o,f)),{async:$}=(0,v.A)(i,null,e,"update",E.A);return(0,r.jsx)(j.A.Provider,{value:{control:m,getValues:f,setValue:g,submiting:a,trigger:y,watch:_,careerFocuses:t,countries:n,onSubmit:k,currentRecord:d,profile:e,setProfile:i,async:$,dirtyFields:q,setError:w,clearErrors:M},children:(0,r.jsxs)(x.A,{padding:"base",children:[(0,r.jsx)(O.f6,{children:(0,r.jsxs)(O.WM,{wide:!0,children:[(0,r.jsx)(O.Mo,{children:(0,r.jsx)(O.EY,{children:(0,r.jsx)(p.A,{as:"h2",size:"xl",children:"Profile Details"})})}),(0,r.jsx)(K.A,{fullWidth:!0})]})}),(0,r.jsxs)(O.f6,{children:[(0,r.jsx)(O.WM,{children:(0,r.jsx)(L.A,{})}),(0,r.jsx)(O.WM,{children:(0,r.jsx)(z.A,{})})]}),(0,r.jsxs)(O.f6,{children:[(0,r.jsx)(O.WM,{children:(0,r.jsx)(R,{})}),(0,r.jsx)(O.WM,{children:(0,r.jsx)(Q,{})})]}),(0,r.jsx)(O.f6,{children:(0,r.jsx)(S.A,{useGrid:!0})}),(0,r.jsx)(O.f6,{children:(0,r.jsx)(U,{})})]})})},ei=({profile:e,me:i,careerFocuses:t,countries:n,permissions:l})=>{if(!e)return null;let[a,o]=(0,s.useState)(e),m=l.includes("contractor"),h=l.includes("client")&&!m,x=l.includes("client")&&m,f=(0,Z.A)(["admin","staffing"]);return(0,r.jsx)(c.Ay.Provider,{value:{metaTitle:"Edit Profile Details",profile:a,me:i,setProfile:o,careerFocuses:t,countries:n,isClient:h,isContractor:m,isClientAndContractor:x,hasUserActionsPermission:f},children:(0,r.jsxs)(u.A,{menu:(0,r.jsx)(d.A,{}),children:[(0,r.jsx)(X.A,{}),m?(0,r.jsx)(H,{}):(0,r.jsx)(ee,{})]})})};ei.propTypes={profile:o().object,me:o().object,careerFocuses:o().array,countries:o().array,permissions:o().array};var et=t(12865),er=t(29196),es=!0;function en({unauthorized:e,profile:i,me:t,careerFocuses:s,countries:a,permissions:o}){return e?(0,r.jsxs)(er.vu,{children:[(0,r.jsx)(n.A,{statusCode:401}),";"]}):i?(0,r.jsx)(er.vu,{profile:i,children:(0,r.jsx)(et.zE,{children:(0,r.jsx)(ei,{profile:i,me:t,careerFocuses:s,countries:a,permissions:o})})}):(0,r.jsx)(er.vu,{children:(0,r.jsx)(l.A,{})})}},72912:(e,i,t)=>{"use strict";t.d(i,{A:()=>a});var r=t(37876),s=t(14232),n=t(45684),l=t(70380);let a=()=>{let{control:e,async:i}=(0,s.useContext)(n.A),t={...i,fieldInfo:{name:"last_name"}};return(0,r.jsx)(l.A,{label:"Last Name <span>*</span>",name:"last_name",async:t,control:e})}},85352:(e,i,t)=>{"use strict";t.d(i,{A:()=>M});
25var r=t(37876),s=t(14232),n=t(21490),l=t(26780),a=t(16871),o=t(40913);let d=()=>{let{profile:e,metaTitle:i,noIndex:t=!1}=(0,s.useContext)(a.Ay);if(!e)return null;let n=`${i} | Scalable Path\xae`,d=`${e.first_name} is a freelancer with Scalable Path.`,u=l.A.META_TAG_DEFAULTS,c={title:n,description:d,noindex:t,openGraph:{url:`${u.siteUrl}/pub/${e.id}/${e.first_name}`},twitterCard:{title:n}};return(0,r.jsx)(o.A,{...c})};var u=t(18730),c=t(87856),m=t(51733);let h=(0,c.DU)` 26 body { 27 background-color: ${m.Tj.neutral["100"]}; 28 } 29`,x=c.Ay.main` 30 // Makes the Footer stick-bottom be always at bottom if the content is smaller than screen height 31 // This height: auto and margin bottom it's tight to a hack within the BottomNavMobile component inside of useEffect 32 // in order to position Footer properly on mobile screens for a set of specific pages, so be careful if need to change this; 33 34 height: auto; 35 @media (min-width: ${m.fi.sm}) { 36 height: 100vh; 37 margin-bottom: 0; 38 } 39 position: relative; 40`,f=c.Ay.div` 41 padding-bottom: ${m.YK["8x"]}; 42 margin: auto; 43 padding: ${m.YK.base} ${m.YK.base}; 44 @media (min-width: ${m.fi.sm}) { 45 padding: 0 ${m.YK.base} ${m.YK["8x"]} ${m.YK.base}; 46 justify-content: flex-start; 47 } 48`,j=c.Ay.div` 49 padding: ${m.YK["3x"]} 0 0 0; 50 max-width: 100vw; 51 @media (min-width: ${m.fi.sm}) { 52 padding: ${m.YK["4.5x"]} 0 0 0; 53 } 54`,p=c.Ay.div` 55 flex: 1 1 auto; 56 max-width: 100vw; 57 58 @media screen and (max-width: ${m.fi.sm}) { 59 width: 100%; 60 } 61`;var A=t(21566),g=t(53796),y=t(34442),b=t(95062),_=t.n(b),v=t(89099);let w=({children:e,stickMenu:i=!1,menu:t,headMetaTags:s,showMenu:l=!0})=>{let a=["/pub/[user_id]/[first_name]","/candidate/[user_position_id]/[hash]/[first_name]","/details/[uid]/[first_name]"].includes((0,v.useRouter)().pathname)?"client":"internal";return(0,r.jsx)(u.A,{children:(0,r.jsxs)(x,{children:[s||(0,r.jsx)(d,{}),(0,r.jsx)(n.A,{}),(0,r.jsx)(h,{}),(0,r.jsxs)(j,{children:[(0,r.jsx)(g.A,{variant:a}),l?(0,r.jsx)(f,{id:"page-content",stick:i,children:(0,r.jsxs)(A.iy,{children:[t,(0,r.jsx)(p,{children:e})]})}):(0,r.jsx)(f,{id:"page-content",children:(0,r.jsx)(A.iy,{children:(0,r.jsx)(p,{children:e})})})]}),(0,r.jsx)(y.A,{})]})})};w.propTypes={children:_().node,stickMenu:_().bool,menu:_().object,headMetaTags:_().object,showMenu:_().bool};let M=w}},e=>{e.O(0,[29107,30236,50461,88736,73429,84675,42277,90481,25045,61909,95948,43486,90636,46593,38792],()=>e(e.s=60457)),_N_E=e.O()}]); 62//# sourceMappingURL=[username]-a00d75111976b273.js.map 63//# chunkId=01a0f383-0156-7512-90ee-a0dedbf97ff9
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.