"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[663],{1663:function(e,t,r){r.d(t,{_:function(){return StudentAuthFormWrapper}});var s=r(5893),n=r(1604),i=r(802),c=r(3734),l=r(3e3),a=r(6311),d=r(7294),o=r(6069),u=r(3742),m=r(848);let f=d.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,s.jsx)(o.fC,{ref:t,className:(0,m.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",r),...n,children:(0,s.jsx)(o.z$,{className:(0,m.cn)("flex items-center justify-center text-current"),children:(0,s.jsx)(u.Z,{className:"h-4 w-4"})})})});function StudentFormDescription(){let{t:e}=(0,a.$G)("student-auth");return(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"pb-2",children:e("student-form-description.intro")}),(0,s.jsxs)("ol",{className:"pb-2 list-decimal ml-10",children:[(0,s.jsxs)("li",{className:"pb-2",children:[(0,s.jsx)("b",{children:e("student-form-description.rule1")})," : ",e("student-form-description.rule1-desc")]}),(0,s.jsxs)("li",{className:"pb-2",children:[(0,s.jsx)("b",{children:e("student-form-description.rule2")})," : ",e("student-form-description.rule2-desc")]}),(0,s.jsxs)("li",{className:"pb-2",children:[(0,s.jsx)("b",{children:e("student-form-description.rule3")})," : ",e("student-form-description.rule3-desc")]}),(0,s.jsxs)("li",{className:"pb-2",children:[(0,s.jsx)("b",{children:e("student-form-description.rule4")})," : ",e("student-form-description.rule4-desc")]})]}),(0,s.jsx)("p",{children:e("student-form-description.conclusion")})]})}f.displayName=o.fC.displayName;var p=r(3857);let x=n.Ry({accessCode:n.Z_().optional(),studentIdentifier:n.Z_().optional(),acceptTerms:n.O7().optional()}),h={accessCode:"",studentIdentifier:"",acceptTerms:!1};function StudentAuthForm(e){let{form:t,onSubmit:r,isLoading:n}=e,{t:d}=(0,a.$G)("student-auth");return(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"container max-w-2xl justify-center",children:[(0,s.jsx)("h1",{className:"py-5 text-center text-4xl font-bold","data-cy":"student-auth-form.welcomeHeader",children:d("student-auth-form.welcome-header")}),(0,s.jsx)("div",{className:"items-center justify-center",children:(0,s.jsx)("p",{"data-cy":"welcomeText",children:d("student-auth-form.playground-description")})}),(0,s.jsx)(c.l0,{...t,children:(0,s.jsxs)("form",{onSubmit:t.handleSubmit(r),className:"mt-5 min-w-80 space-y-4",children:[(0,s.jsx)(c.Wi,{control:t.control,name:"accessCode",render:e=>{let{field:t}=e;return(0,s.jsxs)(c.xJ,{className:"w-full",children:[(0,s.jsx)(c.lX,{children:d("student-auth-form.access-code")}),(0,s.jsx)(c.NI,{children:(0,s.jsx)(l.I,{...t})}),(0,s.jsx)(c.zG,{})]})}}),(0,s.jsx)(c.Wi,{control:t.control,name:"studentIdentifier",render:e=>{let{field:t}=e;return(0,s.jsxs)(c.xJ,{className:"w-full",children:[(0,s.jsx)(c.lX,{children:d("student-auth-form.student-identifier")}),(0,s.jsx)(c.NI,{children:(0,s.jsx)(l.I,{...t})}),(0,s.jsx)(c.zG,{})]})}}),(0,s.jsx)(StudentFormDescription,{}),(0,s.jsx)(c.Wi,{control:t.control,name:"acceptTerms",render:e=>{let{field:t}=e;return(0,s.jsxs)(c.xJ,{className:"w-full",children:[(0,s.jsx)(c.NI,{children:(0,s.jsxs)("label",{className:"flex items-center",children:[(0,s.jsx)(f,{className:"mr-2",checked:t.value,onCheckedChange:t.onChange}),(0,s.jsx)("span",{children:d("student-auth-form.accept-terms")})]})}),(0,s.jsx)(c.zG,{})]})}}),(0,s.jsxs)(i.z,{type:"submit",disabled:n,className:"relative",children:[n&&(0,s.jsx)("div",{className:"absolute left-3 mr-2",children:(0,s.jsx)(p.P.circleNotch,{className:"h-5 w-5 animate-spin"})}),(0,s.jsx)("span",{children:d("student-auth-form.connect-button")})]})]})})]})})}var j=r(3771),b=r(7536),N=r(6312),v=r(3299);function StudentAuthFormWrapper(){let[e,t]=(0,d.useState)(!1),r=j.h.workshop.checkIfAccessCodeValid.useMutation(),{t:n}=(0,a.$G)("student-auth"),i=(0,b.cI)({resolver:(0,N.F)(x),defaultValues:h});async function onSubmit(e){var s;t(!0);let c=function(e){var t;let r=Number(null==e?void 0:null===(t=e.accessCode)||void 0===t?void 0:t.length);return 5===r||(i.setError("accessCode",{type:"manual",message:n("student-auth-form.access-code-error")}),!1)}(e),l=function(e){var t;let r=Number(null==e?void 0:null===(t=e.studentIdentifier)||void 0===t?void 0:t.length);return r>=4||(i.setError("studentIdentifier",{type:"manual",message:n("student-auth-form.student-identifier-error")}),!1)}(e),a=function(e){var t;let r=null!==(t=null==e?void 0:e.acceptTerms)&&void 0!==t?t:i.getValues("acceptTerms");return!!r||(i.setError("acceptTerms",{type:"manual",message:n("student-auth-form.accept-terms-error")}),!1)}(e);if(!c||!l||!a){t(!1);return}let d=await r.mutateAsync({accessCode:null!==(s=e.accessCode)&&void 0!==s?s:""});if(!d){i.setError("accessCode",{type:"manual",message:n("student-auth-form.access-code-error")}),t(!1);return}(0,v.signIn)("credentials",{accessCode:e.accessCode,studentIdentifier:e.studentIdentifier})}return(0,s.jsx)(StudentAuthForm,{form:i,onSubmit:onSubmit,isLoading:e})}},3734:function(e,t,r){r.d(t,{l0:function(){return m},NI:function(){return j},pf:function(){return b},Wi:function(){return FormField},xJ:function(){return x},lX:function(){return h},zG:function(){return N}});var s=r(5893),n=r(7294),i=r(8426),c=r(7536),l=r(848),a=r(9102),d=r(5139);let o=(0,d.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),u=n.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,s.jsx)(a.f,{ref:t,className:(0,l.cn)(o(),r),...n})});u.displayName=a.f.displayName;let m=c.RV,f=n.createContext({}),FormField=e=>{let{...t}=e;return(0,s.jsx)(f.Provider,{value:{name:t.name},children:(0,s.jsx)(c.Qr,{...t})})},useFormField=()=>{let e=n.useContext(f),t=n.useContext(p),{getFieldState:r,formState:s}=(0,c.Gc)(),i=r(e.name,s);if(!e)throw Error("useFormField should be used within <FormField>");let{id:l}=t;return{id:l,name:e.name,formItemId:"".concat(l,"-form-item"),formDescriptionId:"".concat(l,"-form-item-description"),formMessageId:"".concat(l,"-form-item-message"),...i}},p=n.createContext({}),x=n.forwardRef((e,t)=>{let{className:r,...i}=e,c=n.useId();return(0,s.jsx)(p.Provider,{value:{id:c},children:(0,s.jsx)("div",{ref:t,className:(0,l.cn)("space-y-2",r),...i})})});x.displayName="FormItem";let h=n.forwardRef((e,t)=>{let{className:r,...n}=e,{error:i,formItemId:c}=useFormField();return(0,s.jsx)(u,{ref:t,className:(0,l.cn)(i&&"text-destructive",r),htmlFor:c,...n})});h.displayName="FormLabel";let j=n.forwardRef((e,t)=>{let{...r}=e,{error:n,formItemId:c,formDescriptionId:l,formMessageId:a}=useFormField();return(0,s.jsx)(i.g7,{ref:t,id:c,"aria-describedby":n?"".concat(l," ").concat(a):"".concat(l),"aria-invalid":!!n,...r})});j.displayName="FormControl";let b=n.forwardRef((e,t)=>{let{className:r,...n}=e,{formDescriptionId:i}=useFormField();return(0,s.jsx)("p",{ref:t,id:i,className:(0,l.cn)("text-sm text-muted-foreground",r),...n})});b.displayName="FormDescription";let N=n.forwardRef((e,t)=>{let{className:r,children:n,...i}=e,{error:c,formMessageId:a}=useFormField(),d=c?String(null==c?void 0:c.message):n;return d?(0,s.jsx)("p",{ref:t,id:a,className:(0,l.cn)("text-sm font-medium text-destructive",r),...i,children:d}):null});N.displayName="FormMessage"},3e3:function(e,t,r){r.d(t,{I:function(){return c}});var s=r(5893),n=r(7294),i=r(848);let c=n.forwardRef((e,t)=>{let{className:r,type:n,...c}=e;return(0,s.jsx)("input",{type:n,className:(0,i.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),ref:t,...c})});c.displayName="Input"}}]);