1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7521],{6499:(e,t,r)=>{"use strict";r.d(t,{k5:()=>d});var a=r(12115),o={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},n=a.createContext&&a.createContext(o),s=["attr","size","title"];function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e}).apply(this,arguments)}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach(function(t){var a,o,n;a=e,o=t,n=r[t],(o=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=typeof a)return a;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(o))in a?Object.defineProperty(a,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):a[o]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function d(e){return t=>a.createElement(u,i({attr:c({},e.attr)},t),function e(t){return t&&t.map((t,r)=>a.createElement(t.tag,c({key:r},t.attr),e(t.child)))}(e.child))}function u(e){var t=t=>{var r,{attr:o,size:n,title:l}=e,d=function(e,t){if(null==e)return{};var r,a,o=function(e,t){if(null==e)return{};var r={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;r[a]=e[a]}return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)r=n[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}(e,s),u=n||t.size||"1em";return t.className&&(r=t.className),e.className&&(r=(r?r+" ":"")+e.className),a.createElement("svg",i({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,o,d,{className:r,style:c(c({color:e.color||t.color},t.style),e.style),height:u,width:u,xmlns:"http://www.w3.org/2000/svg"}),l&&a.createElement("title",null,l),e.children)};return void 0!==n?a.createElement(n.Consumer,null,e=>t(e)):t(o)}},15239:(e,t,r)=>{"use strict";r.d(t,{default:()=>o.a});var a=r(54652),o=r.n(a);r.o(a,"getImageProps")&&r.d(t,{getImageProps:function(){return a.getImageProps}})},33789:(e,t,r)=>{"use strict";r.d(t,{p:()=>s});var a=r(95155),o=r(12115),n=r(25016);let s=o.forwardRef((e,t)=>{let{className:r,type:o,...s}=e;return(0,a.jsx)("input",{type:o,className:(0,n.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),ref:t,...s})});s.displayName="Input"},35626:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(71847).A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},46177:(e,t,r)=>{"use strict";r.d(t,{T:()=>n,k:()=>o});var a=r(60093);async function o(e,t){let r=await fetch("".concat("https://themind-ai-steercode--steercode-api.modal.run/api/v1","/user"),{method:"POST",body:JSON.stringify({...e}),headers:{"Content-Type":"application/json","X-App-Source":"web",Authorization:"Bearer ".concat(t)}});if(!r.ok){let e=await r.text();throw console.error("Failed to create user: ".concat(r.status),e),Error("Failed to create user: ".concat(r.status))}return r.json()}function n(){let{apiFetch:e}=(0,a.g)();return{checkHandleAvailable:async t=>{let r=await e("/user/handle/available?handle=".concat(encodeURIComponent(t)),{method:"GET"});if(!r.ok){if(409===r.status)return{available:!1};
1if(400===r.status)try{let e=await r.json();return{available:!1,error:e.detail||"Invalid handle format"}}catch(e){return{available:!1,error:await r.text()||"Something went wrong"}}let e=await r.text();throw console.error("Failed to check handle availability: ".concat(r.status),e),Error("Failed to check handle availability: ".concat(r.status))}return r.json()},updateHandle:async(t,r)=>{let a=await e("/user/".concat(t,"/handle"),{method:"PATCH",body:JSON.stringify({handle:r})});if(!a.ok){let e=await a.text();throw console.error("Failed to update handle: ".concat(a.status),e),Error("Failed to update handle: ".concat(a.status))}return a.json()},updateUser:async(t,r)=>{let a=await e("/user/".concat(t),{method:"PATCH",body:JSON.stringify(r)});if(!a.ok){let e=await a.text();throw console.error("Failed to update user: ".concat(a.status),e),Error("Failed to update user: ".concat(a.status))}return a.json()},claimInvite:async(t,r)=>{try{let a=await e("/invite/claim",{method:"POST",body:JSON.stringify({invite_code:t,user_id:r})});if(!a.ok){let e=await a.text();try{let t=JSON.parse(e);return{success:!1,error:t.detail||"Claim failed"}}catch(t){return console.error("Failed to claim invite: ".concat(a.status),e,t),{success:!1,error:"Claim failed (".concat(a.status,")")}}}return{success:!0}}catch(e){if(console.error("Failed to claim invite:",e),e instanceof Error)return{success:!1,error:"Failed to claim invite: ".concat(e.message)};return{success:!1,error:"An unknown error occurred during invite claim."}}}}}},54652:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return l},getImageProps:function(){return i}});let a=r(90862),o=r(75040),n=r(81356),s=a._(r(71124));function i(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:s.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,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let l=n.Image},66978:(e,t,r)=>{"use strict";r.d(t,{LoginForm:()=>N});var a=r(95155),o=r(52619),n=r.n(o),s=r(15239),i=r(12115),l=r(25016),c=r(97003),d=r(33789),u=r(83610),m=r(65380),h=r(48315),f=r(92735),g=r(69713),p=r(46177),x=r(35626),v=r(78049),b=r(20063),w=r(76784),y=r(8132),j=r(16189);function N(e){let{className:t,...r}=e,[o,N]=(0,i.useState)(!1),[S,k]=(0,i.useState)(!1),[O,P]=(0,i.useState)(""),[C,_]=(0,i.useState)(!1),I=(0,b.useRouter)(),E=(0,y.w3)();async function z(e){var t,r,a;let o=null==(t=(0,h.B8)(e))?void 0:t.isNewUser,n=e.user.photoURL||(null==(r=e.user.providerData[0])?void 0:r.photoURL)||(null==(a=e.user.providerData[1])?void 0:a.photoURL)||void 0;if(o){try{let t=await e.user.getIdToken();await (0,p.k)({user_id:e.user.uid,email:e.user.email||void 0,name:e.user.displayName||void 0,avatar_url:n||void 0},t);try{window.localStorage.setItem("onboarding_pending","true")}catch(e){}E(e.user.uid)}catch(e){console.log("Error creating user",e)}try{j.zS.didSignUp()}catch(e){}}}async function L(e){let t=e.user;(0,w.sendGTMEvent)({event:"login",user_id:t.uid});try{var r,a;j.zS.didLogin(),j.zS.identifyUser(t.uid,null!=(r=t.email)?r:void 0,null!=(a=t.displayName)?a:void 0)}catch(e){}let o=new URLSearchParams(window.location.search).get("redirect");o?I.push(o):I.push("/discover"),I.refresh()}async function A(){let e=(0,f.Cy)();if(!(0,h.Pj)(e,window.location.href))return;let t=window.localStorage.getItem("emailForSignIn");if(t||(t=window.prompt("Please provide your email for confirmation")),t){try{let r=await (0,h.hK)(e,t,window.location.href);await z(r),await (0,g.hV)(r),await L(r)}catch(e){console.log(e)}window.localStorage.setItem("lastUsedSignInMethod","emailLink"),window.localStorage.removeItem("emailForSignIn")}}(0,i.useEffect)(()=>{A()},[]),(0,i.useEffect)(()=>{_(/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(O))},[O]);let F=async()=>{N(!0);try{j.zS.clickedLogin("email_login_link")}catch(e){}try{window.localStorage.setItem("emailForSignIn",O),await (0,h.MN)((0,f.Cy)(),O,{url:"".concat("https://www.steercode.com","/login"),handleCodeInApp:!0}),u.oR.success("Check your email for a login link")}catch(e){console.log(e),u.oR.error(e.message)}finally{N(!1)}},R=e=>{let t;
1return"google"===e?((t=new h.HF).setCustomParameters({display:"popup"}),t.addScope("profile"),t.addScope("email")):"apple"===e?t=new h.LD("apple.com"):((t=new h.Dt).addScope("profile"),t.addScope("email")),t},D=async e=>{let t;k(!0);let r=(0,f.Cy)(),a=R(e);try{j.zS.clickedLogin(e)}catch(e){}try{t=await (0,h.df)(r,a),await z(t),await (0,g.hV)(t),window.localStorage.setItem("lastUsedSignInMethod",e)}catch(a){if("auth/account-exists-with-different-credential"===a.code){let o=a.customData.email,n=await (0,h.Wm)(r,o),s="google.com"===n[0]?"google":"apple.com"===n[0]?"apple":"github";if(s!==e)try{let o=R(s);t=await (0,h.df)(r,o);let n=("google"===e?h.HF:"apple"===e?h.LD:h.Dt).credentialFromError(a);t.user&&n&&await (0,h.OS)(t.user,n),await (0,g.hV)(t)}catch(e){console.error(e),u.oR.error(e.message)}else u.oR.error("Please sign in with ".concat(n[0]))}else console.error(a),u.oR.error(a.message);k(!1);return}await L(t)},[T,U]=(0,i.useState)(null);return((0,i.useEffect)(()=>{U(window.localStorage.getItem("lastUsedSignInMethod"))},[]),S)?(0,a.jsx)("div",{className:"flex flex-col gap-6",children:(0,a.jsx)(v.A,{})}):(0,a.jsxs)("div",{className:(0,l.cn)("flex flex-col gap-6",t),...r,children:[(0,a.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,a.jsxs)("div",{className:"flex flex-col items-center gap-4 mb-4",children:[(0,a.jsxs)(n(),{href:"/",className:"flex flex-col items-center gap-4 font-medium",children:[(0,a.jsx)("div",{className:"flex h-24 w-24 items-center justify-center rounded-md",children:(0,a.jsx)(s.default,{src:"/steercode-glow.png",alt:"SteerCode",width:128,height:128})}),(0,a.jsx)("span",{className:"sr-only",children:"SteerCode"})]}),(0,a.jsx)("h1",{className:"text-2xl md:text-3xl font-medium text-center leading-[1.1] tracking-tighter bg-gradient-to-b from-white via-white to-white/40 text-transparent bg-clip-text px-1",children:"Welcome to SteerCode"})]}),(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-1",children:[(0,a.jsxs)("div",{className:"relative",children:["google"===T&&(0,a.jsxs)("p",{className:"sm:absolute sm:left-[calc(100%+8px)] sm:top-1/2 sm:-translate-y-1/2 mb-1 sm:mb-0 flex items-center whitespace-nowrap text-sm text-muted-foreground",children:[(0,a.jsx)("span",{className:"sm:hidden",children:"Last used:"}),(0,a.jsxs)("span",{className:"hidden sm:flex items-center",children:[(0,a.jsx)(x.A,{className:"w-4 h-4 mr-1"})," Last used"]})]}),(0,a.jsxs)(c.$,{variant:"outline",className:"w-full",disabled:o,onClick:()=>D("google"),children:[(0,a.jsx)(m.DSS,{}),"Continue with Google"]})]}),(0,a.jsxs)("div",{className:"relative",children:["apple"===T&&(0,a.jsxs)("p",{className:"sm:absolute sm:left-[calc(100%+8px)] sm:top-1/2 sm:-translate-y-1/2 mb-1 sm:mb-0 flex items-center whitespace-nowrap text-sm text-muted-foreground",children:[(0,a.jsx)("span",{className:"sm:hidden",children:"Last used:"}),(0,a.jsxs)("span",{className:"hidden sm:flex items-center",children:[(0,a.jsx)(x.A,{className:"w-4 h-4 mr-1"})," Last used"]})]}),(0,a.jsxs)(c.$,{variant:"outline",className:"w-full",disabled:o,onClick:()=>D("apple"),children:[(0,a.jsx)(m.eMv,{}),"Continue with Apple"]})]}),(0,a.jsxs)("div",{className:"relative",children:["github"===T&&(0,a.jsxs)("p",{className:"sm:absolute sm:left-[calc(100%+8px)] sm:top-1/2 sm:-translate-y-1/2 mb-1 sm:mb-0 flex items-center whitespace-nowrap text-sm text-muted-foreground",children:[(0,a.jsx)("span",{className:"sm:hidden",children:"Last used:"}),(0,a.jsxs)("span",{className:"hidden sm:flex items-center",children:[(0,a.jsx)(x.A,{className:"w-4 h-4 mr-1"})," Last used"]})]}),(0,a.jsxs)(c.$,{variant:"outline",className:"w-full",disabled:o,onClick:()=>D("github"),children:[(0,a.jsx)(m.hL4,{}),"Continue with Github"]})]})]}),(0,a.jsx)("div",{className:"relative text-center text-sm after:absolute after:inset-0 after:top-1/2 after:z-0 after:flex after:items-center after:border-t after:border-border",children:(0,a.jsx)("span",{className:"relative z-10 bg-background px-2 text-muted-foreground",children:"Or"})}),(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"relative",children:["emailLink"===T&&(0,a.jsxs)("p",{className:"sm:absolute sm:left-[calc(100%+8px)] sm:top-1/2 sm:-translate-y-1/2 mb-1 sm:mb-0 flex items-center whitespace-nowrap text-sm text-muted-foreground",children:[(0,a.jsx)("span",{className:"sm:hidden",children:"Last used:"}),(0,a.jsxs)("span",{className:"hidden sm:flex items-center",children:[(0,a.jsx)(x.A,{className:"w-4 h-4 mr-1"})," Last used"]})]}),(0,a.jsx)(d.p,{id:"email",type:"email",placeholder:"[email protected]",required:!0,value:O,onChange:e=>P(e.target.value),disabled:o,className:"rounded-full"})]}),(0,a.jsx)(c.$,{variant:"outline",className:"w-full",disabled:o||!C,onClick:F,children:"Continue with email"})]})]}),(0,a.jsxs)("div",{className:"text-balance text-center text-xs text-muted-foreground [&_a]:underline [&_a]:underline-offset-4 hover:[&_a]:text-primary ",children:["By clicking continue, you agree to our"," ",(0,a.jsx)(n(),{href:"/terms",children:"Terms of Service"})," and"," ",(0,a.jsx)(n(),{href:"/privacy",children:"Privacy Policy"}),"."]})]})}},68034:(e,t,r)=>{Promise.resolve().then(r.bind(r,66978))},69713:(e,t,r)=>{"use strict";async function a(e){await fetch("/api/login",{method:"GET",headers:{Authorization:"Bearer ".concat(e)}})}async function o(e){let t=await e.user.getIdToken();await a(t)}async function n(){await fetch("/api/logout",{method:"GET",headers:{}})}r.d(t,{hV:()=>o,ri:()=>n})},78049:(e,t,r)=>{"use strict";r.d(t,{A:()=>
1o});var a=r(95155);function o(e){let{className:t}=e;return(0,a.jsx)("div",{className:"flex items-center justify-center ".concat(t),children:(0,a.jsx)("div",{className:"w-4 h-4 animate-spin rounded-full",style:{background:"linear-gradient(to bottom, hsla(0, 0%, 59%, 1), hsla(0, 0%, 19%, 1))",WebkitMask:"radial-gradient(transparent 50%, #000 0%)",mask:"radial-gradient(transparent 50%, #000 0%)"}})})}r(12115)},97003:(e,t,r)=>{"use strict";r.d(t,{$:()=>c,r:()=>l});var a=r(95155),o=r(12115),n=r(47241),s=r(84895),i=r(25016);let l=(0,s.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium 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",accent:"bg-sc-blue text-primary-foreground shadow hover:bg-sc-blue/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",outline2:"border border-input shadow-sm hover:bg-accent/20 hover:text-accent-foreground",secondary:"bg-primary/5 text-secondary-foreground shadow-sm hover:bg-primary/10 disabled:bg-primary/5 disabled:text-secondary-foreground/50",ghost:"hover:bg-accent hover:text-accent-foreground text-muted-foreground",ghostRound:"hover:bg-accent hover:text-accent-foreground text-muted-foreground rounded-full",link:"text-primary underline-offset-4 hover:underline",link2:"text-primary hover:text-primary/80 gap-1",link3:"text-muted-foreground hover:text-primary/80 gap-1",linkPrimaryUnderlined:"text-sc-blue underline-offset-8 underline",login:"bg-gradient-to-b from-primary to-primary/60 text-primary-foreground hover:from-primary/90 hover:to-primary/50",landing:"bg-primary text-primary-foreground hover:bg-primary/90 shadow-all-lg-white",landingOrange:"bg-[#DC6B2B] text-white hover:bg-[#DC6B2B]/90 shadow-all-lg-orange border-none",landingYellow:"bg-yellow-400 text-white hover:bg-yellow-400/90 shadow-all-lg-orange border-none",landingRed:"bg-red-500 text-white hover:bg-red-500/90 shadow-all-lg-orange border-none",chatPrimary:"bg-primary text-primary-foreground hover:bg-primary/90 [&_svg]:size-5 font-semibold",chatPrimaryYellow:"bg-sc-yellow3 text-primary-foreground hover:bg-sc-yellow3/90 [&_svg]:size-5 font-semibold",chatSecondary:"text-muted-foreground bg-chat-inputButtonSecondary border border-card-5 hover:bg-accent hover:text-accent-foreground font-semibold",chatTertiary:"bg-card text-primary hover:bg-accent [&_svg]:size-5 font-semibold",like:"hover:scale-95 transition-all duration-200 disabled:scale-100 disabled:opacity-100",orange:"bg-sc-yellow3 text-white hover:bg-sc-yellow3/90"},size:{default:"h-9 px-4 py-2 !rounded-full",thin:"h-8 px-3 py-1 rounded-full",sm:"h-7 rounded-full px-3 text-xs",smRound:"h-8 rounded-full px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9 shrink-0",iconSm:"h-7 w-7 shrink-0",iconXs:"h-6 w-6 shrink-0 [&_svg]:size-[14px]",chat:"h-8 w-8 rounded-full",chatWide:"text-xs px-3 w-fit h-8 rounded-full",chatIcon:"h-7 w-7 shrink-0 [&_svg]:size-4 rounded-full",xs:"h-6 px-2 text-xs rounded-sm",login:"h-8 px-6 text-sm rounded-sc",landing:"w-full md:w-fit py-3 px-4 md:px-20 text-lg !rounded-full",pricing:"h-9 px-4 py-2 rounded-full"}},defaultVariants:{variant:"default",size:"default"}}),c=o.forwardRef((e,t)=>{let{className:r,variant:o,size:s,asChild:c=!1,...d}=e,u=c?n.DX:"button";return(0,a.jsx)(u,{className:(0,i.cn)(l({variant:o,size:s,className:r})),ref:t,...d})});c.displayName="Button"}},e=>{e.O(0,[2992,1523,6711,828,609,3771,1356,4445,1029,6641,9381,3610,6784,8132,8441,8229,1255,7358],()=>e(e.s=68034)),_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.