PageSourceSearch

https://wildly.ai/_next/static/chunks/5072-3ce0b88ae1f3c580.js

js wildly.ai collected 2026-10-05 15:08:40 UTC 11,437 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5072],{4744:function(e,t,r){r.d(t,{A:function(){return u},O:function(){return c}});var n=r(7573),a=r(7653),s=r(4193),i=r(6711),o=r(246),l=r(1414);function c(e){var t;let{placement:r}=e,{user:l}=(0,s.a)(),[c,u]=(0,a.useState)(null!==(t=null==l?void 0:l.email)&&void 0!==t?t:""),[d,m]=(0,a.useState)("idle"),h=async e=>{if(e.preventDefault(),c.trim()){m("saving");try{await (0,i.S)("/email-signup",{method:"POST",skipAuth:!0,body:JSON.stringify({email:c.trim(),intent:"non_digest",source:"pro_waitlist_".concat(r)})}),(0,o.L9)("pro_waitlist_signup",{placement:r}),m("done")}catch(e){m("error")}}};return(0,n.jsx)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/5 p-5 text-left",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"mt-0.5 flex-shrink-0 text-amber-400","aria-hidden":"true",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),(0,n.jsx)("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("p",{className:"font-semibold text-text-primary",children:"Checkout is briefly unavailable"}),(0,n.jsx)("p",{className:"mt-1 text-sm text-text-secondary",children:"Our fare source is not returning results right now, and we won't take payment while it's down. Your alerts stay saved; leave your email and we'll tell you when Pro opens again."}),"done"===d?(0,n.jsx)("p",{className:"mt-4 text-sm font-medium text-teal",children:"You're on the list. We'll email you the day Pro reopens."}):(0,n.jsxs)("form",{onSubmit:h,className:"mt-4 flex flex-col gap-2 sm:flex-row",children:[(0,n.jsx)("label",{htmlFor:"notify-email-".concat(r),className:"sr-only",children:"Email address"}),(0,n.jsx)("input",{id:"notify-email-".concat(r),type:"email",required:!0,value:c,onChange:e=>u(e.target.value),placeholder:"[email protected]",className:"min-w-0 flex-1 rounded-lg border border-border bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-dim focus:border-teal focus:outline-none"}),(0,n.jsx)("button",{type:"submit",disabled:"saving"===d,className:"rounded-lg bg-teal px-4 py-2 text-sm font-semibold text-bg-deep transition-colors hover:bg-[#1dd9a8] disabled:opacity-50",children:"saving"===d?"Saving…":"Notify me"})]}),"error"===d&&(0,n.jsx)("p",{className:"mt-2 text-sm text-coral",role:"alert",children:"Couldn't save that. Please try again in a moment."})]})]})})}function u(e){let{isOpen:t,onClose:r,trigger:u="general"}=e,{user:d}=(0,s.a)(),[m,h]=(0,a.useState)(!1),[f,x]=(0,a.useState)(null),[p,g]=(0,a.useState)(!1),y=l.Xf.pro.price,v="upsell_modal_".concat(u);(0,a.useEffect)(()=>{t&&(0,o.Fs)("upgrade_prompt_shown",{slot:v,offer_id:"wildly_pro"})},[t,v]);let b=async()=>{if((0,o.Fs)("upgrade_prompt_clicked",{slot:v,offer_id:"wildly_pro"}),!d){window.location.href="/auth/signin?mode=signup&redirect=/pricing";return}h(!0),x(null),g(!1);try{var e;let t=await (0,i.S)("/billing/checkout",{method:"POST",body:JSON.stringify({interval:"year"})}),r=(null==t?void 0:null===(e=t.data)||void 0===e?void 0:e.url)||(null==t?void 0:t.url);if(r){(0,o.Z_)(v),window.location.href=r;return}x("We couldn't start checkout. Please try again."),h(!1)}catch(e){(0,l.HE)(e)?g(!0):x(e instanceof Error?e.message:"Failed to start checkout. Please try again."),h(!1)}};if(!t)return null;let w="free_limit"===u?l.pZ:"limit_reached"===u?"You're using all ".concat(l.gh," trial routes"):"resume_paused"===u?"Resume this route with Pro":"price_history"===u?"Unlock 90-day price history":"Upgrade to Pro",j="free_limit"===u?"The free plan watches ".concat(l.Xf.free.alerts," route. Pro watches as many as you like and texts you, not just emails, when a fare meets your target."):"limit_reached"===u?"Your trial covers ".concat(l.gh," routes. When it ends your account moves to Free (").concat(l.Xf.free.alerts," route). Pro is unlimited routes for $").concat(l.Xf.pro.price," a year."):"resume_paused"===u?"On Free we check your oldest route. This one is saved with its target price, and Pro checks it again on the next daily run.":"price_history"===u?"See how prices have moved over 90 days, not just 7.":"Track unlimited routes, get text alerts, and see deeper fare history.";return(0,n.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center px-4",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-bg-deep/80 backdrop-blur-sm",onClick:r}),(0,n.jsxs)("div",{className:"relative bg-bg-card border border-border rounded-2xl p-8 max-w-md w-full shadow-2xl",children:[(0,n.jsx)("button",{onClick:r,className:"absolute top-4 right-4 text-text-dim hover:text-text-secondary transition-colors","aria-label":"Close",children:(0,n.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})}),(0,n.jsx)("div",{className:"w-12 h-12 bg-teal/10 rounded-full flex items-center justify-center mb-5",children:(0,n.jsx)("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"text-teal",children:(0,n.jsx)("path",{d:"M13 2L3 
114h9l-1 8 10-12h-9l1-8z"})})}),(0,n.jsx)("h2",{className:"text-2xl font-bold text-text-primary mb-2",children:w}),(0,n.jsx)("p",{className:"text-text-secondary mb-7",children:j}),p?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(c,{placement:"upsell_modal"}),(0,n.jsx)("button",{onClick:r,className:"mt-4 w-full py-2.5 text-text-dim hover:text-text-secondary transition-colors text-sm",children:"Close"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("ul",{className:"space-y-3 mb-7",children:l.Xf.pro.features.map(e=>(0,n.jsxs)("li",{className:"flex items-center gap-3",children:[(0,n.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",className:"text-teal flex-shrink-0",children:(0,n.jsx)("polyline",{points:"20 6 9 17 4 12"})}),(0,n.jsx)("span",{className:"text-text-secondary",children:e})]},e))}),(0,n.jsxs)("div",{className:"mb-6 p-3 bg-bg-surface rounded-xl flex flex-col items-center",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsxs)("span",{className:"font-mono text-3xl font-bold text-text-primary",children:["$",y]}),(0,n.jsx)("span",{className:"text-text-dim text-sm",children:"/year \xb7 cancel anytime"})]}),(0,n.jsxs)("span",{className:"mt-1 text-xs text-text-dim",children:["Unlimited routes, fair use ",l.Hn.toLocaleString()," at once"]})]}),f&&(0,n.jsx)("p",{className:"mb-4 rounded-lg border border-coral/30 bg-coral/10 px-3 py-2 text-sm text-coral",role:"alert",children:f}),(0,n.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,n.jsx)("button",{onClick:b,disabled:m,className:"w-full py-3.5 bg-teal text-bg-deep rounded-lg font-semibold text-sm hover:bg-[#1dd9a8] transition-all hover:-translate-y-0.5 teal-hover-glow disabled:opacity-50 disabled:cursor-not-allowed",children:m?"Loading...":"resume_paused"===u?"Resume with Pro for $".concat(y,"/year"):"Upgrade to Pro for $".concat(y,"/year")}),(0,n.jsx)("button",{onClick:r,className:"w-full py-2.5 text-text-dim hover:text-text-secondary transition-colors text-sm",children:"Maybe later"})]})]})]})]})}},6711:function(e,t,r){r.d(t,{M:function(){return s},S:function(){return i}});var n=r(7068),a=r(1099);class s extends Error{constructor(e,t,r){super(e),this.status=t,this.code=r,this.name="ApiError"}}async function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{skipAuth:r,...i}=t,o=r?null:await (0,n.lI)(),l=e.startsWith("/api")?e.slice(4):e,c="".concat("https://2vj4v6dfb7.execute-api.us-east-2.amazonaws.com").concat(l),u=await fetch(c,{...i,headers:{"Content-Type":"application/json",...o?{Authorization:"Bearer ".concat(o)}:{},...i.headers}});if(401===u.status&&o){(0,n.w7)();let e="".concat(window.location.pathname).concat(window.location.search);window.location.assign((0,a.Kk)(e,{mode:"signin",message:"Your session expired. Sign in to pick up where you left off."}))}if(!u.ok){var d,m;let e=await u.json().catch(()=>({error:"Request failed"})),t="string"==typeof e.error?e.error:null===(d=e.error)||void 0===d?void 0:d.message,r="string"==typeof e.error?void 0:null===(m=e.error)||void 0===m?void 0:m.code;throw new s(t||"HTTP ".concat(u.status),u.status,r)}if(204!==u.status)return u.json()}},8006:function(e,t,r){r.d(t,{$S:function(){return o},BH:function(){return d},Lx:function(){return c},RU:function(){return l},TA:function(){return s},as:function(){return i},xC:function(){return u}});var n=r(1414),a=r(6711);function s(e){let t=null==e?void 0:e.tier;return"free"===t||"trial"===t||"pro"===t?t:(null==e?void 0:e.plan)==="pro"?"pro":"free"}function i(e){var t;let r=null==e?void 0:e.alertsMax;return"number"==typeof r&&Number.isFinite(r)?r:"pro"===(t=s(e))?n.gl:"trial"===t?n.gh:n.Xf.free.alerts}function o(e){return"pro"===e?"PRO":"trial"===e?"TRIAL":"FREE"}function l(e){return"pro"===s(e)&&(null==e?void 0:e.plan)!=="pro"&&!!(null==e?void 0:e.proUntil)}function c(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric",timeZone:"UTC"})}function u(e){if(e instanceof a.M&&("QUOTA_EXCEEDED"===e.code||403===e.status))return!0;let t=e instanceof Error?e.message:String(null!=e?e:"");return/quota|limit|free plan watches|upgrade to pro/i.test(t)}function d(e){return"trial"===e?"limit_reached":"free_limit"}}
1,1099:function(e,t,r){r.d(t,{Kk:function(){return o},Mo:function(){return c},fy:function(){return u},jV:function(){return i}});let n="/dashboard",a="https://return-path.invalid",s=["/auth/","/signup"];function i(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;if("string"!=typeof e)return r;let i=e.trim();if(!i||i.length>2048||!i.startsWith("/")||i.startsWith("//")||i.startsWith("/\\")||/[\\\u0000-\u001f\u007f]/.test(i))return r;try{t=new URL(i,a)}catch(e){return r}if(t.origin!==a)return r;let o="".concat(t.pathname).concat(t.search).concat(t.hash);return"/auth"===t.pathname||s.some(e=>t.pathname.startsWith(e))?r:o}function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new URLSearchParams;t.mode&&r.set("mode",t.mode);let a=i(e,"");a&&a!==n&&r.set("redirect",a),t.message&&r.set("message",t.message);let s=r.toString();return s?"/auth/signin?".concat(s):"/auth/signin"}let l=/^[A-Z]{3}$/;function c(e){let t=i(e,"");if(!t)return null;let r=new URL(t,a);if("/alerts/new"!==r.pathname)return null;let n=e=>{var t;let n=null===(t=r.searchParams.get(e))||void 0===t?void 0:t.trim().toUpperCase();return n&&l.test(n)?n:void 0};return{kind:"alert",origin:n("origin"),destination:n("destination")}}function u(e){return"signup"===e.modeParam?"signup":"signin"===e.modeParam||e.hasSignedInBefore?"signin":c(e.returnPath)?"signup":"signin"}},1695:function(e,t,r){var n=r(1219);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})}}]);

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.