1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="84c47866-5049-4d1b-8792-6d042ae53671",e._sentryDebugIdIdentifier="sentry-dbid-84c47866-5049-4d1b-8792-6d042ae53671")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5577],{90003:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/auth/callback",function(){return n(75041)}])},75041:function(e,t,n){"use strict";n.r(t);var r=n(85893),o=n(67294),s=n(11163),i=n(41664),l=n.n(i),a=n(52558),d=n(66308),u=n(38181),c=n(57613);t.default=()=>{let e=(0,s.useRouter)(),t=(0,a.a)(),[n,i]=(0,o.useState)(null),g=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{let{code:n,state:r,error:o}=e.query;if(o){i("Google sign-in was cancelled");return}if(!n||g.current)return;g.current=!0;let s=sessionStorage.getItem("google_oauth_state");if(!r||r!==s){i("Authentication failed â please try again");return}sessionStorage.removeItem("google_oauth_state");let l="".concat(window.location.origin,"/auth/callback"),a=sessionStorage.getItem("google_oauth_redirect")||"/";sessionStorage.removeItem("google_oauth_redirect"),t.signInGoogleCode(n,l).then(()=>{window.location.href=a}).catch(()=>{g.current=!1,i("Google sign-in failed")})},[e.query,t]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.p,{title:"Signing in..."}),(0,r.jsx)(u.K,{children:(0,r.jsxs)("div",{className:"flex flex-col items-center",children:[(0,r.jsx)(c.n,{}),n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"mt-6 rounded-lg bg-red-50 border border-red-200 px-4 py-3 text-sm text-red-700",children:n}),(0,r.jsx)(l(),{href:"/login",className:"mt-4 text-sm text-neutral-500 hover:text-neutral-700 underline-offset-2 hover:underline no-underline",children:"Back to login"})]}):(0,r.jsx)("p",{className:"text-sm text-neutral-500 mt-6",children:"Signing in..."})]})})]})}}},function(e){e.O(0,[2888,9774,179],function(){return e(e.s=90003)}),_N_E=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.