1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9992],{13545:(e,r,t)=>{t.d(r,{A:()=>n});let n=(0,t(78340).A)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},18460:(e,r,t)=>{t.d(r,{F:()=>s});var n=t(29722);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,i=n.$,s=(e,r)=>t=>{var n;if((null==r?void 0:r.variants)==null)return i(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:s,defaultVariants:l}=r,o=Object.keys(s).map(e=>{let r=null==t?void 0:t[e],n=null==l?void 0:l[e];if(null===r)return null;let i=a(r)||a(n);return s[e][i]}),d=t&&Object.entries(t).reduce((e,r)=>{let[t,n]=r;return void 0===n||(e[t]=n),e},{});return i(e,o,null==r||null==(n=r.compoundVariants)?void 0:n.reduce((e,r)=>{let{class:t,className:n,...a}=r;return Object.entries(a).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...l,...d}[r]):({...l,...d})[r]===t})?[...e,t,n]:e},[]),null==t?void 0:t.class,null==t?void 0:t.className)}},29486:(e,r,t)=>{t.d(r,{b:()=>l});var n=t(12115),a=t(55897),i=t(95155),s=n.forwardRef((e,r)=>(0,i.jsx)(a.sG.label,{...e,ref:r,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));s.displayName="Label";var l=s},33807:(e,r,t)=>{t.d(r,{J:()=>s});var n=t(95155);t(12115);var a=t(29486),i=t(40980);function s({className:e,...r}){return(0,n.jsx)(a.b,{"data-slot":"label",className:(0,i.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...r})}},40980:(e,r,t)=>{t.d(r,{cn:()=>i});var n=t(29722),a=t(622);function i(...e){return(0,a.QP)((0,n.$)(e))}},42442:(e,r,t)=>{t.d(r,{DX:()=>s,xV:()=>o});var n=t(12115),a=t(47527),i=t(95155),s=n.forwardRef((e,r)=>{let{children:t,...a}=e,s=n.Children.toArray(t),o=s.find(d);if(o){let e=o.props.children,t=s.map(r=>r!==o?r:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return(0,i.jsx)(l,{...a,ref:r,children:n.isValidElement(e)?n.cloneElement(e,void 0,t):null})}return(0,i.jsx)(l,{...a,ref:r,children:t})});s.displayName="Slot";var l=n.forwardRef((e,r)=>{let{children:t,...i}=e;if(n.isValidElement(t)){var s;let e,l,o=(s=t,(l=(e=Object.getOwnPropertyDescriptor(s.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.ref:(l=(e=Object.getOwnPropertyDescriptor(s,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?s.props.ref:s.props.ref||s.ref);return n.cloneElement(t,{...function(e,r){let t={...r};for(let n in r){let a=e[n],i=r[n];/^on[A-Z]/.test(n)?a&&i?t[n]=(...e)=>{i(...e),a(...e)}:a&&(t[n]=a):"style"===n?t[n]={...a,...i}:"className"===n&&(t[n]=[a,i].filter(Boolean).join(" "))}return{...e,...t}}(i,t.props),ref:r?(0,a.t)(r,o):o})}return n.Children.count(t)>1?n.Children.only(null):null});l.displayName="SlotClone";var o=({children:e})=>(0,i.jsx)(i.Fragment,{children:e});function d(e){return n.isValidElement(e)&&e.type===o}},47527:(e,r,t)=>{t.d(r,{s:()=>s,t:()=>i});var n=t(12115);function a(e,r){if("function"==typeof e)return e(r);null!=e&&(e.current=r)}function i(...e){return r=>{let t=!1,n=e.map(e=>{let n=a(e,r);return t||"function"!=typeof n||(t=!0),n});if(t)return()=>{for(let r=0;r<n.length;r++){let t=n[r];"function"==typeof t?t():a(e[r],null)}}}}function s(...e){return n.useCallback(i(...e),e)}},55897:(e,r,t)=>{t.d(r,{hO:()=>o,sG:()=>l});var n=t(12115),a=t(47650),i=t(42442),s=t(95155),l=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce((e,r)=>{let t=n.forwardRef((e,t)=>{let{asChild:n,...a}=e,l=n?i.DX:r;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,s.jsx)(l,{...a,ref:t})});return t.displayName=`Primitive.${r}`,{...e,[r]:t}},{});function o(e,r){e&&a.flushSync(()=>e.dispatchEvent(r))}},60529:(e,r,t)=>{t.d(r,{p:()=>i});var n=t(95155);t(12115);var a=t(40980);function i({className:e,type:r,...t}){return(0,n.jsx)("input",{type:r,"data-slot":"input",className:(0,a.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...t})}},69992:(e,r,t)=>{t.d(r,{T:()=>f});var n=t(95155),a=t(12115),i=t(98500),s=t.n(i),l=t(73321),o=t(13545),d=t(86831),c=t(89239),u=t(60529),m=t(33807);function p(e){return(0,n.jsxs)("svg",{viewBox:"0 0 48 48","aria-hidden":"true",focusable:"false",...e,children:[(0,n.jsx)("path",{fill:"#FFC107",d:"M43.6 20.5H42V20H24v8h11.3C33.7 32.7 29.3 36 24 36c-6.6 0-12-5.4-12-12s5.4-12 12-12c3.1 0 5.9 1.2 8 3.1l5.7-5.7C34.2 6.2 29.4 4 24 4 12.9 4 4 12.9 4 24s8.9 20 20 20 20-8.9 20-20c0-1.3-.1-2.7-.4-3.5Z"}),(0,n.jsx)("path",{fill:"#FF3D00",d:"M6.3 14.7l6.6 4.8C14.7 15.1 19 12 24 12c3.1 0 5.9 1.2 8 3.1l5.7-5.7C34.2 6.2 29.4 4 24 4 16.3 4 9.6 8.3 6.3 14.7Z"}),(0,n.jsx)("path",{fill:"#4CAF50",d:"M24 44c5.3 0 10.1-2.1 13.7-5.4l-6.3-5.3C29.5 34.8 26.9 36 24 36c-5.3 0-9.7-3.3-11.3-8l-6.6 5.1C9.4 39.6 16.3 44 24 44Z"}),(0,n.jsx)("path",{fill:"#1976D2",d:"M43.6 20.5H42V20H24v8h11.3c-1.1 2.8-3.4 5.2-6.3 6.6l.1.1 6.3 5.3C39.3 36.4 44 30.8 44 24c0-1.3-.1-2.7-.4-3.5Z"})]})}function f({mode:e,socialProviders:r=["google","github"],authMethod:t="password"}){let i=(0,l.useRouter)(),f=(0,l.useSearchParams)(),g=f.get("redirect")||"/dashboard",h=f.get("add")||f.get("handle"),v=h?`${g}${g.includes("?")?"&":"?"}add=${encodeURIComponent(h.replace(/^@/,""))}`:g,x=r.filter(e=>"google"===e||"github"!==e),[b,y]=(0,a.useState)("email"),[j,w]=(0,a.useState)(""),[N,C]=(0,a.useState)(""),[k,S]=(0,a.useState)(""),[$,R]=(0,a.useState)(""),[P,F]=(0,a.useState)(""),[D,E]=(0,a.useState)(!1);async function A(e){e.preventDefault(),F(""),E(!0);let{error:r}=await d.y.signIn.email({email:N,password:k,callbackURL:v},{onError:e=>{403===e.error.status&&F("Please verify your email address")}});if(r){F(r.message??"Sign in failed"),E(!1);return}await L(),i.push(v),i.refresh(),E(!1)}async function O(e){e.preventDefault(),F(""),E(!0);let{error:r}=await d.y.signUp.email({name:j||"User",email:N,password:k,callbackURL:v});if(r){F(r.message??"Sign up failed"),E(!1);return}i.push(v),i.refresh(),E(!1)}async function M(e){e.preventDefault(),F(""),E(!0);let{error:r}=await d.y.emailOtp.sendVerificationOtp({email:N,type:"sign-in"});if(r){F(r.message??"Failed to send code"),E(!1);return}y("otp"),E(!1)}async function V(e){e.preventDefault(),F(""),E(!0);let{error:r}=await d.y.signIn.emailOtp({email:N,otp:$});if(r){F(r.message??"Invalid code"),E(!1);return}await L(),i.push(v),i.refresh(),E(!1)}async function z(e){F(""),E(!0);let{error:r}=await d.y.signIn.social({provider:e,callbackURL:v});if(r){F(r.message??"Social sign-in failed"),E(!1);return}}async function L(){try{await fetch("/api/login-record",{method:"POST"})}
1catch(e){console.error("Unable to record login",e)}}return(0,n.jsxs)("div",{className:"rounded-lg border border-border bg-card p-8 shadow-sm",children:[P&&(0,n.jsxs)("div",{className:"mb-6 flex items-center gap-2 rounded-md bg-destructive/10 p-3 text-sm text-destructive",children:[(0,n.jsx)(o.A,{className:"h-4 w-4"}),(0,n.jsx)("span",{children:P})]}),x.length>0?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"space-y-3",children:[x.includes("google")?(0,n.jsxs)(c.$,{type:"button",variant:"outline",className:"w-full justify-center gap-2",disabled:D,onClick:()=>z("google"),children:[(0,n.jsx)(p,{className:"h-5 w-5"}),"Continue with Google"]}):null,x.includes("github")?(0,n.jsxs)(c.$,{type:"button",variant:"outline",className:"w-full justify-center gap-2",disabled:D,onClick:()=>z("github"),children:[(0,n.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",focusable:"false",className:"h-5 w-5 fill-current",children:(0,n.jsx)("path",{d:"M12 .5C5.73.5.75 5.6.75 12.1c0 5.2 3.26 9.6 7.78 11.16.57.11.78-.25.78-.55 0-.27-.01-.98-.02-1.92-3.17.7-3.84-1.56-3.84-1.56-.52-1.36-1.27-1.72-1.27-1.72-1.04-.73.08-.72.08-.72 1.15.08 1.75 1.22 1.75 1.22 1.02 1.79 2.67 1.27 3.32.97.1-.76.4-1.27.72-1.56-2.53-.29-5.2-1.3-5.2-5.78 0-1.28.44-2.33 1.16-3.15-.12-.29-.5-1.47.11-3.06 0 0 .95-.31 3.12 1.2.9-.26 1.87-.38 2.83-.39.96.01 1.93.13 2.83.39 2.17-1.51 3.12-1.2 3.12-1.2.61 1.59.23 2.77.11 3.06.72.82 1.16 1.87 1.16 3.15 0 4.49-2.67 5.49-5.22 5.78.41.36.77 1.08.77 2.18 0 1.57-.02 2.83-.02 3.22 0 .31.2.67.79.55 4.52-1.56 7.78-5.96 7.78-11.16C23.25 5.6 18.27.5 12 .5Z"})}),"Continue with GitHub"]}):null]}),(0,n.jsxs)("div",{className:"my-6 flex items-center gap-3",children:[(0,n.jsx)("div",{className:"h-px flex-1 bg-border"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"OR"}),(0,n.jsx)("div",{className:"h-px flex-1 bg-border"})]})]}):null,"password"===t?(0,n.jsxs)("form",{onSubmit:"login"===e?A:O,className:"space-y-6",children:["register"===e?(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(m.J,{htmlFor:`${e}-name`,children:"Name"}),(0,n.jsx)(u.p,{id:`${e}-name`,type:"text",placeholder:"John Doe",value:j,onChange:e=>w(e.target.value),required:!0,autoComplete:"name"})]}):null,(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(m.J,{htmlFor:`${e}-email`,children:"Email"}),(0,n.jsx)(u.p,{id:`${e}-email`,type:"email",placeholder:"[email protected]",value:N,onChange:e=>C(e.target.value),required:!0,autoComplete:"email"})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(m.J,{htmlFor:`${e}-password`,children:"Password"}),(0,n.jsx)(u.p,{id:`${e}-password`,type:"password",placeholder:"â¢â¢â¢â¢â¢â¢â¢â¢",value:k,onChange:e=>S(e.target.value),required:!0,autoComplete:"login"===e?"current-password":"new-password",minLength:8}),"register"===e?(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Must be at least 8 characters"}):null]}),(0,n.jsx)(c.$,{type:"submit",className:"w-full",disabled:D,children:D?"login"===e?"Signing in...":"Creating account...":"login"===e?"Sign in":"Create account"})]}):"email"===b?(0,n.jsxs)("form",{onSubmit:M,className:"space-y-6",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(m.J,{htmlFor:`${e}-email`,children:"Email"}),(0,n.jsx)(u.p,{id:`${e}-email`,type:"email",placeholder:"[email protected]",value:N,onChange:e=>C(e.target.value),required:!0,autoComplete:"email"})]}),(0,n.jsx)(c.$,{type:"submit",className:"w-full",disabled:D,children:D?"Sending code...":"Send login code"})]}):(0,n.jsxs)("form",{onSubmit:V,className:"space-y-6",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(m.J,{htmlFor:`${e}-otp`,children:"Code"}),(0,n.jsx)(u.p,{id:`${e}-otp`,inputMode:"numeric",autoComplete:"one-time-code",placeholder:"123456",value:$,onChange:e=>R(e.target.value),required:!0}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Sent to ",N]})]}),(0,n.jsxs)("div",{className:"flex gap-3",children:[(0,n.jsx)(c.$,{type:"button",variant:"outline",className:"flex-1",disabled:D,onClick:()=>y("email"),children:"Change email"}),(0,n.jsx)(c.$,{type:"submit",className:"flex-1",disabled:D,children:D?"Signing in...":"Sign in"})]})]}),(0,n.jsx)("div",{className:"mt-6 text-center text-sm",children:"login"===e?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"text-muted-foreground",children:["Don't have an account?"," "]}),(0,n.jsx)(s(),{href:"/register",className:"font-medium hover:underline",children:"Sign up"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"text-muted-foreground",children:["Already have an account?"," "]}),(0,n.jsx)(s(),{href:"/login",className:"font-medium hover:underline",children:"Sign in"})]})})]})}},73321:(e,r,t)=>{var n=t(74645);t.o(n,"permanentRedirect")&&t.d(r,{permanentRedirect:function(){return n.permanentRedirect}}),t.o(n,"redirect")&&t.d(r,{redirect:function(){return n.redirect}}),t.o(n,"useParams")&&t.d(r,{useParams:function(){return n.useParams}}),t.o(n,"usePathname")&&t.d(r,{usePathname:function(){return n.usePathname}}),t.o(n,"useRouter")&&t.d(r,{useRouter:function(){return n.useRouter}}),t.o(n,"useSearchParams")&&t.d(r,{useSearchParams:function(){return n.useSearchParams}})},78340:(e,r,t)=>{t.d(r,{A:()=>l});var n=t(12115);let a=(...e)=>e.filter((e,r,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===r).join(" ").trim();var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let s=(0,n.forwardRef)(({color:e="currentColor",size:r=24,strokeWidth:t=2,absoluteStrokeWidth:s,className:l="",children:o,iconNode:d,...c},u)=>(0,n.createElement)("svg",{ref:u,...i,width:r,height:r,stroke:e,strokeWidth:s?24*Number(t)/Number(r):t,className:a("lucide",l),...c},[...d.map(([e,r])=>(0,n.createElement)(e,r)),...Array.isArray(o)?o:[o]])),l=(e,r)=>{let t=(0,n.forwardRef)(({className:t,...i},l)=>(0,n.createElement)(s,{ref:l,iconNode:r,className:a(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,t),...i}));return t.displayName=`${e}`,t}},86831:(e,r,t)=>{t.d(r,{y:()=>s});var n=t(22839),a=t(48603),i=t(95280);t(88468);let s=(0,n.M)({plugins:[(0,a.N)(),(0,i.t)()]})},89239:(e,r,t)=>{t.d(r,{$:()=>o,r:()=>l});var n=t(95155);t(12115);var a=t(42442),i=t(18460),s=t(40980);let l=(0,i.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o({className:e,variant:r,size:t,asChild:i=!1,...o}){let d=i?a.DX:"button";return(0,n.jsx)(d,{"data-slot":"button",className:(0,s.cn)(l({variant:r,size:t,className:e})),...o})}}}]);
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.