1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4281],{60603:function(e,t,n){Promise.resolve().then(n.bind(n,12611))},12611:function(e,t,n){"use strict";n.d(t,{SignInPageClient:function(){return d}});var r=n(81901),s=n(23220),i=n(41809),a=n(38217),o=n(76642),l=n(32853),c=n(34556),u=n(3257);function d(e){let{message:t,permissionsUpdated:d}=e,[h,f]=(0,a.useState)(!1),g=(0,i.NL)(),{signIn:m}=(0,u.$)(),A="session_expired"===t,x="token_expired"===t;return((0,a.useEffect)(()=>{(A||x||d)&&g.clear()},[A,x,d,g]),(0,a.useEffect)(()=>{A&&(async()=>{try{let{createClient:e}=await Promise.resolve().then(n.bind(n,99224)),t=e(),{data:{session:r}}=await t.auth.getSession();if(r)try{let e=await fetch("/api/current-account");if(e.ok){let t=await e.json();window.location.href="/accounts/".concat(t.account.login)}else window.location.href="/setup"}catch(e){window.location.href="/setup"}}catch(e){}})()},[A]),h)?(0,r.jsx)(c.IS,{message:"Signing inâ¦"}):(0,r.jsx)("div",{className:"bg-charcoal-900 min-h-screen",children:(0,r.jsxs)("div",{className:"flex min-h-screen flex-col items-center justify-center px-4 py-12 sm:px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"w-full max-w-sm",children:[(0,r.jsxs)("div",{className:"mb-8 text-center",children:[(0,r.jsx)(o.N,{className:"mx-auto w-40",priority:!0}),(0,r.jsx)("h1",{className:"text-glass-body mt-4 text-lg font-medium",children:"Operational intelligence for teams building on GitHub"}),(0,r.jsx)("p",{className:"text-body mx-auto mt-3 max-w-xs text-neutral-400",children:"Turn pull requests, workflows, and CI activity into clear signalsâso you can spot issues faster and keep engineering moving."})]}),(0,r.jsxs)("div",{className:"bg-background/5 rounded-xl border border-white/10 px-8 py-8 shadow-2xl shadow-black/30 backdrop-blur-md",children:[d&&(0,r.jsxs)("div",{className:"bg-success-900/50 border-success-500/30 mb-6 rounded-lg border p-4",children:[(0,r.jsx)("h3",{className:"text-success-200 text-body font-medium",children:"Permissions Updated"}),(0,r.jsx)("p",{className:"text-success-300 text-body mt-1",children:"Your GitHub App permissions have been updated. Please sign in again to use the new permissions."})]}),A&&(0,r.jsxs)("div",{className:"bg-danger-900/50 border-danger-500/30 mb-6 rounded-lg border p-4",children:[(0,r.jsx)("h3",{className:"text-danger-200 text-body font-medium",children:"Signed Out"}),(0,r.jsx)("p",{className:"text-danger-300 text-body mt-1",children:"You have been logged out due to inactivity. Please sign in again to continue."})]}),x&&(0,r.jsxs)("div",{className:"bg-warning-900/50 border-warning-500/30 mb-6 rounded-lg border p-4",children:[(0,r.jsx)("h3",{className:"text-warning-200 text-body font-medium",children:"Session Expired"}),(0,r.jsx)("p",{className:"text-warning-300 text-body mt-1",children:"Your session has expired. Please sign in again to continue."})]}),(0,r.jsxs)("button",{onClick:async()=>{f(!0);try{await m()}catch(e){f(!1)}},className:"group relative flex w-full items-center justify-center gap-3 rounded-lg bg-white px-4 py-3.5 font-bold text-neutral-900 shadow-lg shadow-white/10 transition-all duration-200 ease-out hover:scale-[1.02] hover:bg-neutral-100 hover:shadow-xl hover:shadow-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",children:[(0,r.jsx)(l.E,{className:"h-5 w-5 transition-transform group-hover:scale-110"}),(0,r.jsx)("span",{className:"leading-6",children:"Sign in with GitHub"})]}),(0,r.jsx)("p",{className:"text-micro mt-6 text-center text-neutral-400",children:"GitHub-native, workflow-aware, built for engineers"})]})]}),(0,r.jsx)("footer",{className:"absolute bottom-6 left-0 right-0 text-center",children:(0,r.jsxs)("div",{className:"text-micro flex items-center justify-center gap-6 text-neutral-500",children:[(0,r.jsx)("a",{href:"".concat(s.clientConfig.app.landingPageUrl,"/privacy-policy"),className:"transition-colors hover:text-neutral-300",children:"Privacy Policy"}),(0,r.jsx)("span",{className:"text-neutral-600",children:"|"}),(0,r.jsx)("a",{href:"".concat(s.clientConfig.app.landingPageUrl,"/terms-of-service"),className:"transition-colors hover:text-neutral-300",children:"Terms of Service"})]})})]})})}},18341:function(e,t,n){"use strict";n.d(t,{V:function(){return o}});var r=n(81901),s=n(53715),i=n(26920),a=n(87662);function o(e){let{className:t,priority:n}=e;return(0,r.jsx)(s.default,{src:i.default,alt:"Bondsmith",className:(0,a.cn)("h-auto w-auto",t),priority:n})}},76642:function(e,t,n){"use strict";n.d(t,{N:function(){return l}});var r=n(81901),s=n(53715),i=n(37632),a=n(5808),o=n(87662);function l(e){let{variant:t="dark",className:n,priority:l}=e,c="light"===t?i.default:a.default;return(0,r.jsx)(s.default,{src:c,alt:"Bondsmith",className:(0,o.cn)("h-auto w-auto",n),priority:l})}},32853:function(e,t,n){"use strict";n.d(t,{E:function(){return i}});var r=n(81901),s=n(87662);let i=e=>{let{className:t}=e;return(0,r.jsx)("svg",{width:"20",height:"20",fill:"currentColor",viewBox:"0 0 20 20",className:(0,s.cn)("fill-current",t),children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 0C4.477 0 0 4.484 0 10.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158
1-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0110 4.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.203 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.942.359.31.678.921.678 1.856 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0020 10.017C20 4.484 15.522 0 10 0z",clipRule:"evenodd"})})}},78875:function(e,t,n){"use strict";n.d(t,{d:function(){return l},z:function(){return c}});var r=n(81901),s=n(32378),i=n(81102),a=n(38217),o=n(87662);let l=(0,i.j)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-body font-bold transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),c=a.forwardRef((e,t)=>{let{className:n,variant:i,size:a,asChild:c=!1,...u}=e,d=c?s.g7:"button";return(0,r.jsx)(d,{className:(0,o.cn)(l({variant:i,size:a,className:n})),ref:t,...u})});c.displayName="Button"},34556:function(e,t,n){"use strict";n.d(t,{F3:function(){return u},IS:function(){return d},TK:function(){return c}});var r=n(81901),s=n(18341),i=n(76642),a=n(78875),o=n(88650);let l={sm:"h-6 w-6",md:"h-12 w-12",lg:"h-16 w-16"};function c(e){let{className:t,size:n="md"}=e;return(0,r.jsxs)("svg",{className:(0,o.cn)("text-muted-foreground animate-spin",l[n],t),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[(0,r.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,r.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}function u(e){let{message:t="Setting things upâ¦"}=e;return(0,r.jsxs)("div",{className:"bg-background flex min-h-screen",children:[(0,r.jsx)("div",{className:"hidden w-14 shrink-0 border-r border-white/[0.03] lg:block"}),(0,r.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,r.jsxs)("div",{className:"flex flex-col items-center gap-5",children:[(0,r.jsx)(s.V,{className:"h-14 w-14 animate-pulse",priority:!0}),(0,r.jsx)("p",{className:"text-muted-foreground text-body",children:t})]})})]})}function d(e){let{title:t,message:n,error:s,onRetry:o}=e;return(0,r.jsx)("div",{className:"bg-charcoal-900 min-h-screen",children:(0,r.jsx)("div",{className:"flex min-h-screen items-center justify-center",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)(i.N,{className:"mx-auto mb-8 w-40 animate-pulse",priority:!0}),t&&(0,r.jsx)("h1",{className:"text-display text-glass-body mb-4",children:t}),n&&(0,r.jsx)("p",{className:"text-glass-body",children:n}),s&&(0,r.jsxs)("div",{className:"mt-4",children:[(0,r.jsx)("p",{className:"text-danger-400 text-body",children:s}),o&&(0,r.jsx)(a.z,{variant:"default",size:"sm",onClick:o,className:"mt-2",children:"Try Again"})]})]})})})}},3257:function(e,t,n){"use strict";n.d(t,{$:function(){return d},F:function(){return u}});var r=n(81901),s=n(41809),i=n(90589),a=n(38217),o=n(99224),l=n(20740);let c=(0,a.createContext)({user:null,session:null,isLoading:!0,signIn:async()=>{},signOut:async()=>{}});function u(e){let{children:t}=e,[n,u]=(0,a.useState)(null),[d,h]=(0,a.useState)(null),[f,g]=(0,a.useState)(!0),m=(0,i.useRouter)(),A=(0,s.NL)(),x=(0,a.useRef)(null),b=(0,a.useCallback)(()=>(x.current||(x.current=(0,o.createClient)()),x.current),[]);(0,a.useEffect)(()=>{let e=b();e.auth.getSession().then(e=>{var t;let{data:{session:n},error:r}=e;r&&console.warn("[SupabaseProvider] getSession error:",r.message),h(n),u(null!==(t=null==n?void 0:n.user)&&void 0!==t?t:null),g(!1)}).catch(e=>{console.warn("[SupabaseProvider] getSession threw:",e instanceof Error?e.message:String(e)),g(!1)});let{data:{subscription:t}}=e.auth.onAuthStateChange((e,t)=>{var n;"SIGNED_OUT"===e&&console.warn("[SupabaseProvider] auth state: SIGNED_OUT"),"TOKEN_REFRESHED"!==e||t||console.warn("[SupabaseProvider] auth state: TOKEN_REFRESHED with null session"),h(t),u(null!==(n=null==t?void 0:t.user)&&void 0!==n?n:null),g(!1),("SIGNED_IN"===e||"SIGNED_OUT"===e)&&m.refresh()});return()=>t.unsubscribe()},[m,b]);let p=(0,a.useCallback)(async e=>{let t=new URL("/api/auth/callback",window.location.origin);if(null==e?void 0:e.callbackParams)for(let[n,r]of Object.entries(e.callbackParams))t.searchParams.set(n,r);await b().auth.signInWithOAuth({provider:"github",options:{scopes:"user read:org repo",redirectTo:t.toString()}})},[b]),v=(0,a.useCallback)(async()=>{(0,l.v9)(),A.clear();try{await fetch("/api/auth/signout",{method:"POST"})}catch(e){await b().auth.signOut()}m.push("/")},[b,m,A]),w=(0,a.useMemo)(()=>({user:n,session:d,isLoading:f,signIn:p,signOut:v}),[n,d,f,p,v]);return(0,r.jsx)(c.Provider,{value:w,children:t})}let d=()=>{let e=(0,a.useContext)(c);if(!e)throw Error("useSupabase must be used within SupabaseProvider");return e}},99224:function(e,t,n){"use strict";n.d(t,{createClient:function(){return a}});var r=n(23220),s=n(76836);let i=null;function a(){if(i)return i;let{url:e,anonKey:t}=r.clientConfig.supabase;if(!e||!t)throw Error("Supabase configuration is missing");return i=(0,s.createBrowserClient)(e,t)}},87662:function(e,t,n){"use strict";n.d(t,{cn:function(){return i},p:function(){return a}});var r=n(75142),s=n(77497);function i(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.m6)((0,r.W)(t))}let a=1001},88650:function(e,t,n){"use strict";n.d(t,{cn:function(){return i}});var r=n(75142),s=n(77497);let i=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.m6)((0,r.Z)(t))}},53715:function(e,t,n){"use strict";n.d(t,{default:function(){return s.a}});var r=n(15913),s=n.n(r)},15913:function(e,t,n){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return l},getImageProps:function(){return o}});let r=n(35098),s=n(49734),i=n(11778),a=r._(n(67681));function o(e){let{props:t}=(0,s.getImgProps)(e,{defaultLoader:a.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,n]of Object.entries(t))void 0===n&&delete t[e];return{props:t}}let l=i.Image},56843:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return r}});let r=n(35098)._(n(38217)).default.createContext(null)},5808:function(e,t,n){"use strict";n.r(t),t.default={src:"/_next/static/media/bondsmith-logo-w-text-white.1769ce68.png",height:514,width:3036,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAABCAMAAADU3h9xAAAADFBMVEXy9fX/YQ7y7ur5qH6LlV6oAAAABHRSTlNJeD1bmTyIBwAAAAlwSFlzAAAsSgAALEoBd3p0TQAAABFJREFUeJxjYGRmYGJgYGAAAAAwAAcApNmzAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:1}},37632:function(e,t,n){"use strict";n.r(t),t.default={src:"/_next/static/media/bondsmith-logo-w-text.a05cf1bc.png",height:514,width:3035,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAABCAMAAADU3h9xAAAADFBMVEUICAqRQBMQDAz/bht/MsktAAAABHRSTlNJWz14AVABzAAAAAlwSFlzAAAsSgAALEoBd3p0TQAAABFJREFUeJxjYGZkYGJgYGAAAAAyAAePRyYJAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:1}},26920:function(e,t,n){"use strict";n.r(t),t.default={src:"/_next/static/media/bondsmith-logo.ccac9cdf.png",height:1005,width:1004,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAHlBMVEX/aRn/bBr/axpMaXH/ahj/fwD/ahf/aRj+aRr/aRmHR+CZAAAACnRSTlPI/dMANwInXKRj0s9uJgAAAAlwSFlzAAAsSgAALEoBd3p0TQAAADFJREFUeJw9yLkRwEAQwzBK3Hvcf8OO7AwD3E0yMvcBztCqixDWh39UW+YA7cZJ0u0LGKQApl3I1KoAAAAASUVORK5CYII=",blurWidth:8,blurHeight:8}}},function(e){e.O(0,[1473,8791,6836,383,1778,740,5517,6098,1744],function(){return e(e.s=60603)}),_N_E=e.O()}]); 2//# sourceMappingURL=page-dda54eb3510ab776.js.map
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.