1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[662],{8076:function(e,r,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/settings",function(){return s(5179)}])},3548:function(e,r,s){"use strict";s.d(r,{I:function(){return l},g:function(){return c}});var a=s(5893),t=s(6010),n=s(7294),i=s(4316),u=s.n(i),l=(0,n.forwardRef)((function(e,r){var s=e.label,n=e.placeholder,i=e.className,l=e.htmlType,c=e.autoComplete,o=e.size,d=e.ariaLabel,p=e.required;return(0,a.jsx)("div",{className:(0,t.Z)(u().root,i),children:(0,a.jsxs)("label",{children:[s&&(0,a.jsx)("div",{className:u().label,children:s}),(0,a.jsx)("input",{type:l,autoComplete:c,placeholder:n,ref:r,className:(0,t.Z)(u().input,o&&u()[o]),"aria-label":d,required:p})]})})})),c=(0,n.forwardRef)((function(e,r){var s=e.label,n=e.placeholder,i=e.className,l=e.htmlType,c=e.autoComplete,o=e.ariaLabel,d=e.required;return(0,a.jsx)("div",{className:(0,t.Z)(u().root,i),children:(0,a.jsxs)("label",{children:[s&&(0,a.jsx)("div",{className:u().label,children:s}),(0,a.jsx)("textarea",{type:l,autoComplete:c,placeholder:n,ref:r,className:(0,t.Z)(u().textarea),"aria-label":o,required:d})]})})}))},5179:function(e,r,s){"use strict";s.r(r),s.d(r,{default:function(){return Z}});var a=s(5893),t=s(4051),n=s.n(t),i=s(2835),u=s(5542),l=s(3548),c=s(6030),o=s(986),d=s(251),p=s(5572),f=s(1163),x=s(7294),m=s(4931),v=s(6147),h=s.n(v);function _(e,r,s,a,t,n,i){try{var u=e[n](i),l=u.value}catch(c){return void s(c)}u.done?r(l):Promise.resolve(l).then(a,t)}function j(e){return function(){var r=this,s=arguments;return new Promise((function(a,t){var n=e.apply(r,s);function i(e){_(n,a,t,i,u,"next",e)}function u(e){_(n,a,t,i,u,"throw",e)}i(void 0)}))}}var b=function(e){var r=e.user,s=(0,x.useState)(),t=s[0],i=s[1],l=(0,x.useCallback)(j(n().mark((function e(){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,i("loading"),e.next=4,(0,d._)("/api/user/email/verify",{method:"POST"});case 4:m.ZP.success("An email has been sent to your mailbox. Follow the instruction to verify your email."),i("success"),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(0),m.ZP.error(e.t0.message),i("");case 12:case"end":return e.stop()}}),e,null,[[0,8]])}))),[]);return r.emailVerified?null:(0,a.jsxs)(c.W2,{className:h().note,children:[(0,a.jsx)(c.W2,{flex:1,children:(0,a.jsxs)("p",{children:[(0,a.jsx)("strong",{children:"Note:"})," ",(0,a.jsx)("span",{children:"Your email"})," (",(0,a.jsx)("span",{className:h().link,children:r.email}),") is unverified."]})}),(0,a.jsx)(c.LZ,{size:1,axis:"horizontal"}),(0,a.jsx)(u.z,{loading:"loading"===t,size:"small",onClick:l,disabled:"success"===t,children:"Verify"})]})},w=function(){var e=(0,x.useRef)(),r=(0,x.useRef)(),s=(0,x.useState)(!1),t=s[0],i=s[1],o=(0,x.useCallback)(function(){var s=j(n().mark((function s(a){return n().wrap((function(s){for(;;)switch(s.prev=s.next){case 0:return a.preventDefault(),s.prev=1,i(!0),s.next=5,(0,d._)("/api/user/password",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({oldPassword:e.current.value,newPassword:r.current.value})});case 5:m.ZP.success("Your password has been updated"),s.next=11;break;case 8:s.prev=8,s.t0=s.catch(1),m.ZP.error(s.t0.message);case 11:return s.prev=11,i(!1),e.current.value="",r.current.value="",s.finish(11);case 16:case"end":return s.stop()}}),s,null,[[1,8,11,16]])})));return function(e){return s.apply(this,arguments)}}(),[]);return(0,a.jsxs)("section",{className:h().card,children:[(0,a.jsx)("h4",{className:h().sectionTitle,children:"Password"}),(0,a.jsxs)("form",{onSubmit:o,children:[(0,a.jsx)(l.I,{htmlType:"password",autoComplete:"current-password",ref:e,label:"Old Password"}),(0,a.jsx)(c.LZ,{size:.5,axis:"vertical"}),(0,a.jsx)(l.I,{htmlType:"password",autoComplete:"new-password",ref:r,label:"New Password"}),(0,a.jsx)(c.LZ,{size:.5,axis:"vertical"}),(0,a.jsx)(u.z,{htmlType:"submit",className:h().submit,type:"success",loading:t,children:"Save"})]})]})},g=function(e){var r=e.user,s=e.mutate,t=(0,x.useRef)(),o=(0,x.useRef)(),p=(0,x.useRef)(),f=(0,x.useRef)(),v=(0,x.useState)(r.profilePicture),_=v[0],b=v[1],w=(0,x.useCallback)((function(e){var r,s=null===(r=e.currentTarget.files)||void 0===r?void 0:r[0];if(s){var a=new FileReader;a.onload=function(e){b(e.currentTarget.result)},a.readAsDataURL(s)}}),[]),g=(0,x.useState)(!1),N=g[0],y=g[1],P=(0,x.useCallback)(function(){var e=j(n().mark((function e(r){var a,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r.preventDefault(),e.prev=1,y(!0),(a=new FormData).append("username",t.current.value),a.append("name",o.current.value),a.append("bio",p.current.value),f.current.files[0]&&a.append("profilePicture",f.current.files[0]),e.next=10,(0,d._)("/api/user",{method:"PATCH",body:a});case 10:i=e.sent,s({user:i.user},!1),m.ZP.success("Your profile has been updated"),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(1),m.ZP.error(e.t0.message);case 18:return e.prev=18,y(!1),e.finish(18);case 21:case"end":return e.stop()}}),e,null,[[1,15,18,21]])})));return function(r){return e.apply(this,arguments)}}(),[s]);return(0,x.useEffect)((function(){t.current.value=r.username,o.current.value=r.name,p.current.value=r.bio,f.current.value="",b(r.profilePicture)}),[r]),(0,a.jsxs)("section",{className:h().card,children:[(0,a.jsx)("h4",{className:h().sectionTitle,children:"About You"}),(0,a.jsxs)("form",{onSubmit:P,children:[(0,a.jsx)(l.I,{ref:t,label:"Your Username"}),(0,a.jsx)(c.LZ,{size:.5,axis:"vertical"}),(0,a.jsx)(l.I,{ref:o,label:"Your Name"}),(0,a.jsx)(c.LZ,{size:.5,axis:"vertical"}),(0,a.jsx)(l.g,{ref:p,label:"Your Bio"}),(0,a.jsx)(c.LZ,{size:.5,axis:"vertical"}),(0,a.jsx)("span",{className:h().label,children:"Your Avatar"}),(0,a.jsxs)("div",{className:h().avatar,children:[(0,a.jsx)(i.q,{size:96,username:r.username,url:_}),(0,a.jsx)("input",{"aria-label":"Your Avatar",type:"file",accept:"image/*",ref:f,onChange:w})]}),(0,a.jsx)(c.LZ,{size:.5,axis:"vertical"}),(0,a.jsx)(u.z,{htmlType:"submit",className:h().submit,type:"success",loading:N,children:"Save"})]})]})},N=function(){var e=(0,p.xJ)(),r=e.data,s=e.error,t=e.mutate,n=(0,f.useRouter)();return(0,x.useEffect)((function(){(r||s)&&(r.user||n.replace("/login"))}),[n,r,s]),(0,a.jsxs)(o.Z,{className:h().wrapper,children:[(0,a.jsx)(c.LZ,{size:2,axis:"vertical"}),(null===r||void 0===r?void 0:r.user)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b,{user:r.user}),(0,a.jsx)(g,{user:r.user,mutate:t}),(0,a.jsx)(w,{user:r.user})]}):null]})},y=s(9008),P=s.n(y),Z=function(){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(P(),{children:(0,a.jsx)("title",{children:"Settings"})}),(0,a.jsx)(N,{})]})}},4316:function(e){e.exports={root:"Input_root__RKa3c",input:"Input_input__fo8G3",textarea:"Input_textarea__IgABu",label:"Input_label__9EpU1",large:"Input_large__j1_oH"}},6147:function(e){e.exports={card:"Settings_card__4MeYo",wrapper:"Settings_wrapper__XZ0Sf",sectionTitle:"Settings_sectionTitle__p_q3Y",submit:"Settings_submit__RE6zM",label:"Settings_label__9ggul",avatar:"Settings_avatar__DrZKE",note:"Settings_note__X5qjU",link:"Settings_link__PRYMx"}}},function(e){e.O(0,[774,888,179],(function(){return r=8076,e(e.s=r);var r}));var r=e.O();_N_E=r}]);
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.