"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[712],{712:function(e,t,a){a.d(t,{U:function(){return LoginForm}});var n=a(85893),i=a(67294),s=a(11163),r=a(25675),l=a.n(r),o=a(44176),c=a(28058),d=a(55780),m=a(26320);let u=i.forwardRef((e,t)=>{let{className:a,containerClassName:i,...s}=e;return(0,n.jsx)(c.uZ,{ref:t,containerClassName:(0,m.cn)("flex items-center gap-2 has-[:disabled]:opacity-50",i),className:(0,m.cn)("disabled:cursor-not-allowed",a),...s})});u.displayName="InputOTP";let x=i.forwardRef((e,t)=>{let{className:a,...i}=e;return(0,n.jsx)("div",{ref:t,className:(0,m.cn)("flex items-center",a),...i})});x.displayName="InputOTPGroup";let f=i.forwardRef((e,t)=>{let{index:a,className:s,...r}=e,l=i.useContext(c.VM),{char:o,hasFakeCaret:d,isActive:u}=l.slots[a];return(0,n.jsxs)("div",{ref:t,className:(0,m.cn)("relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",u&&"z-10 ring-2 ring-ring ring-offset-background",s),...r,children:[o,d&&(0,n.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:(0,n.jsx)("div",{className:"h-4 w-px animate-caret-blink bg-foreground duration-1000"})})]})});f.displayName="InputOTPSlot";let p=i.forwardRef((e,t)=>{let{...a}=e;return(0,n.jsx)("div",{ref:t,role:"separator",...a,children:(0,n.jsx)(d.Z,{})})});p.displayName="InputOTPSeparator";var h=a(43450),g=a(37582),y=a(36738),j=a(61970),w=a(87066),N=a(98779),b=a(86501),v=a(42841),F=a(45977);let LoginForm=e=>{let{isDialog:t,redirectUrl:a}=e,r=(0,s.useRouter)(),d=(0,i.useMemo)(()=>t&&a?a:t&&!a?window.location.pathname:(null==r?void 0:r.query.redirect)?String(r.query.redirect):"/text-to-meme",[t,a,null==r?void 0:r.query.redirect]),m=(0,g.WY)(),[k,S]=(0,i.useState)(""),[C,A]=(0,i.useState)(""),[R,D]=(0,i.useState)(!1),[T,z]=(0,i.useState)(!1),[I,Z]=(0,i.useState)(!1);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"w-full max-w-[500px] px-0 py-6 md:px-6 md:py-12",children:(0,n.jsxs)("div",{className:"w-full max-w-md space-y-8",children:[(0,n.jsxs)("h1",{className:"pb-6 text-center text-2xl font-bold",children:[(0,n.jsx)("span",{className:"block whitespace-nowrap md:inline",children:"Ready to meet your"})," ",(0,n.jsx)("span",{className:"block whitespace-nowrap md:inline",children:"Meme Officer?"})]}),(0,n.jsx)("div",{className:"flex items-center justify-center",children:(0,n.jsx)("button",{className:"text-center",onClick:()=>{y.e.auth.signInWithOAuth({provider:"google",options:{redirectTo:"".concat(window.location.origin).concat(d)}})},children:(0,n.jsx)(l(),{alt:"Google Login",src:"/static/google-signin.png",height:59.8,width:248.3})})}),(0,n.jsxs)("div",{className:"flex items-center justify-center",children:[(0,n.jsx)("div",{className:"mr-3 grow border-t border-gray-300"}),(0,n.jsx)("div",{className:"bg-white px-2 uppercase text-gray-500",children:(0,n.jsx)("span",{className:"mx-2 font-extrabold",children:"OR"})}),(0,n.jsx)("div",{className:"ml-3 grow border-t border-gray-300"})]}),(0,n.jsx)("form",{onSubmit:async e=>{if(e.preventDefault(),k&&h.H.test(k)){D(!0);try{await w.Z.post("/api/account/email-is-valid",{email:k}),await y.e.auth.signInWithOtp({email:k,options:{emailRedirectTo:"".concat(window.location.origin).concat(d)}}),A(""),z(!0),b.Am.success("A one-time pin was sent to your email. Please enter the pin to log in.")}catch(e){b.Am.error("Please enter a valid email to log in.")}finally{D(!1)}}else b.Am.error("Please enter a valid email to log in.")},children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-2 text-center",children:[(0,n.jsx)("label",{className:"text-center text-lg font-semibold",htmlFor:"email",children:"Log in with a one-time pin"}),(0,n.jsx)("input",{id:"email",type:"email",className:"default-input",placeholder:"Email address",value:k,onChange:e=>S(e.target.value)})]}),(0,n.jsxs)("button",{className:"primary-button-outline mt-4 w-full",type:"submit",children:[R?(0,n.jsx)(N.Z,{size:18,color:j.K6}):(0,n.jsx)(v.Z,{className:"h-4 w-4"}),(0,n.jsx)("span",{children:"Send one-time pin"})]}),(0,n.jsx)("button",{type:"button",className:"w-full text-center text-sm text-gray-500 underline hover:text-gray-700",onClick:()=>z(!0),children:"Show one-time pin input"})]})})]})}),(0,n.jsx)(o.Vq,{open:T,onOpenChange:()=>z(!1),children:(0,n.jsxs)(o.cZ,{className:"sm:max-w-[425px]",children:[(0,n.jsx)(o.$N,{className:"text-center",children:"Log in with one-time pin"}),(0,n.jsx)("div",{className:"mt-8",children:(0,n.jsxs)("form",{className:"space-y-4",onSubmit:async e=>{e.preventDefault(),Z(!0);try{let{error:e}=await y.e.auth.verifyOtp({email:k,token:C.replace(/\s/g,""),type:"email"});if(e)throw e;m(),z(!1),r.push(d)}catch(e){b.Am.error("Invalid one-time pin. Please try again.")}finally{Z(!1)}},children:[(0,n.jsxs)("div",{className:"m-auto space-y-2",children:[(0,n.jsx)("label",{className:"text-center text-base",htmlFor:"otp",children:"Please enter the one-time pin you received by email"}),(0,n.jsx)("div",{className:"flex flex-row justify-center",children:(0,n.jsxs)(u,{maxLength:6,value:C,onChange:e=>A(e),pattern:c.K2,autoFocus:!0,children:[(0,n.jsxs)(x,{children:[(0,n.jsx)(f,{index:0}),(0,n.jsx)(f,{index:1}),(0,n.jsx)(f,{index:2})]}),(0,n.jsx)(p,{}),(0,n.jsxs)(x,{children:[(0,n.jsx)(f,{index:3}),(0,n.jsx)(f,{index:4}),(0,n.jsx)(f,{index:5})]})]})})]}),(0,n.jsxs)("button",{className:"primary-button-solid w-full",children:[I?(0,n.jsx)(N.Z,{size:18,color:"white"}):(0,n.jsx)(F.Z,{className:"h-4 w-4 text-white"}),(0,n.jsx)("span",{children:"Log in"})]})]})})]})})]})}},44176:function(e,t,a){a.d(t,{$N:function(){return f},Be:function(){return p},GG:function(){return m},Vq:function(){return o},cN:function(){return DialogFooter},cZ:function(){return x},fK:function(){return DialogHeader},hg:function(){return c}});var n=a(85893),i=a(67294),s=a(12854),r=a(41352),l=a(26320);let o=s.fC,c=s.xz,d=s.h_,m=s.x8,u=i.forwardRef((e,t)=>{let{className:a,...i}=e;return(0,n.jsx)(s.aV,{ref:t,className:(0,l.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...i})});u.displayName=s.aV.displayName;let x=i.forwardRef((e,t)=>{let{className:a,children:i,...o}=e;return(0,n.jsxs)(d,{children:[(0,n.jsx)(u,{}),(0,n.jsxs)(s.VY,{ref:t,className:(0,l.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-screen-xl translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg","max-h-[90vh] overflow-y-auto",a),...o,children:[i,(0,n.jsxs)(s.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,n.jsx)(r.Z,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});x.displayName=s.VY.displayName;let DialogHeader=e=>{let{className:t,...a}=e;return(0,n.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...a})};DialogHeader.displayName="DialogHeader";let DialogFooter=e=>{let{className:t,...a}=e;return(0,n.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a})};DialogFooter.displayName="DialogFooter";let f=i.forwardRef((e,t)=>{let{className:a,...i}=e;return(0,n.jsx)(s.Dx,{ref:t,className:(0,l.cn)("text-lg font-semibold leading-none tracking-tight",a),...i})});f.displayName=s.Dx.displayName;let p=i.forwardRef((e,t)=>{let{className:a,...i}=e;return(0,n.jsx)(s.dk,{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",a),...i})});p.displayName=s.dk.displayName},61970:function(e,t,a){a.d(t,{ry:function(){return i},K6:function(){return n},P9:function(){return l},Gj:function(){return SupportedFonts},ag:function(){return s},X6:function(){return r},M1:function(){return getDefaultFontFamily}});let n="#4f46e5",i={initialFontSize:25,initialFontSizeV2:18,topBottomTextPadding:2,headerFooter:{initialFontSize:20,fontColor:"#000000",fontFamily:"Arial",getLineHeight:e=>1.4*e}},SupportedFonts=e=>[{label:"Arial",fontFamily:"Arial"},{label:"Comic Sans MS",fontFamily:"Comic Sans MS"},{label:"Courier New",fontFamily:"Courier New"},{label:"Impact (classic meme font)",fontFamily:getDefaultFontFamily(e)},{label:"Inter",fontFamily:"Inter,system-ui,sans-serif,Arial,Helvetica"},{label:"Roboto",fontFamily:"Roboto"},{label:"Times New Roman",fontFamily:"Times New Roman"}],getDefaultFontFamily=e=>e?"Impact, Franklin Gothic Bold, Charcoal, Helvetica Inserat, Bitstream Vera Sans Bold, Arial Black, sans serif":"Anton",s=[{mimeType:"image/gif",extension:".gif"},{mimeType:"image/jpeg",extension:".jpg"},{mimeType:"image/jpeg",extension:".jpeg"},{mimeType:"image/png",extension:".png"},{mimeType:"image/svg+xml",extension:".svg"},{mimeType:"image/webp",extension:".webp"}],r={font:"bold 10px Arial Black, sans serif",fillStyle:"white",strokeStyle:"black",shadow:"drop-shadow(0 0.5px 2px rgba(0,0,0,1))",textAlign:"center",lineWidth:2,miterLimit:2},l={facebook:{width:1080,height:1920},instagram:{width:1080,height:1080},linkedin:{width:1920,height:1080},x:{width:1600,height:900}}},43450:function(e,t,a){a.d(t,{H:function(){return n}});let n=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/}}]);