PageSourceSearch

https://getcloudbase.com/_next/static/immutable/chunks/1v5hf614-u_dd.js

js getcloudbase.com collected 2026-10-02 01:30:27 UTC 18,490 bytes, 4 lines download raw bytes

1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="afac109d-d6b6-8755-1a92-7b5d285d754d")}catch(e){}}();
2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,386417,e=>{"use strict";var t=e.i(999311),r=e.i(127185),a=e.i(369649),n=e.i(259359),i=e.i(423237),s=e.i(407863),l=e.i(665134);let o="https://getcloudbase.com",c="/feed";function d(e){let t;if(!e)return c;let r=e.replace(/\\/g,"/");if(!r.startsWith("/")||r.startsWith("//"))return c;try{t=new URL(r,o)}catch{return c}return t.origin!==o?c:`${t.pathname}${t.search}${t.hash}`}function u(){let e=(0,n.useRouter)(),o=(0,n.useSearchParams)(),c="companion"===o.get("from"),u=o.get("inviteCode")??"",{refresh:g}=(0,l.useSession)(),[m,b]=(0,a.useState)(!1),[y,w]=(0,a.useState)(!1),[v,j]=(0,a.useState)(""),[C,_]=(0,a.useState)(!1);(0,a.useEffect)(()=>{c||fetch("/api/auth/session").then(e=>e.json()).then(t=>{t.user&&(t.user.onboardingComplete?e.replace(d(o.get("next"))):e.replace("/onboarding"))}).catch(()=>{})},[c,e,o]),(0,a.useEffect)(()=>{let e=o.get("error");e&&j({csrf:"Sign-in expired or was tampered with. Please try again.",missing_credential:"Sign-in service did not return a credential. Please try again.",callback_parse:"Could not read sign-in response. Please try again.",exchange_failed:"Sign-in failed. Please try again.",exchange_network:"Couldn't reach the server. Check your connection and try again.",exchange_json:"Server returned an unexpected response. Please try again.",no_token:"Sign-in failed. Please try again.",provider_conflict_apple:"You already have an account. Please continue with Apple to sign in.",provider_conflict_google:"You already have an account. Please continue with Google to sign in.",provider_conflict_other:"You already have an account with a different sign-in method. Please use that to sign in."}[e]??"Sign in failed. Please try again.")},[o]),(0,a.useEffect)(()=>{let e=setInterval(()=>{let r=window.AppleID;r?.auth&&(r.auth.init({clientId:t.default.env.NEXT_PUBLIC_APPLE_CLIENT_ID??"com.cloudbase.web",scope:"name email",redirectURI:`${t.default.env.NEXT_PUBLIC_SITE_URL??"https://getcloudbase.com"}/api/auth/apple/callback`,usePopup:!1}),clearInterval(e))},200);return()=>clearInterval(e)},[]);let S=(0,a.useRef)(null),N=(0,a.useCallback)(()=>{if(!window.google||!S.current)return;let e=`${t.default.env.NEXT_PUBLIC_SITE_URL??"https://getcloudbase.com"}/api/auth/google/callback`,r=o.get("next"),a={};r&&(a.next=d(r)),c&&(a.from="companion"),u&&(a.inviteCode=u);let n=Object.keys(a).length?JSON.stringify(a):void 0;window.google.accounts.id.initialize({client_id:"724133736980-5gaie6ipvulro9g1r1ej0tin83h6n1ga.apps.googleusercontent.com",ux_mode:"redirect",login_uri:e,...n&&{state:n}}),window.google.accounts.id.renderButton(S.current,{type:"standard",size:"large",width:400,height:50})},[c,u,o]);async function k(){b(!0),j("");try{let e=new Uint8Array(32);crypto.getRandomValues(e);let t=btoa(String.fromCharCode(...e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),r={nonce:t},a=o.get("next");a&&(r.next=d(a)),c&&(r.from="companion"),u&&(r.inviteCode=u);let n=JSON.stringify(r);await window.AppleID?.auth?.signIn({nonce:t,state:n})}catch(t){let e=t instanceof Error?t.message:"Sign in failed";"Apple Sign-In cancelled"!==e&&j(e),b(!1)}}return C?(0,r.jsx)("div",{className:"min-h-screen bg-[#070D18] flex items-center justify-center p-6",children:(0,r.jsxs)("div",{className:"max-w-sm w-full bg-[#0A1424] border border-white/[0.08] p-12 flex flex-col items-center text-center",children:[(0,r.jsx)("div",{className:"w-16 h-16 rounded-full bg-green-500/15 text-green-400 text-3xl flex items-center justify-center mb-6",children:"✓"}),(0,r.jsx)("h1",{className:"text-xl font-bold text-white mb-2",children:"Signed in"}),(0,r.jsx)("p",{className:"text-white/50 text-sm leading-relaxed",children:"You can close this tab and return to Cloudbase."})]})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.default,{src:"https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js",strategy:"afterInteractive"}),(0,r.jsxs)("div",{className:"min-h-screen bg-[#070D18] text-white antialiased flex",children:[(0,r.jsxs)("div",{className:"hidden lg:flex lg:w-1/2 flex-col justify-between p-12 relative overflow-hidden border-r border-white/[0.06]",style:{background:"linear-gradient(160deg, #0A1424 0%, #0E1B31 55%, #12233F 100%)"},children:[(0,r.jsxs)("svg",{className:"absolute inset-0 w-full h-full opacity-[0.06] pointer-events-none",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMax slice","aria-hidden":"true",children:[[18,30,44,60,78].map(e=>(0,r.jsx)("circle",{cx:"70",cy:"100",r:e,fill:"none",stroke:"#01C6EB",strokeWidth:"0.15"},e)),(0,r.jsx)("path",{d:"M 20 4 C 32 20, 54 28, 60 44 C 66 60, 58 76, 70 100",fill:"none",stroke:"#01C6EB",strokeWidth:"0.35",strokeDasharray:"1.2 1.2"})]}),(0,r.jsx)("div",{className:"relative",children:(0,r.jsx)(s.CloudbaseLogo,{size:40,showWordmark:!0,wordmarkColor:"white"})}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("div",{className:"font-mono text-[10px] tracking-[0.3em] text-[#01C6EB] flex items-center gap-3 mb-6",children:[(0,r.jsx)("span",{className:"inline-block w-6 h-px bg-[#01C6EB]","aria-hidden":"true"}),"THE LOGBOOK THAT FILLS ITSELF IN"]}),(0,r.jsxs)("h1",{className:"text-4xl xl:text-5xl font-black tracking-[-0.03em] leading-[1.02] mb-5",children:["Every jump",(0,r.jsx)("br",{}),"logs itself."]}),(0,r.jsx)("p",{className:"text-white/55 leading-relaxed mb-10 max-w-md",children:"Start DZ mode and your phone records every skydive automatically. Freefall time, altitudes, speed and a GPS track y
2ou can replay in 3D."}),(0,r.jsx)("div",{className:"max-w-md",children:["DZ mode: phone in your pocket, every jump logs itself","Apple Watch and Garmin altimeters that sync over","3D replay of every GPS track","Your feed, your DZ and leaderboards","CSV, Paralog and USB altimeter import"].map(e=>(0,r.jsxs)("div",{className:"flex items-center gap-3 py-2.5 border-t border-white/[0.08] last:border-b",children:[(0,r.jsx)("span",{className:"w-1 h-1 bg-[#01C6EB] flex-shrink-0","aria-hidden":"true"}),(0,r.jsx)("span",{className:"text-white/70 text-sm",children:e})]},e))})]})]}),(0,r.jsx)("div",{className:"flex-1 flex flex-col justify-center items-center px-6 py-12",children:(0,r.jsxs)("div",{className:"w-full max-w-sm",children:[(0,r.jsx)("div",{className:"flex lg:hidden justify-center mb-8",children:(0,r.jsx)(s.CloudbaseLogo,{size:36,showWordmark:!0,wordmarkColor:"gradient"})}),(0,r.jsx)("h2",{className:"text-2xl font-black tracking-[-0.02em] text-white mb-2",children:"Welcome"}),(0,r.jsx)("p",{className:"text-white/55 text-sm mb-6 leading-relaxed",children:"Sign in or create an account with Apple or Google. No password needed - it’s free to get started."}),v&&(0,r.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 text-red-300 text-sm px-4 py-3 mb-4",children:v}),(0,r.jsxs)("button",{onClick:k,disabled:m||y,className:"w-full flex items-center justify-center gap-3 bg-white hover:bg-white/90 text-pro-navy-deep font-semibold text-sm px-5 py-3.5 transition-colors mb-3 disabled:opacity-60",children:[m?(0,r.jsx)(x,{className:"text-pro-navy-deep"}):(0,r.jsx)(h,{}),"Continue with Apple"]}),(0,r.jsxs)("div",{className:"relative w-full mb-6",children:[(0,r.jsxs)("div",{className:"w-full flex items-center justify-center gap-3 bg-white text-pro-navy-deep font-semibold text-sm px-5 py-3.5",children:[y?(0,r.jsx)(x,{className:"text-[#3B5BDB]"}):(0,r.jsx)(f,{}),"Continue with Google"]}),(0,r.jsx)("div",{ref:S,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",opacity:.01,zIndex:10,overflow:"hidden"}})]}),!1,(0,r.jsx)(p,{onSuccess:async()=>{await g(),e.push(d(o.get("next")))}}),(0,r.jsxs)("p",{className:"text-xs text-white/40 text-center leading-relaxed",children:["By continuing, you agree to our"," ",(0,r.jsx)("a",{href:"/terms",className:"text-[#01C6EB] hover:text-white transition-colors",children:"Terms of Service"})," ","and"," ",(0,r.jsx)("a",{href:"/privacy",className:"text-[#01C6EB] hover:text-white transition-colors",children:"Privacy Policy"}),"."]}),(0,r.jsxs)("div",{className:"mt-8 pt-6 border-t border-white/[0.08] flex flex-col items-center gap-3",children:[(0,r.jsx)("p",{className:"text-xs text-white/40",children:"Prefer the mobile app?"}),(0,r.jsxs)("div",{className:"flex items-center gap-3 flex-wrap justify-center",children:[(0,r.jsx)("a",{href:"https://play.google.com/store/apps/details?id=com.cloudbase.app",target:"_blank",rel:"noopener noreferrer","aria-label":"Get Cloudbase on Google Play",className:"inline-block transition-opacity hover:opacity-80",children:(0,r.jsx)("img",{src:"/store-badges/google-play-badge.png",alt:"Get it on Google Play",width:135,height:52,className:"h-[44px] w-auto"})}),(0,r.jsx)("a",{href:"https://apps.apple.com/app/cloudbase-app/id6761622566",target:"_blank",rel:"noopener noreferrer","aria-label":"Download Cloudbase on the App Store",className:"inline-block transition-opacity hover:opacity-80",children:(0,r.jsx)("img",{src:"/store-badges/app-store-badge.png",alt:"Download on the App Store",width:122,height:52,className:"h-[44px] w-auto"})})]})]})]})}),(0,r.jsx)(i.default,{src:"https://accounts.google.com/gsi/client",strategy:"afterInteractive",onLoad:N})]})]})}function p({onSuccess:e}){let[t,n]=(0,a.useState)(!1),[i,s]=(0,a.useState)(""),[l,o]=(0,a.useState)(""),[c,d]=(0,a.useState)(!1),[u,h]=(0,a.useState)("");async function f(){if(i.trim()&&l){d(!0),h("");try{let t=await fetch("/api/auth/reviewer-login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:i.trim(),password:l})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error??"Login failed")}e()}catch(e){h(e instanceof Error?e.message:"Login failed"),d(!1)}}}return t?(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),f()},className:"mb-6",children:[u&&(0,r.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 text-red-300 text-xs px-3 py-2 mb-3",children:u}),(0,r.jsx)("input",{type:"text",value:i,onChange:e=>s(e.target.value),placeholder:"Username",autoCapitalize:"none",autoCorrect:"off",autoComplete:"username",className:"w-full text-sm px-4 py-2.5 bg-[#0A1424] border border-white/15 text-white placeholder:text-white/30 mb-2 outline-none focus:border-[#01C6EB]"}
2),(0,r.jsx)("input",{type:"password",value:l,onChange:e=>o(e.target.value),placeholder:"Password",autoComplete:"current-password",className:"w-full text-sm px-4 py-2.5 bg-[#0A1424] border border-white/15 text-white placeholder:text-white/30 mb-3 outline-none focus:border-[#01C6EB]"}),(0,r.jsx)("button",{type:"submit",disabled:c||!i.trim()||!l,className:"w-full bg-white text-pro-navy-deep hover:bg-white/90 font-semibold text-sm px-5 py-2.5 transition-colors disabled:opacity-60",children:c?"Signing in…":"Sign in"}),(0,r.jsx)("button",{type:"button",onClick:()=>n(!1),className:"w-full text-xs text-white/40 hover:text-white/70 mt-2",children:"Cancel"})]}):(0,r.jsx)("div",{className:"text-center mb-6",children:(0,r.jsx)("button",{type:"button",onClick:()=>n(!0),className:"text-xs text-white/40 hover:text-white/70 underline underline-offset-2 transition-colors",children:"Log in with credentials"})})}function h(){return(0,r.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 814 1000",fill:"currentColor",children:(0,r.jsx)("path",{d:"M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76 0-103.7 40.8-165.9 40.8s-105-37.5-155.5-127.5c-43.5-81.3-75.5-214.3-75.5-343.1 0-211.4 138.1-323.1 274.1-323.1 36 0 98.8 10.6 143.4 64.9 44.3-56.7 105.1-90 170.3-90 32.8.3 66.3 6.9 93.1 17.7zM408 46.3c-23.9 27-49.2 33.2-62.8 37.9-.7 8.1-1.1 16.1-1.1 24.5 0 68.6 30.9 116.2 90.2 173.2 23.7 22.5 44.6 43.3 55.6 67.8H408v-303.4z"})})}function f(){return(0,r.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",children:[(0,r.jsx)("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z",fill:"#4285F4"}),(0,r.jsx)("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",fill:"#34A853"}),(0,r.jsx)("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",fill:"#FBBC05"}),(0,r.jsx)("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",fill:"#EA4335"})]})}function x({className:e}){return(0,r.jsxs)("svg",{className:`w-4 h-4 animate-spin ${e}`,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 12h4z"})]})}e.s(["default",0,function(){return(0,r.jsx)(a.Suspense,{children:(0,r.jsx)(u,{})})}],386417)},517321,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={cancelIdleCallback:function(){return s},requestIdleCallback:function(){return i}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},s="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},560367,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={ESCAPE_REGEX:function(){return s},htmlEscapeAttributeString:function(){return d},htmlEscapeJsonString:function(){return c}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},s=/[&><\u2028\u2029]/g,l={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;"},o=/[&"'<>]/g;function c(e){return e.replace(s,e=>i[e])}function d(e){return e.replace(o,e=>l[e])}},398545,(e,t,r)=>{"use strict";
2Object.defineProperty(r,"__esModule",{value:!0});var a={default:function(){return w},handleClientScriptLoad:function(){return m},initScriptLoader:function(){return b}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i=e.r(836437),s=e.r(56421),l=e.r(127185),o=i._(e.r(500449)),c=s._(e.r(369649)),d=e.r(200479),u=e.r(66142),p=e.r(517321),h=e.r(560367),f=new Map,x=new Set,g=e=>{let{src:t,id:r,onLoad:a=()=>{},onReady:n=null,dangerouslySetInnerHTML:i,children:s="",strategy:l="afterInteractive",onError:c,stylesheets:d}=e,p=r||t;if(p&&x.has(p))return;if(f.has(t)){x.add(p),f.get(t).then(a,c);return}let h=()=>{n&&n(),x.add(p)},g=document.createElement("script"),m=new Promise((e,t)=>{g.addEventListener("load",function(t){e(),a&&a.call(this,t),h()}),g.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});i?(g.innerHTML=i.__html||"",h()):s?(g.textContent="string"==typeof s?s:Array.isArray(s)?s.join(""):"",h()):t&&(g.src=t,f.set(t,m)),(0,u.setAttributesFromProps)(g,e),"worker"===l&&g.setAttribute("type","text/partytown"),g.setAttribute("data-nscript",l),d&&(e=>{if(o.default.preinit)return e.forEach(e=>{o.default.preinit(e,{as:"style"})});if("u">typeof window){let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(d),document.body.appendChild(g)};function m(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>g(e))}):g(e)}function b(e){e.forEach(m),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");x.add(t)})}function y(e){let{id:t,src:r="",onLoad:a=()=>{},onReady:n=null,strategy:i="afterInteractive",onError:s,stylesheets:u,...f}=e,{updateScripts:m,scripts:b,getIsSsr:y,appDir:w,nonce:v}=(0,c.useContext)(d.HeadManagerContext);v=f.nonce||v;let j=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||r;j.current||(n&&e&&x.has(e)&&n(),j.current=!0)},[n,t,r]);let C=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!C.current){if("afterInteractive"===i)g(e);else"lazyOnload"===i&&("complete"===document.readyState?(0,p.requestIdleCallback)(()=>g(e)):window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>g(e))}));C.current=!0}},[e,i]),("beforeInteractive"===i||"worker"===i)&&(m?(b[i]=(b[i]||[]).concat([{id:t,src:r,onLoad:a,onReady:n,onError:s,...f,nonce:v}]),m(b)):y&&y()?x.add(t||r):y&&!y()&&g({...e,nonce:v})),w){if(u&&u.forEach(e=>{o.default.preinit(e,{as:"style"})}),"beforeInteractive"===i)if(!r)return f.dangerouslySetInnerHTML&&(f.children=f.dangerouslySetInnerHTML.__html,delete f.dangerouslySetInnerHTML),(0,l.jsx)("script",{nonce:v,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,h.htmlEscapeJsonString)(JSON.stringify([0,{...f,id:t}]))})`}});else return o.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:v,crossOrigin:f.crossOrigin}:{as:"script",nonce:v,crossOrigin:f.crossOrigin}),(0,l.jsx)("script",{nonce:v,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${(0,h.htmlEscapeJsonString)(JSON.stringify([r,{...f,id:t}]))})`}});"afterInteractive"===i&&r&&o.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:v,crossOrigin:f.crossOrigin}:{as:"script",nonce:v,crossOrigin:f.crossOrigin})}return null}Object.defineProperty(y,"__nextScript",{value:!0});let w=y;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},423237,(e,t,r)=>{t.exports=e.r(398545)}]);
3
4//# debugId=afac109d-d6b6-8755-1a92-7b5d285d754d

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.