(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[488],{17035:(e,a,r)=>{"use strict";r.d(a,{AuthForm:()=>R});var s=r(69298),l=r(83130),n=r(88665),t=r(51192),i=r(72433),d=r(12488),o=r(46583),c=r(43177),u=r(87441),m=r(92839),h=r(84195),x=r(46844);let p=(0,r(82611).A)("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);var j=r(47122),f=r(7290);let v=(0,f.createServerReference)("401d952ae7b7f8c9b94c8a88341ac817f3647a7f67",f.callServer,void 0,f.findSourceMapURL,"signup"),g=(0,f.createServerReference)("60bd5df6fdb29b7814fc24dad2e02685d017bed7d9",f.callServer,void 0,f.findSourceMapURL,"login");var w=r(84586),N=r(71424),y=r(18758);let b=i.Ik({name:i.Yj().min(1,{message:"Nama lengkap harus diisi."}),address:i.Yj().min(1,{message:"Alamat harus diisi."}),university:i.Yj().optional(),gender:i.k5(["Laki-laki","Perempuan"],{required_error:"Jenis kelamin harus dipilih."}),whatsapp:i.Yj().min(10,{message:"Nomor WhatsApp tidak valid."}),phone:i.Yj().min(10,{message:"Nomor HP tidak valid."}),photo:i.Yj().optional()}),k=i.Ik({email:i.Yj().email({message:"Alamat email tidak valid."}),password:i.Yj().min(6,{message:"Kata sandi minimal 6 karakter."}),confirmPassword:i.Yj()}),S=b.merge(k).refine(e=>e.password===e.confirmPassword,{message:"Konfirmasi kata sandi tidak cocok.",path:["confirmPassword"]}),C=i.Ik({email:i.Yj().email({message:"Alamat email tidak valid."}),password:i.Yj().min(6,{message:"Kata sandi minimal 6 karakter."})});function R(e){let{variant:a}=e,{toast:r}=(0,m.dj)(),i=(0,d.useRouter)(),[f,k]=(0,l.useState)(!1),[R,M]=(0,l.useState)(1),[A,I]=(0,l.useState)(null),[L,P]=(0,l.useState)([]),E=(0,l.useRef)(null),B=(0,l.useMemo)(()=>"login"===a?C:1===R?b:S,[a,R]),J=(0,n.mN)({resolver:(0,l.useMemo)(()=>(0,t.u)(B),[B]),mode:"onChange",defaultValues:{name:"",address:"",university:"",gender:void 0,whatsapp:"",phone:"",photo:"",email:"",password:"",confirmPassword:""}}),z=f||J.formState.isSubmitting;(0,l.useEffect)(()=>{"signup"===a&&(async()=>{try{let e=await (0,j.y)();P(e.map(e=>({value:e,label:e})))}catch(e){}})()},[a]);let V=(0,l.useCallback)(async()=>{k(!0),await J.trigger(["name","address","gender","whatsapp","phone","photo","university"])&&M(2),k(!1)},[J]),K=(0,l.useCallback)(e=>{var a;let r=null==(a=e.target.files)?void 0:a[0];if(!r)return;let s=new FileReader;s.onloadend=()=>{let e=s.result;I(e),J.setValue("photo",e,{shouldValidate:!0})},s.readAsDataURL(r)},[J]),Y=(0,l.useCallback)(async e=>{k(!0);try{if("signup"===a){let a=await v(e);if(null==a?void 0:a.error)throw Error(a.error);r({title:"Pendaftaran Berhasil",description:"Mengalihkan ke dasbor..."}),i.refresh();return}{let a=await g(e.email,e.password);if(null==a?void 0:a.error)throw Error(a.error);r({title:"Login Berhasil",description:"Mengalihkan..."}),i.refresh();return}}catch(e){k(!1),r({variant:"destructive",title:"Autentikasi gagal",description:(null==e?void 0:e.message)||"Terjadi kesalahan. Silakan coba lagi."})}},[r,a,i]);return"login"===a?(0,s.jsx)(c.lV,{...J,children:(0,s.jsxs)("form",{onSubmit:J.handleSubmit(Y,()=>k(!1)),className:"space-y-4",noValidate:!0,children:[(0,s.jsx)(c.zB,{control:J.control,name:"email",render:e=>{let{field:a}=e;return(0,s.jsxs)(c.eI,{children:[(0,s.jsxs)(c.lR,{children:["Email ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsx)(u.p,{placeholder:"nama@contoh.com",...a})}),(0,s.jsx)(c.C5,{})]})}}),(0,s.jsx)(c.zB,{control:J.control,name:"password",render:e=>{let{field:a}=e;return(0,s.jsxs)(c.eI,{children:[(0,s.jsxs)(c.lR,{children:["Kata Sandi ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsx)(u.p,{type:"password",placeholder:"••••••••",...a})}),(0,s.jsx)(c.C5,{})]})}}),(0,s.jsxs)(o.$,{type:"submit",className:"w-full",disabled:z,"aria-disabled":z,children:[z&&(0,s.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Masuk"]})]})}):(0,s.jsx)(c.lV,{...J,children:(0,s.jsxs)("form",{onSubmit:J.handleSubmit(Y,()=>k(!1)),className:"space-y-4",noValidate:!0,children:[1===R&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.zB,{control:J.control,name:"photo",render:()=>(0,s.jsxs)(c.eI,{className:"flex flex-col items-center",children:[(0,s.jsx)(c.lR,{children:"Foto Profil"}),(0,s.jsx)(c.MJ,{children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsxs)(N.eu,{className:"h-24 w-24 cursor-pointer",onClick:()=>{var e;return null==(e=E.current)?void 0:e.click()},children:[(0,s.jsx)(N.BK,{src:A||void 0,alt:"Pratinjau Foto Profil"}),(0,s.jsx)(N.q5,{children:(0,s.jsx)(x.A,{className:"h-12 w-12"})})]}),(0,s.jsx)("div",{className:"absolute bottom-0 right-0 bg-primary text-primary-foreground rounded-full p-1 cursor-pointer hover:bg-primary/90",onClick:()=>{var e;return null==(e=E.current)?void 0:e.click()},role:"button","aria-label":"Unggah foto",tabIndex:0,children:(0,s.jsx)(p,{className:"h-4 w-4"})}),(0,s.jsx)(u.p,{type:"file",className:"hidden",ref:E,onChange:K,accept:"image/png, image/jpeg"})]})}),(0,s.jsx)(c.C5,{})]})}),(0,s.jsx)(c.zB,{control:J.control,name:"name",render:e=>{let{field:a}=e;return(0,s.jsxs)(c.eI,{children:[(0,s.jsxs)(c.lR,{children:["Nama Lengkap ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsx)(u.p,{placeholder:"John Doe",...a})}),(0,s.jsx)(c.C5,{})]})}}),(0,s.jsx)(c.zB,{control:J.control,name:"address",render:e=>{let{field:a}=e;return(0,s.jsxs)(c.eI,{children:[(0,s.jsxs)(c.lR,{children:["Alamat ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsx)(u.p,{placeholder:"Jl. Pahlawan No. 10",...a})}),(0,s.jsx)(c.C5,{})]})}}),(0,s.jsx)(c.zB,{control:J.control,name:"university",render:e=>{var a;let{field:r}=e;return(0,s.jsxs)(c.eI,{className:"flex flex-col",children:[(0,s.jsx)(c.lR,{children:"Asal Universitas (Opsional)"}),(0,s.jsx)(y.G,{options:L,value:null!=(a=r.value)?a:"",onChange:e=>J.setValue("university",e,{shouldValidate:!0}),placeholder:"Pilih atau ketik universitas",searchPlaceholder:"Cari universitas...",notFoundMessage:"Universitas tidak ditemukan."}),(0,s.jsx)(c.C5,{})]})}}),(0,s.jsx)(c.zB,{control:J.control,name:"gender",render:e=>{var a;let{field:r}=e;return(0,s.jsxs)(c.eI,{className:"space-y-3",children:[(0,s.jsxs)(c.lR,{children:["Jenis Kelamin ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsxs)(w.z,{value:null!=(a=r.value)?a:"",onValueChange:r.onChange,className:"flex space-x-4",children:[(0,s.jsxs)(c.eI,{className:"flex items-center space-x-2 space-y-0",children:[(0,s.jsx)(c.MJ,{children:(0,s.jsx)(w.C,{value:"Laki-laki"})}),(0,s.jsx)(c.lR,{className:"font-normal",children:"Laki-laki"})]}),(0,s.jsxs)(c.eI,{className:"flex items-center space-x-2 space-y-0",children:[(0,s.jsx)(c.MJ,{children:(0,s.jsx)(w.C,{value:"Perempuan"})}),(0,s.jsx)(c.lR,{className:"font-normal",children:"Perempuan"})]})]})}),(0,s.jsx)(c.C5,{})]})}}),(0,s.jsx)(c.zB,{control:J.control,name:"whatsapp",render:e=>{let{field:a}=e;return(0,s.jsxs)(c.eI,{children:[(0,s.jsxs)(c.lR,{children:["Nomor WhatsApp ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsx)(u.p,{type:"tel",placeholder:"081234567890",inputMode:"tel",...a})}),(0,s.jsx)(c.C5,{})]})}}),(0,s.jsx)(c.zB,{control:J.control,name:"phone",render:e=>{let{field:a}=e;return(0,s.jsxs)(c.eI,{children:[(0,s.jsxs)(c.lR,{children:["Nomor HP ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsx)(u.p,{type:"tel",placeholder:"081234567890",inputMode:"tel",...a})}),(0,s.jsx)(c.C5,{})]})}})]}),2===R&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.zB,{control:J.control,name:"email",render:e=>{let{field:a}=e;return(0,s.jsxs)(c.eI,{children:[(0,s.jsxs)(c.lR,{children:["Email ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsx)(u.p,{placeholder:"nama@contoh.com",...a})}),(0,s.jsx)(c.C5,{})]})}}),(0,s.jsx)(c.zB,{control:J.control,name:"password",render:e=>{let{field:a}=e;return(0,s.jsxs)(c.eI,{children:[(0,s.jsxs)(c.lR,{children:["Kata Sandi ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsx)(u.p,{type:"password",placeholder:"••••••••",...a})}),(0,s.jsx)(c.C5,{})]})}}),(0,s.jsx)(c.zB,{control:J.control,name:"confirmPassword",render:e=>{let{field:a}=e;return(0,s.jsxs)(c.eI,{children:[(0,s.jsxs)(c.lR,{children:["Konfirmasi Kata Sandi ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(c.MJ,{children:(0,s.jsx)(u.p,{type:"password",placeholder:"••••••••",...a})}),(0,s.jsx)(c.C5,{})]})}})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[2===R&&(0,s.jsx)(o.$,{type:"button",variant:"outline",onClick:()=>M(1),className:"w-full",disabled:z,"aria-disabled":z,children:"Kembali"}),1===R&&(0,s.jsxs)(o.$,{type:"button",onClick:V,className:"w-full",disabled:z,"aria-disabled":z,children:[z&&(0,s.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Selanjutnya"]}),2===R&&(0,s.jsxs)(o.$,{type:"submit",className:"w-full",disabled:z,"aria-disabled":z,children:[z&&(0,s.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Buat Akun"]})]})]})})}},36107:(e,a,r)=>{Promise.resolve().then(r.t.bind(r,40567,23)),Promise.resolve().then(r.bind(r,17035))},46844:(e,a,r)=>{"use strict";r.d(a,{A:()=>s});let s=(0,r(82611).A)("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]])},55776:(e,a,r)=>{"use strict";var s=r(83130),l="function"==typeof Object.is?Object.is:function(e,a){return e===a&&(0!==e||1/e==1/a)||e!=e&&a!=a},n=s.useState,t=s.useEffect,i=s.useLayoutEffect,d=s.useDebugValue;function o(e){var a=e.getSnapshot;e=e.value;try{var r=a();return!l(e,r)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,a){return a()}:function(e,a){var r=a(),s=n({inst:{value:r,getSnapshot:a}}),l=s[0].inst,c=s[1];return i(function(){l.value=r,l.getSnapshot=a,o(l)&&c({inst:l})},[e,r,a]),t(function(){return o(l)&&c({inst:l}),e(function(){o(l)&&c({inst:l})})},[e]),d(r),r};a.useSyncExternalStore=void 0!==s.useSyncExternalStore?s.useSyncExternalStore:c},57423:(e,a,r)=>{"use strict";r.d(a,{H4:()=>k,_V:()=>b,bL:()=>y});var s=r(83130),l=r(97702),n=r(27377),t=r(84167),i=r(64127),d=r(88949);function o(){return()=>{}}var c=r(69298),u="Avatar",[m,h]=(0,l.A)(u),[x,p]=m(u),j=s.forwardRef((e,a)=>{let{__scopeAvatar:r,...l}=e,[n,t]=s.useState("idle");return(0,c.jsx)(x,{scope:r,imageLoadingStatus:n,onImageLoadingStatusChange:t,children:(0,c.jsx)(i.sG.span,{...l,ref:a})})});j.displayName=u;var f="AvatarImage",v=s.forwardRef((e,a)=>{let{__scopeAvatar:r,src:l,onLoadingStatusChange:u=()=>{},...m}=e,h=p(f,r),x=function(e,a){let{referrerPolicy:r,crossOrigin:l}=a,n=(0,d.useSyncExternalStore)(o,()=>!0,()=>!1),i=s.useRef(null),c=n?(i.current||(i.current=new window.Image),i.current):null,[u,m]=s.useState(()=>N(c,e));return(0,t.N)(()=>{m(N(c,e))},[c,e]),(0,t.N)(()=>{let e=e=>()=>{m(e)};if(!c)return;let a=e("loaded"),s=e("error");return c.addEventListener("load",a),c.addEventListener("error",s),r&&(c.referrerPolicy=r),"string"==typeof l&&(c.crossOrigin=l),()=>{c.removeEventListener("load",a),c.removeEventListener("error",s)}},[c,l,r]),u}(l,m),j=(0,n.c)(e=>{u(e),h.onImageLoadingStatusChange(e)});return(0,t.N)(()=>{"idle"!==x&&j(x)},[x,j]),"loaded"===x?(0,c.jsx)(i.sG.img,{...m,ref:a,src:l}):null});v.displayName=f;var g="AvatarFallback",w=s.forwardRef((e,a)=>{let{__scopeAvatar:r,delayMs:l,...n}=e,t=p(g,r),[d,o]=s.useState(void 0===l);return s.useEffect(()=>{if(void 0!==l){let e=window.setTimeout(()=>o(!0),l);return()=>window.clearTimeout(e)}},[l]),d&&"loaded"!==t.imageLoadingStatus?(0,c.jsx)(i.sG.span,{...n,ref:a}):null});function N(e,a){return e?a?(e.src!==a&&(e.src=a),e.complete&&e.naturalWidth>0?"loaded":"loading"):"error":"idle"}w.displayName=g;var y=j,b=v,k=w},71424:(e,a,r)=>{"use strict";r.d(a,{BK:()=>d,eu:()=>i,q5:()=>o});var s=r(69298),l=r(83130),n=r(57423),t=r(26164);let i=l.forwardRef((e,a)=>{let{className:r,...l}=e;return(0,s.jsx)(n.bL,{ref:a,className:(0,t.cn)("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",r),...l})});i.displayName=n.bL.displayName;let d=l.forwardRef((e,a)=>{let{className:r,...l}=e;return(0,s.jsx)(n._V,{ref:a,className:(0,t.cn)("aspect-square h-full w-full",r),...l})});d.displayName=n._V.displayName;let o=l.forwardRef((e,a)=>{let{className:r,...l}=e;return(0,s.jsx)(n.H4,{ref:a,className:(0,t.cn)("flex h-full w-full items-center justify-center rounded-full bg-muted",r),...l})});o.displayName=n.H4.displayName},84586:(e,a,r)=>{"use strict";r.d(a,{C:()=>o,z:()=>d});var s=r(69298),l=r(83130),n=r(71757),t=r(7883),i=r(26164);let d=l.forwardRef((e,a)=>{let{className:r,...l}=e;return(0,s.jsx)(n.bL,{className:(0,i.cn)("grid gap-2",r),...l,ref:a})});d.displayName=n.bL.displayName;let o=l.forwardRef((e,a)=>{let{className:r,...l}=e;return(0,s.jsx)(n.q7,{ref:a,className:(0,i.cn)("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),...l,children:(0,s.jsx)(n.C1,{className:"flex items-center justify-center",children:(0,s.jsx)(t.A,{className:"h-2.5 w-2.5 fill-current text-current"})})})});o.displayName=n.q7.displayName},88949:(e,a,r)=>{"use strict";e.exports=r(55776)}}]);