PageSourceSearch

https://rideshareguides.com/assets/AirportTraffic-Ds-dK5F6.js

js rideshareguides.com collected 2026-10-08 20:46:57 UTC 47,015 bytes, 11 lines download raw bytes

1import{aY as $e,r as n,U as Fe,j as e,aH as te,aL as ke,N as ee,R as Ge,ae as We,a3 as I,i as X,ag as se,S as He,y as qe,al as Y,l as Se,cO as Ke}from"./index-Bn97Kz8X.js";import{S as Ee}from"./SEO-BjAPr8No.js";import{B as ae}from"./BackToDriverHQ-BcTdxsIk.js";import{u as Ve}from"./use-subscription-ByUzPBOM.js";import{P as y}from"./plane-landing-C_rmPCmb.js";import{T as Xe}from"./timer-DhVB5vQK.js";import{P as Be}from"./plane-CKJUadHJ.js";import{C as J}from"./clock-Dfd8vDx6.js";import{S as Ye}from"./sliders-horizontal-dlsMSbjP.js";import{T as _e}from"./triangle-alert-DCst1_nP.js";import{S as R}from"./search-x-BYmrA_28.js";import{I as Je}from"./info-WZWzOYAm.js";import{L as Qe}from"./lock-BRypwRBS.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const _=$e("PlaneTakeoff",[["path",{d:"M2 22h20",key:"272qi7"}],["path",{d:"M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z",key:"fkigj9"}]]);/**
7 * @license lucide-react v0.462.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */const Ze=$e("Radar",[["path",{d:"M19.07 4.93A10 10 0 0 0 6.99 3.34",key:"z3du51"}],["path",{d:"M4 6h.01",key:"oypzma"}],["path",{d:"M2.29 9.62A10 10 0 1 0 21.31 8.35",key:"qzzz0"}],["path",{d:"M16.24 7.76A6 6 0 1 0 8.23 16.67",key:"1yjesh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M17.99 11.66A6 6 0 0 1 15.77 16.67",key:"1u2y91"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"m13.41 10.59 5.66-5.66",key:"mhq4k0"}]]),Q="__unknown_terminal__",Pe="__unknown_status__";function U(s){return(s==null?void 0:s.trim().toLowerCase())||""}function Z(s,i=a=>a){const a=new Map;return s.forEach(o=>{const d=o==null?void 0:o.trim();if(!d)return;const x=U(d);a.has(x)||a.set(x,i(d))}),Array.from(a.entries()).map(([o,d])=>({value:o,label:d})).sort((o,d)=>o.label.localeCompare(d.label,void 0,{sensitivity:"base"}))}function et(s){return s.toLowerCase().startsWith("terminal ")?s:`Terminal ${s}`}function Ae(s){const i=U(s.status);return i?s.delay!=null&&s.delay>0?"delayed":i:Pe}function tt(s){return s==="delayed"?"Delayed":s===Pe?"Unknown status":Ie(s,null).label}const Le=[{code:"ATL",city:"Atlanta",name:"Hartsfield-Jackson"},{code:"LAX",city:"Los Angeles",name:"International"},{code:"ORD",city:"Chicago",name:"O'Hare"},{code:"DFW",city:"Dallas",name:"Fort Worth"},{code:"DEN",city:"Denver",name:"International"},{code:"JFK",city:"New York",name:"JFK"},{code:"SFO",city:"San Francisco",name:"International"},{code:"SEA",city:"Seattle",name:"Tacoma"},{code:"MCO",city:"Orlando",name:"International"},{code:"LAS",city:"Las Vegas",name:"Harry Reid"},{code:"MIA",city:"Miami",name:"International"},{code:"CLT",city:"Charlotte",name:"Douglas"},{code:"EWR",city:"Newark",name:"Liberty"},{code:"PHX",city:"Phoenix",name:"Sky Harbor"},{code:"IAH",city:"Houston",name:"Intercontinental"},{code:"BOS",city:"Boston",name:"Logan"},{code:"MSP",city:"Minneapolis",name:"St. Paul"},{code:"DTW",city:"Detroit",name:"Metro"},{code:"PHL",city:"Philadelphia",name:"International"},{code:"LGA",city:"New York",name:"LaGuardia"},{code:"FLL",city:"Fort Lauderdale",name:"International"},{code:"DCA",city:"Washington",name:"Reagan"},{code:"SAN",city:"San Diego",name:"International"},{code:"TPA",city:"Tampa",name:"International"},{code:"MDW",city:"Chicago",name:"Midway"}];function st(){const s=encodeURIComponent(window.location.href);return`${"https://www.buildy.ai/api".replace(/\/api\/?$/,"").replace(/\/$/,"")}/auth/app-login?app_id=9xrrufffexrbbkhc2dshz&from_url=${s}`}function M(s){if(!s)return"—";try{const i=new Date(s);return isNaN(i.getTime())?"—":i.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}catch{return"—"}}function Ce(s){return s==null||s===0?null:s>0?`+${s}m`:`${s}m`}function Ie(s,i){const a=s.toLowerCase();return a==="cancelled"?{label:"Cancelled",color:"red"}:a==="diverted"?{label:"Diverted",color:"orange"}:a==="incident"?{label:"Incident",color:"red"}:i!=null&&i>15?{label:`Delayed ${i}m`,color:"amber"}:i!=null&&i>0?{label:"Delayed",color:"amber"}:a==="landed"?{label:"Landed",color:"green"}:a==="active"?{label:"En Route",color:"blue"}:a==="scheduled"?{label:"On Time",color:"green"}:{label:s.charAt(0).toUpperCase()+s.slice(1),color:"zinc"}}function Te({status:s,delay:i}){const a=Ie(s,i),o={green:"border-emerald-200 bg-emerald-50 text-emerald-800",amber:"border-amber-200 bg-amber-50 text-amber-900",red:"border-red-200 bg-red-50 text-red-800",orange:"border-orange-200 bg-orange-50 text-orange-800",blue:"border-sky-200 bg-sky-50 text-sky-800",zinc:"border-stone-200 bg-stone-100 text-stone-700"},d={green:"bg-emerald-500",amber:"bg-amber-500",red:"bg-red-500",orange:"bg-orange-500",blue:"bg-sky-500",zinc:"bg-stone-500"};return e.jsxs("span",{className:`inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[11px] font-bold tracking-wide ${o[a.color]||o.zinc}`,children:[e.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${d[a.color]||d.zinc} ${a.color==="green"||a.color==="blue"?"animate-pulse":""}`}),a.label]})}function at({isAuth:s,email:i,onSignIn:a,onSignOut:o}){return e.jsxs("div",{className:"min-h-screen bg-[#FFFEFB] text-stone-900",style:{fontFamily:"'Poppins', ui-sans-serif, system-ui, sans-serif"},children:[e.jsx(te,{isAuthenticated:s,email:i,onSignIn:a,onSignOut:o,variant:"default"}),e.jsxs("main",{className:"mx-auto max-w-[1320px] px-4 py-7 pb-36 sm:px-8 sm:py-10 sm:pb-24","aria-busy":"true",children:[e.jsx(ae,{variant:"light",wrapperClassName:"mb-7"}),e.jsxs("div",{className:"rounded-[24px] border border-stone-200 bg-white p-5 shadow-[0_12px_34px_rgba(36,31,27,0.06)] sm:p-8",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"h-9 w-9 animate-pulse rounded-full bg-[#FFF1E8]"}),e.jsxs("div",{children:[e.jsx("div",{className:"h-3 w-28 animate-pulse rounded-full bg-stone-200"}),e.jsx("div",{className:"mt-2 h-5 w-48 animate-pulse rounded-full bg-stone-100"})]})]}),e.jsxs("div",{className:"mt-8 space-y-4",children:[e.jsx("div",{className:"h-11 w-[280px] max-w-full animate-pulse rounded-[14px] bg-stone-100"}),e.jsx("div",{className:"h-16 w-full max-w-[650px] animate-pulse rounded-[14px] bg-stone-100"}),e.jsx("div",{className:"grid gap-3 pt-5 sm:grid-cols-2 lg:grid-cols-3",children:Array.from({length:9}).map((d,x)=>e.jsx("div",{className:"h-14 animate-pulse rounded-[14px] border border-stone-100 bg-[#FFFCF9]",style:{animationDelay:`${x*60}ms`}},x))})]})]})]}),e.jsx(se,{})]})}function De({isAuth:s,email:i,variant:a,onSignIn:o,onSignOut:d}){const x=a==="no-auth";return e.jsxs("div",{className:"min-h-screen bg-[#FFFEFB] text-stone-900 selection:bg-[#F45815] selection:text-white",style:{fontFamily:"'Poppins', ui-sans-serif, system-ui, sans-serif"},children:[e.jsx(Ee,{title:x?"Sign In to Access Pro Airport":"Pro Airport | Premium Access",description:x?"Real-time airport traffic is a premium feature. Sign in with your RSG account to continue."
11:"Live arrivals and departures for every major US airport are available with a premium subscription.",url:"https://rideshareguides.com/pro-airport"}),e.jsx(te,{isAuthenticated:s,email:i,onSignIn:o,onSignOut:d,variant:"default"}),e.jsxs("main",{className:"relative isolate overflow-hidden bg-[#FFFEFB]",children:[e.jsx("div",{className:"pointer-events-none absolute -left-32 top-14 h-72 w-72 rounded-full bg-[#FFF1E8] blur-3xl","aria-hidden":"true"}),e.jsx("div",{className:"pointer-events-none absolute -right-32 top-72 h-80 w-80 rounded-full bg-orange-50 blur-3xl","aria-hidden":"true"}),e.jsxs("div",{className:"relative mx-auto max-w-[920px] px-4 py-7 pb-36 sm:px-8 sm:py-10 sm:pb-24",children:[e.jsx(ae,{variant:"light",wrapperClassName:"mb-7"}),e.jsxs("div",{className:"mx-auto max-w-[760px]",children:[e.jsxs("section",{className:"overflow-hidden rounded-[28px] border border-stone-200 bg-white shadow-[0_18px_50px_rgba(36,31,27,0.08)]",children:[e.jsx("div",{className:"border-b border-stone-100 bg-[#FFF8F3] px-5 py-8 sm:px-10 sm:py-10",children:e.jsxs("div",{className:"flex flex-col items-center text-center",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute -inset-4 rounded-full bg-[#FFF1E8]","aria-hidden":"true"}),e.jsx("div",{className:"relative flex h-16 w-16 items-center justify-center rounded-[20px] border border-orange-200 bg-white text-[#F45815] shadow-sm",children:e.jsx(Qe,{className:"h-7 w-7"})}),e.jsx("span",{className:"absolute -right-2 -top-2 flex h-7 w-7 items-center justify-center rounded-full border border-amber-200 bg-amber-50 text-amber-700","aria-hidden":"true",children:e.jsx(ee,{className:"h-3.5 w-3.5"})})]}),e.jsxs("span",{className:"mt-6 inline-flex items-center gap-2 rounded-full border border-orange-200 bg-white px-3.5 py-1.5 text-[11px] font-black uppercase tracking-[0.16em] text-[#B9380B]",children:[e.jsx(ee,{className:"h-3.5 w-3.5"})," Premium access"]}),e.jsxs("h1",{className:"mt-5 text-center text-[clamp(2rem,6vw,3.5rem)] font-black leading-[0.95] tracking-[-0.05em] text-stone-950",children:[x?"Sign in to access":"Upgrade to unlock",e.jsx("span",{className:"block text-[#F45815]",children:x?"Pro Airport":"airport traffic"})]}),e.jsx("p",{className:"mt-5 max-w-[52ch] text-[14px] font-medium leading-7 text-stone-700",children:x?"Real-time airport traffic is a premium feature. Sign in with your RSG account to continue.":"Live arrivals and departures for every major US airport are available with a premium subscription, along with the driver positioning tools that make the data useful."})]})}),e.jsxs("div",{className:"p-5 sm:p-8",children:[e.jsxs("div",{className:"flex items-start gap-3 rounded-[18px] border border-stone-200 bg-stone-50 p-4 sm:p-5",children:[e.jsx("span",{className:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-full border border-orange-200 bg-[#FFF1E8] text-[#F45815]",children:e.jsx(He,{className:"h-4 w-4"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("h2",{className:"text-[15px] font-black tracking-tight text-stone-950",children:x?"Premium real-time flight tracking":"A focused tool for working drivers"}),e.jsx("p",{className:"mt-1.5 text-[13px] font-medium leading-relaxed text-stone-700",children:x?"Sign in to verify your RSG account, then return here to see the airport dashboard.":"Watch inbound clusters, spot delays, and choose your next position with current airport data."}),e.jsxs("div",{className:"mt-4 flex flex-col gap-2 rounded-[14px] border border-stone-200 bg-white p-3.5 sm:flex-row sm:items-center sm:justify-between",children:[e.jsxs("span",{className:"flex items-center gap-2 text-[12px] font-semibold text-stone-700",children:[e.jsx("span",{className:"inline-flex h-6 w-6 items-center justify-center rounded-full bg-[#FFF1E8] text-[#F45815]",children:e.jsx(Be,{className:"h-3 w-3"})}),"25 airports • arrivals • departures • auto-refresh"]}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 self-start rounded-full border border-amber-200 bg-amber-50 px-2.5 py-1 text-[10px] font-black uppercase tracking-[0.14em] text-amber-800 sm:self-auto",children:[e.jsx("span",{className:"h-1.5 w-1.5 animate-pulse rounded-full bg-amber-500"})," Premium"]})]})]})]}),e.jsx("div",{className:"mt-7 flex flex-col gap-3",children:x?e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:o,className:"inline-flex min-h-[50px] w-full items-center justify-center gap-2 rounded-full bg-[#F45815] px-6 py-3.5 text-[14px] font-black text-white shadow-[0_10px_24px_rgba(244,88,21,0.2)] transition hover:-translate-y-0.5 hover:bg-[#
11E14D0F] hover:shadow-[0_14px_30px_rgba(244,88,21,0.25)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:[e.jsx(qe,{className:"h-4 w-4"})," Sign in to RSG ",e.jsx(Y,{className:"h-4 w-4"})]}),e.jsxs(Se,{to:"/calculator",className:"inline-flex min-h-[50px] w-full items-center justify-center gap-2 rounded-full border border-stone-200 bg-white px-6 py-3.5 text-[14px] font-bold text-stone-800 transition hover:-translate-y-0.5 hover:border-orange-200 hover:bg-[#FFF8F3] hover:text-[#B9380B] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:["See what Premium includes ",e.jsx(Y,{className:"h-4 w-4"})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs(Se,{to:"/calculator",className:"inline-flex min-h-[50px] w-full items-center justify-center gap-2 rounded-full bg-[#F45815] px-6 py-3.5 text-[14px] font-black text-white shadow-[0_10px_24px_rgba(244,88,21,0.2)] transition hover:-translate-y-0.5 hover:bg-[#E14D0F] hover:shadow-[0_14px_30px_rgba(244,88,21,0.25)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:["Upgrade to Premium ",e.jsx(Y,{className:"h-4 w-4"})]}),e.jsx("p",{className:"text-center text-[12px] font-medium leading-relaxed text-stone-600",children:"Already subscribed? Refresh your session to check your access again."}),e.jsx("button",{onClick:o,className:"mx-auto inline-flex min-h-[38px] items-center justify-center gap-2 rounded-full border border-stone-200 bg-white px-5 py-2 text-[12px] font-bold text-stone-700 transition hover:border-orange-200 hover:bg-[#FFF8F3] hover:text-[#B9380B] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:"Refresh session"})]})}),e.jsxs("div",{className:"mt-6 flex items-center justify-center gap-2 text-center text-[11px] font-medium text-stone-500",children:[e.jsx("span",{className:"h-px w-8 bg-stone-200"})," Premium subscription required • Powered by RSG ",e.jsx("span",{className:"h-px w-8 bg-stone-200"})]})]})]}),e.jsxs("section",{className:"mt-8 overflow-hidden rounded-[20px] border border-stone-200 bg-white shadow-sm","aria-label":"Airport traffic preview",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-stone-100 bg-[#FFF8F3] px-4 py-3",children:[e.jsxs("span",{className:"flex items-center gap-2 text-[11px] font-black uppercase tracking-[0.14em] text-stone-800",children:[e.jsx(y,{className:"h-3.5 w-3.5 text-[#F45815]"})," Live arrivals • ATL"]}),e.jsx("span",{className:"text-[10px] font-semibold text-stone-600",children:"25 airports"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-2 p-3 sm:grid-cols-4",children:Array.from({length:8}).map((l,A)=>e.jsx("div",{className:"h-10 animate-pulse rounded-[10px] border border-stone-100 bg-stone-50",style:{animationDelay:`${A*45}ms`}},A))})]})]})]})]}),e.jsx(se,{})]})}function ft(){const[s,i]=n.useState(!1),[a,o]=n.useState(null),[d,x]=n.useState(!1),[l,A]=n.useState("ATL"),[c,re]=n.useState("arrival"),[h,ne]=n.useState([]),[F,O]=n.useState(""),[v,L]=n.useState(""),[N,C]=n.useState(""),[w,T]=n.useState(""),[D,ie]=n.useState(!0),[f,le]=n.useState(null),[$,Re]=n.useState(null),[g,Me]=n.useState(!0),[Ue,oe]=n.useState(60),Oe=n.useRef(null),{status:z,loading:ze,refresh:ce}=Ve(),de=Le.find(t=>t.code===l)||{code:l,city:"",name:""},k=s&&z.subscribed,G=n.useMemo(()=>Z(h.map(t=>t.airline)),[h]),W=n.useMemo(()=>Z(h.map(Ae),tt),[h]),H=n.useMemo(()=>{const t=h.map(r=>{var b;return((b=r.terminal)==null?void 0:b.trim())||Q});return Z(t,r=>r===Q?"Unknown terminal":et(r))},[h]),u=F.trim().toLowerCase(),xe=v!==""||N!==""||w!=="",E=u!==""||xe,j=h.filter(t=>{var ue,be,fe,ge,je,ve,Ne,we,ye;const r=u===""||((ue=t.flight_number)==null?void 0:ue.toLowerCase().includes(u))||((be=t.airline)==null?void 0:be.toLowerCase().includes(u))||((fe=t.airline_iata)==null?void 0:fe.toLowerCase().includes(u))||((ge=t.counterparty)==null?void 0:ge.toLowerCase().includes(u))||((je=t.counterparty_code)==null?void 0:je.toLowerCase().includes(u))||((ve=t.origin_code)==null?void 0:ve.toLowerCase().includes(u))||((Ne=t.destination_code)==null?void 0:Ne.toLowerCase().includes(u))||((we=t.origin)==null?void 0:we.toLowerCase().includes(u))||((ye=t.destination)==null?void 0:ye.toLowerCase().includes(u)),b=v===""||U(t.airline)===v,p=N===""||Ae(t)===N,m=U(t.terminal)||Q;return r&&b&&p&&(w===""||m===w)}),q=u!=="",me=q?`No flights match "${F.trim()}"`:"No flights match these filters",pe=q?xe?"Try changing the search or a selected filter.":"Try a different airline, flight number, or city.":"Try changing a filter or clearing all filters to 
11see the loaded flights.";n.useEffect(()=>{(async()=>{try{const t=await Fe.me();i(!0),o((t==null?void 0:t.email)||null),await ce()}catch{i(!1),o(null)}finally{x(!0)}})()},[ce]),n.useEffect(()=>{L(""),C(""),T("")},[l,c]),n.useEffect(()=>{v&&!G.some(t=>t.value===v)&&L(""),N&&!W.some(t=>t.value===N)&&C(""),w&&!H.some(t=>t.value===w)&&T("")},[v,G,N,W,w,H]);const S=async(t,r,b=!0)=>{b&&ie(!0),le(null);try{const p=await Ke({airport:t,type:r});let m=null;if(p&&typeof p=="object"&&(p.flights?m=p:p.data?m=p.data:m=p),m!=null&&m.error)throw new Error(m.error);const he=(m==null?void 0:m.flights)||[];ne(he),Re(new Date)}catch(p){const m=(p==null?void 0:p.message)||"Unable to load flight data";le(m),ne([])}finally{ie(!1)}};n.useEffect(()=>{!d||!k||S(l,c,!0)},[l,c,d,k]),n.useEffect(()=>{if(!g||!k)return;const t=setInterval(()=>{oe(r=>r<=1?(S(l,c,!1),60):r-1)},1e3);return()=>clearInterval(t)},[g,l,c,k]),n.useEffect(()=>{g&&oe(60)},[l,c,g]);const K=(f==null?void 0:f.toLowerCase().includes("not configured"))||(f==null?void 0:f.toLowerCase().includes("api_key")),B=()=>{window.location.href=st()},P=async()=>{try{await Fe.logout()}catch{}window.location.reload()},V=()=>{O(""),L(""),C(""),T("")};return!d||ze?e.jsx(at,{isAuth:s,email:a,onSignIn:B,onSignOut:P}):s?k?e.jsxs("div",{className:"min-h-screen bg-[#FFFEFB] text-stone-900 selection:bg-[#F45815] selection:text-white",style:{fontFamily:"'Poppins', ui-sans-serif, system-ui, sans-serif"},children:[e.jsx(Ee,{title:"Airport Traffic | Live Arrivals and Departures",description:"Real-time airport arrivals and departures for US airports. Position yourself for rideshare pickups with live flight tracking. Premium access only.",url:"https://rideshareguides.com/pro-airport"}),e.jsx(te,{isAuthenticated:s,email:a,onSignIn:B,onSignOut:P,variant:"default"}),e.jsx("section",{className:"border-b border-stone-200 bg-white",children:e.jsxs("div",{className:"mx-auto max-w-[1320px] px-4 pb-8 pt-6 sm:px-8 sm:pb-10 sm:pt-8",children:[e.jsx(ae,{variant:"light",wrapperClassName:"mb-7"}),e.jsxs("div",{className:"grid gap-7 lg:grid-cols-[minmax(0,1fr)_minmax(300px,420px)] lg:items-stretch lg:gap-10",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-orange-200 bg-[#FFF1E8] px-3 py-1.5 text-[11px] font-black uppercase tracking-[0.15em] text-[#B9380B]",children:[e.jsx(Ze,{className:"h-3.5 w-3.5"})," Live • Pro Airport"]}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-stone-200 bg-stone-50 px-3 py-1.5 text-[11px] font-bold text-stone-700",children:[e.jsx(ke,{className:"h-3 w-3 text-[#F45815]"})," ",l," • ",de.city]}),z.subscription_tier_name&&e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-amber-200 bg-amber-50 px-3 py-1.5 text-[11px] font-black text-amber-800",children:[e.jsx(ee,{className:"h-3 w-3"})," ",z.subscription_tier_name]})]}),e.jsxs("h1",{className:"mt-5 text-[clamp(2.75rem,7vw,5.75rem)] font-black uppercase leading-[0.9] tracking-[-0.07em] text-stone-950",children:["Airport ",e.jsx("span",{className:"text-[#F45815]",children:"Traffic"}),e.jsx("span",{className:"mt-4 block text-[clamp(1rem,2.2vw,1.45rem)] font-black tracking-[0.16em] text-stone-700",children:"Live arrivals & departures"})]}),e.jsxs("p",{className:"mt-5 max-w-[58ch] text-[14px] font-medium leading-7 text-stone-700 sm:text-[15px]",children:["Track real-time flights for ",l," to time your lot position. Watch inbound clusters, spot delays, and catch outbound surges when passengers need rides."]}),e.jsxs("div",{className:"mt-7 flex flex-col gap-3",children:[e.jsxs("div",{className:"inline-flex w-fit max-w-full items-center gap-1 rounded-full border border-stone-200 bg-stone-100 p-1",children:[e.jsxs("button",{onClick:()=>re("arrival"),className:`inline-flex min-h-[42px] items-center gap-2 rounded-full px-4 py-2 text-[13px] font-black transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2 ${c==="arrival"?"bg-[#F45815] text-white shadow-[0_6px_16px_rgba(244,88,21,0.2)]":"text-stone-700 hover:bg-white hover:text-stone-950"}`,children:[e.jsx(y,{className:"h-4 w-4"})," Arrivals"]}),e.jsxs("button",{onClick:()=>re("departure"),className:`inline-flex min-h-[42px] items-center gap-2 rounded-full px-4 py-2 text-[13px] font-black transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2 ${c==="departure"?"bg-[#F45815] text-white shadow-[0_6px_16px_rgba(244,88,21,0.2)]":"text-stone-700 hover:bg-white hover:text-stone-950"}`,children:[e.jsx(_,{className:"h-4 w-4"})," Departures"]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-[11px]",children:[e.jsxs("button",{onClick:()=>Me(t=>!t),className:`inline-flex min-h-[34px] items-center gap-2 rounded-full border px-3.5 py-1.5 font-black transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2 ${g?"border-emerald-200 bg-emerald-50 text-emerald-800":"border-stone-200 bg-white text-stone-700 hover:border-stone-300"}`,children:[e.jsx("span",{className:`h-2 w-2 rounded-full ${g?"animate-pulse bg-emerald-500":"bg-stone-400"}`})," Auto-refresh: ",g?"ON":"OFF"]}),g&&e.jsxs("span",{className:"inline-flex min-h-[34px] items-center gap-1.5 rounded-full border border-stone-200 bg-white px-3 py-1.5 font-bold text-stone-700",children:[e.jsx(Xe,{className:"h-3.5 w-3.5 text-[#F45815]"})," ",Ue,"s"]}),e.jsx("button",{onClick:()=>S(l,c,!0),className:"inline-flex h-[34px] w-[34px] items-center justify-center rounded-full border border-stone-200 bg-white text-stone-700 shadow-sm transition hover:border-orange-200 hover:bg-[#FFF8F3] hover:text-[#B9380B] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2","aria-label":"Refresh flight data",children:e.jsx(Ge,{className:`h-3.5 w-3.5 ${D?"animate-spin":""}`})})]})]})]}),e.jsxs("figure",{className:"relative min-h-[210px] overflow-hidden rounded-[24px] border border-stone-200 bg-[#FFF8F3] shadow-[0_14px_34px_rgba(36,31,27,0.08)] sm:min-h-[260px]",children:[e.jsx("img",{src:"https://ellprnxjjzatijdxcogk.supabase.co/storage/v1/render/image/public/files/chat-generated-images/project-9xrrufffexrbbkhc2dshz/25925509-83ab-41e0-af97-0dc8812e3e5a.png?width=720&resize=contain&quality=78",alt:"","aria-hidden":"true",className:"h-full min-h-[210px] w-full object-cover object-center sm:min-h-[260px]",loading:"eager"}),e.jsx("div",{className:"absolute inset-x-0 bottom-0 bg-gradient-to-t from-white via-white/[0.85
11] to-transparent px-5 pb-5 pt-20",children:e.jsxs("figcaption",{children:[e.jsx("span",{className:"block text-[11px] font-black uppercase tracking-[0.16em] text-[#B9380B]",children:"Your airport view"}),e.jsx("span",{className:"mt-1 block text-[13px] font-bold text-stone-800",children:"Live movement, made useful for the next ride."})]})})]})]})]})}),e.jsx("section",{className:"sticky top-0 z-20 border-b border-stone-200 bg-white/95 backdrop-blur-xl","aria-label":"Choose airport",children:e.jsx("div",{className:"mx-auto max-w-[1320px] px-2 sm:px-6",children:e.jsx("div",{ref:Oe,className:"flex min-w-0 gap-2 overflow-x-auto py-3 scrollbar-none",style:{scrollbarWidth:"none"},children:Le.map(t=>{const r=l===t.code;return e.jsxs("button",{onClick:()=>A(t.code),className:`group flex shrink-0 items-center gap-2 rounded-full border px-4 py-2.5 text-[13px] font-bold transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2 ${r?"border-[#F45815] bg-[#F45815] text-white shadow-[0_5px_16px_rgba(244,88,21,0.2)]":"border-stone-200 bg-white text-stone-800 hover:border-orange-200 hover:bg-[#FFF8F3] hover:text-[#B9380B]"}`,children:[e.jsx("span",{className:`font-black tracking-[0.14em] ${r?"text-white":"text-stone-950"}`,children:t.code}),e.jsx("span",{className:`hidden text-[11px] font-semibold sm:inline ${r?"text-white/90":"text-stone-600"}`,children:t.city})]},t.code)})})})}),e.jsxs("main",{className:"mx-auto max-w-[1320px] px-4 py-6 pb-[14rem] sm:px-8 sm:pb-24 lg:pb-16",children:[e.jsxs("div",{className:"mb-5 flex flex-col gap-4 xl:flex-row xl:items-end xl:justify-between",children:[e.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2.5",children:[e.jsxs("div",{className:"inline-flex max-w-full items-center gap-2 rounded-full border border-stone-200 bg-white px-3.5 py-2 text-[12px] font-semibold text-stone-800 shadow-sm",children:[e.jsx(Be,{className:"h-4 w-4 shrink-0 text-[#F45815]"}),e.jsxs("span",{children:[c==="arrival"?"Arriving at":"Departing from"," ",e.jsx("strong",{className:"font-black text-stone-950",children:l})," • ",de.name]})]}),e.jsxs("div",{className:"inline-flex items-center gap-1.5 rounded-full border border-stone-200 bg-stone-50 px-3 py-2 text-[11px] font-bold text-stone-700",children:[e.jsx(J,{className:"h-3.5 w-3.5 text-[#F45815]"})," ",E?`${j.length} of ${h.length}`:`${h.length}`," flights ",D?"loading":"found"]}),$&&e.jsxs("div",{className:"inline-flex items-center gap-1.5 rounded-full border border-stone-200 bg-white px-3 py-2 text-[11px] font-semibold text-stone-600",children:["Updated ",$.toLocaleTimeString()]}),E&&e.jsxs("div",{className:"inline-flex max-w-full items-center gap-1.5 rounded-full border border-orange-200 bg-[#FFF1E8] px-3 py-2 text-[11px] font-bold text-[#B9380B]",children:[e.jsx(Ye,{className:"h-3.5 w-3.5 shrink-0"}),e.jsxs("span",{className:"truncate",children:[j.length," ",j.length===1?"match":"matches"," ",q?`for "${F.trim()}"`:"with selected filters"]})]})]}),e.jsxs("div",{className:"flex w-full shrink-0 flex-col gap-3 xl:max-w-[760px]",children:[e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[e.jsxs("div",{className:"relative min-w-0 flex-1",children:[e.jsx("div",{className:"pointer-events-none absolute left-3.5 top-1/2 -translate-y-1/2 text-stone-500",children:e.jsx(We,{className:"h-4 w-4"})}),e.jsx("input",{type:"text",value:F,onChange:t=>O(t.target.value),placeholder:"Filter flights...","aria-label":"Filter flights",className:"h-11 w-full rounded-full border border-stone-200 bg-white pl-[40px] pr-[40px] text-base font-semibold text-stone-900 placeholder:text-stone-500 outline-none transition focus:border-[#F45815] focus:ring-2 focus:ring-orange-100"}),F&&e.jsx("button",{onClick:()=>O(""),className:"absolute right-2 top-1/2 flex h-7 w-7 -translate-y-1/2 items-center justify-center rounded-full bg-stone-100 text-stone-600 transition hover:bg-[#FFF1E8] hover:text-[#B9380B] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815]","aria-label":"Clear search",children:e.jsx(I,{className:"h-3.5 w-3.5"})})]}),E&&e.jsxs("button",{type:"button",onClick:V,className:"inline-flex min-h-[42px] shrink-0 items-center justify-center gap-1.5 rounded-full border border-stone-200 bg-white px-4 py-2 text-[12px] font-black text-stone-700 transition hover:border-orange-200 hover:bg-[#FFF8F3] hover:text-[#B9380B] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:[e.jsx(I,{className:"h-3.5 w-3.5"})," Clear filters"]})]}),e.jsxs("div",{className:"grid gap-2 sm:grid-cols-3",children:[e.jsxs("label",{htmlFor:"flight-airline-filter",className:"min-w-0",children:[e.jsx("span",{className:"mb-1.5 block text-[10px] font-black uppercase tracking-[0.14em] text-stone-600",children:"Airline"}),e.jsxs("span",{className:"relative block",children:[e.jsxs("select",{id:"flight-airline-filter",value:v,onCh
11ange:t=>L(t.target.value),"aria-label":"Filter by airline",className:"h-10 w-full appearance-none rounded-[12px] border border-stone-200 bg-white px-3 pr-9 text-[12px] font-bold text-stone-800 outline-none transition focus:border-[#F45815] focus:ring-2 focus:ring-orange-100",children:[e.jsx("option",{value:"",children:"All airlines"}),G.map(t=>e.jsx("option",{value:t.value,children:t.label},t.value))]}),e.jsx(X,{className:"pointer-events-none absolute right-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-stone-500","aria-hidden":"true"})]})]}),e.jsxs("label",{htmlFor:"flight-status-filter",className:"min-w-0",children:[e.jsx("span",{className:"mb-1.5 block text-[10px] font-black uppercase tracking-[0.14em] text-stone-600",children:"Status"}),e.jsxs("span",{className:"relative block",children:[e.jsxs("select",{id:"flight-status-filter",value:N,onChange:t=>C(t.target.value),"aria-label":"Filter by flight status",className:"h-10 w-full appearance-none rounded-[12px] border border-stone-200 bg-white px-3 pr-9 text-[12px] font-bold text-stone-800 outline-none transition focus:border-[#F45815] focus:ring-2 focus:ring-orange-100",children:[e.jsx("option",{value:"",children:"All statuses"}),W.map(t=>e.jsx("option",{value:t.value,children:t.label},t.value))]}),e.jsx(X,{className:"pointer-events-none absolute right-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-stone-500","aria-hidden":"true"})]})]}),e.jsxs("label",{htmlFor:"flight-terminal-filter",className:"min-w-0",children:[e.jsx("span",{className:"mb-1.5 block text-[10px] font-black uppercase tracking-[0.14em] text-stone-600",children:"Terminal"}),e.jsxs("span",{className:"relative block",children:[e.jsxs("select",{id:"flight-terminal-filter",value:w,onChange:t=>T(t.target.value),"aria-label":"Filter by terminal",className:"h-10 w-full appearance-none rounded-[12px] border border-stone-200 bg-white px-3 pr-9 text-[12px] font-bold text-stone-800 outline-none transition focus:border-[#F45815] focus:ring-2 focus:ring-orange-100",children:[e.jsx("option",{value:"",children:"All terminals"}),H.map(t=>e.jsx("option",{value:t.value,children:t.label},t.value))]}),e.jsx(X,{className:"pointer-events-none absolute right-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-stone-500","aria-hidden":"true"})]})]})]})]})]}),e.jsxs("section",{className:"overflow-hidden rounded-[24px] border border-stone-200 bg-white shadow-[0_14px_38px_rgba(36,31,27,0.07)]","aria-labelledby":"flight-list-title",children:[e.jsxs("div",{className:"flex flex-col gap-2 border-b border-stone-200 bg-[#FFF8F3] px-4 py-4 sm:flex-row sm:items-center sm:justify-between sm:px-6",children:[e.jsxs("h2",{id:"flight-list-title",className:"flex items-center gap-2 text-[13px] font-black uppercase tracking-[0.14em] text-stone-950",children:[c==="arrival"?e.jsx(y,{className:"h-4 w-4 text-[#F45815]"}):e.jsx(_,{className:"h-4 w-4 text-[#F45815]"}),c==="arrival"?"Live arrivals":"Live departures"," • ",l]}),e.jsxs("span",{className:"text-[11px] font-semibold text-stone-600",children:[c==="arrival"?`Origin to ${l}`:`${l} to destination`," • Local times"]})]}),e.jsx("div",{className:"hidden overflow-x-auto lg:block",children:e.jsxs("table",{className:"w-full min-w-[760px] text-left",children:[e.jsx("thead",{className:"sticky top-0 z-10 bg-stone-50",children:e.jsxs("tr",{className:"border-b border-stone-200 text-[11px] font-black uppercase tracking-[0.14em] text-stone-600",children:[e.jsx("th",{className:"px-5 py-3.5 font-black",children:"Flight"}),e.jsx("th",{className:"px-4 py-3.5 font-black",children:"Airline"}),e.jsx("th",{className:"px-4 py-3.5 font-black",children:c==="arrival"?"Origin":"Destination"}),e.jsx("th",{className:"px-4 py-3.5 font-black",children:"Scheduled"}),e.jsx("th",{className:"px-4 py-3.5 font-black",children:"Status"}),e.jsx("th",{className:"px-4 py-3.5 font-black",children:"Terminal / Gate"}),e.jsx("th",{className:"px-4 py-3.5 text-right font-black",children:"Delay"})]})}),e.jsx("tbody",{children:D?Array.from({length:10}).map((t,r)=>e.jsxs("tr",{className:"animate-pulse border-b border-stone-100",children:[e.jsx("td",{className:"px-5 py-4",children:e.jsx("div",{className:"h-4 w-16 rounded bg-stone-100"})}),e.jsx("td",{className:"px-4 py-4",children:e.jsx("div",{className:"h-4 w-24 rounded bg-stone-100"})}),e.jsx("td",{className:"px-4 py-4",children:e.jsx("div",{className:"h-4 w-28 rounded bg-stone-100"})}),e.jsx("td",{className:"px-4 py-4",children:e.jsx("div",{className:"h-4 w-14 roun
11ded bg-stone-100"})}),e.jsx("td",{className:"px-4 py-4",children:e.jsx("div",{className:"h-5 w-20 rounded-full bg-stone-100"})}),e.jsx("td",{className:"px-4 py-4",children:e.jsx("div",{className:"h-4 w-12 rounded bg-stone-100"})}),e.jsx("td",{className:"px-4 py-4",children:e.jsx("div",{className:"ml-auto h-4 w-10 rounded bg-stone-100"})})]},r)):f?e.jsx("tr",{children:e.jsx("td",{colSpan:7,className:"px-6 py-14 text-center",children:e.jsxs("div",{className:"mx-auto max-w-[500px] rounded-[18px] border border-amber-200 bg-amber-50 p-6",children:[e.jsx("div",{className:"mx-auto flex h-12 w-12 items-center justify-center rounded-full border border-amber-200 bg-white text-amber-700",children:e.jsx(_e,{className:"h-6 w-6"})}),e.jsx("h3",{className:"mt-4 text-[15px] font-black text-amber-950",children:"Unable to load flight data"}),e.jsx("p",{className:"mt-2 text-[13px] font-medium leading-relaxed text-amber-900",children:K?"Live airport data is temporarily unavailable. Try again in a moment.":`${f}. Try another airport or check back in a minute.`}),e.jsxs("div",{className:"mt-4 flex flex-wrap justify-center gap-2",children:[e.jsx("button",{onClick:()=>S(l,c,!0),className:"rounded-full bg-[#F45815] px-4 py-2 text-[12px] font-black text-white transition hover:bg-[#E14D0F] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:"Retry"}),K&&e.jsx("a",{href:"https://aviationstack.com",target:"_blank",rel:"noreferrer",className:"rounded-full border border-amber-300 bg-white px-4 py-2 text-[12px] font-bold text-amber-900 transition hover:bg-amber-100",children:"Get API key"})]})]})})}):h.length===0?e.jsx("tr",{children:e.jsx("td",{colSpan:7,className:"px-6 py-16 text-center",children:e.jsxs("div",{className:"mx-auto max-w-[380px]",children:[e.jsx("div",{className:"mx-auto flex h-12 w-12 items-center justify-center rounded-full border border-stone-200 bg-stone-50 text-stone-600",children:e.jsx(R,{className:"h-6 w-6"})}),e.jsxs("h3",{className:"mt-4 text-[14px] font-black text-stone-950",children:["No flights found for ",l]}),e.jsx("p",{className:"mt-1.5 text-[12px] font-medium leading-relaxed text-stone-700",children:"Try another airport or switch between arrivals and departures. Data resets at midnight UTC."})]})})}):j.length===0?e.jsx("tr",{children:e.jsx("td",{colSpan:7,className:"px-6 py-16 text-center",children:e.jsxs("div",{className:"mx-auto max-w-[380px]",children:[e.jsx("div",{className:"mx-auto flex h-12 w-12 items-center justify-center rounded-full border border-stone-200 bg-stone-50 text-stone-600",children:e.jsx(R,{className:"h-6 w-6"})}),e.jsx("h3",{className:"mt-4 text-[14px] font-black text-stone-950",children:me}),e.jsx("p",{className:"mt-1.5 text-[12px] font-medium leading-relaxed text-stone-700",children:pe}),e.jsxs("button",{onClick:V,className:"mt-4 inline-flex items-center justify-center gap-1.5 rounded-full border border-stone-200 bg-white px-4 py-2 text-[12px] font-black text-stone-700 transition hover:border-orange-200 hover:bg-[#FFF8F3] hover:text-[#B9380B] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:[e.jsx(I,{className:"h-3.5 w-3.5"})," Clear filters"]})]})})}):j.map((t,r)=>e.jsxs("tr",{className:`border-b border-stone-100 text-[13px] transition-colors hover:bg-[#FFF8F3] ${r%2===0?"bg-white":"bg-stone-50/70"}`,children:[e.jsx("td",{className:"px-5 py-3.5",children:e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"font-black tracking-wide text-stone-950",children:t.flight_number}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-[0.14em] text-stone-600",children:t.airline_iata||""})]})}),e.jsx("td",{className:"px-4 py-3.5",children:e.jsx("span",{className:"line-clamp-1 max-w-[140px] font-semibold text-stone-800",children:t.airline})}),e.jsx("td",{className:"px-4 py-3.5",children:e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"line-clamp-1 max-w-[180px] font-bold text-stone-950",children:t.counterparty||"—"}),e.jsxs("span",{className:"text-[11px] font-semibold text-stone-600",children:[t.counterparty_code," • ",c==="arrival"?t.origin_code:t.de
11stination_code||t.counterparty_code]})]})}),e.jsx("td",{className:"px-4 py-3.5",children:e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-[13px] font-black text-stone-950",children:M(t.scheduled)}),t.estimated&&t.estimated!==t.scheduled&&e.jsxs("span",{className:"text-[11px] font-semibold text-stone-600",children:["Est. ",M(t.estimated)]})]})}),e.jsx("td",{className:"px-4 py-3.5",children:e.jsx(Te,{status:t.status,delay:t.delay})}),e.jsx("td",{className:"px-4 py-3.5",children:e.jsxs("span",{className:"text-[12px] font-semibold text-stone-700",children:[t.terminal?`T${t.terminal}`:"T—"," ",t.gate?`/ G${t.gate}`:t.terminal?"/ G—":"/ —"]})}),e.jsx("td",{className:"px-4 py-3.5 text-right",children:t.delay!=null&&t.delay!==0?e.jsx("span",{className:`inline-flex rounded-full px-2 py-0.5 text-[11px] font-black ${t.delay>0?"bg-amber-50 text-amber-800":"bg-emerald-50 text-emerald-800"}`,children:Ce(t.delay)}):e.jsx("span",{className:"text-[11px] font-semibold text-stone-500",children:"—"})})]},`${t.flight_number}-${r}`))})]})}),e.jsx("div",{className:"lg:hidden",children:D?e.jsx("div",{className:"flex flex-col gap-2 p-3",children:Array.from({length:6}).map((t,r)=>e.jsxs("div",{className:"animate-pulse rounded-[18px] border border-stone-100 bg-[#FFFCF9] p-4",style:{animationDelay:`${r*70}ms`},children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx("div",{className:"h-5 w-20 rounded bg-stone-100"}),e.jsx("div",{className:"h-5 w-20 rounded-full bg-stone-100"})]}),e.jsx("div",{className:"mt-3 h-4 w-32 rounded bg-stone-100"}),e.jsx("div",{className:"mt-2 h-3 w-44 rounded bg-stone-50"}),e.jsxs("div",{className:"mt-3 flex gap-2",children:[e.jsx("div",{className:"h-6 w-16 rounded-full bg-stone-100"}),e.jsx("div",{className:"h-6 w-12 rounded-full bg-stone-100"})]})]},r))}):f?e.jsx("div",{className:"p-4",children:e.jsxs("div",{className:"rounded-[18px] border border-amber-200 bg-amber-50 p-5 text-center",children:[e.jsx("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full border border-amber-200 bg-white text-amber-700",children:e.jsx(_e,{className:"h-5 w-5"})}),e.jsx("h3",{className:"mt-3 text-[14px] font-black text-amber-950",children:"Unable to load flights"}),e.jsx("p",{className:"mt-1.5 text-[12px] font-medium leading-relaxed text-amber-900",children:K?"API key not configured.":f}),e.jsx("button",{onClick:()=>S(l,c,!0),className:"mt-3 rounded-full bg-[#F45815] px-4 py-2 text-[12px] font-black text-white transition hover:bg-[#E14D0F] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:"Retry"})]})}):h.length===0?e.jsxs("div",{className:"p-8 text-center",children:[e.jsx("div",{className:"mx-auto flex h-11 w-11 items-center justify-center rounded-full border border-stone-200 bg-stone-50 text-stone-600",children:e.jsx(R,{className:"h-5 w-5"})}),e.jsxs("h3",{className:"mt-3 text-[14px] font-black text-stone-950",children:["No flights for ",l]}),e.jsx("p",{className:"mt-1.5 text-[12px] font-medium text-stone-700",children:"Try another airport or switch arrivals and departures."})]}):j.length===0?e.jsxs("div",{className:"p-8 text-center",children:[e.jsx("div",{className:"mx-auto flex h-11 w-11 items-center justify-center rounded-full border border-stone-200 bg-stone-50 text-stone-600",children:e.jsx(R,{className:"h-5 w-5"})}),e.jsx("h3",{className:"mt-3 text-[14px] font-black text-stone-950",children:me}),e.jsx("p",{className:"mt-1.5 text-[12px] font-medium text-stone-700",children:pe}),e.jsxs("button",{onClick:V,className:"mt-3 inline-flex items-center justify-center gap-1.5 rounded-full border border-stone-200 bg-white px-4 py-2 text-[12px] font-black text-stone-700 transition hover:border-orange-200 hover:bg-[#FFF8F3] hover:text-[#B9380B] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:[e.jsx(I,{className:"h-3.5 w-3.5"})," Clear filters"]})]}):e.jsx("div",{className:"flex flex-col gap-2 p-3",children:j.map((t,r)=>{const b=c==="arrival",p=t.delay!=null&&t.delay!==0,m=t.estimated&&t.estimated!==t.scheduled;return e.jsxs("article",{className:`rounded-[18px] border p-4 shadow-[0_4px_14px_rgba(36,31,27,0.04)] ${r%2===0?"border-stone-200 bg-white":"border-orange-100 bg-[#FFFCF9]"}`,children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-full border border-orange-200 bg-[#FFF1E8] text-[#F45815]",children:b?e.jsx(y,{className:"h-3.5 w-3.5"}):e.jsx(_,{className:"h-3.5 w-3.5"})}),e.jsx("span",{className:"truncate font-black tracking-wide text-stone-950",children:t.flight_number}),t.airline_iata&&e.jsx("span",{className:"shrink-0 rounded-full bg-stone-100 px-1.5 py-0.5 text-[10px] font-black tracking-[0.12em] text-stone-600",children:t.airline_iata})]}),e.jsx(Te,{status:t.status,delay:t.delay})]}),e.jsx("div",{className:"mt-2.5 truncate text-[13px] font-semibold text-stone-700",children:t.airline}),e.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[e.jsx("div",{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full ${b?"bg-sky-50 text-sky-700":"bg-[#FFF1E8] text-[#F45815]"}`,children:b?e.jsx(y,{className:"h-3 w-3"}):e.jsx(_,{className:"h-3 w-3"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate text-[13px] font-black text-stone-950",children:t.counterparty||"—"}),e.jsxs("div",{className:"text-[11px] font-semibold text-stone-600",children:[t.counterparty_code," • ",b?"From":"To"," ",c==="arrival"?t.origin_code||t.counterparty_code:t.de
11stination_code||t.counterparty_code]})]})]}),e.jsxs("div",{className:"mt-3 flex items-end justify-between gap-3 rounded-[14px] border border-stone-100 bg-stone-50 px-3 py-2.5",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-[10px] font-black uppercase tracking-[0.14em] text-stone-600",children:"Scheduled"}),e.jsx("div",{className:"mt-0.5 text-[15px] font-black tracking-tight text-stone-950",children:M(t.scheduled)}),m&&e.jsxs("div",{className:"text-[11px] font-semibold text-stone-600",children:["Est. ",M(t.estimated)]})]}),e.jsxs("div",{className:"text-right",children:[e.jsx("div",{className:"text-[10px] font-black uppercase tracking-[0.14em] text-stone-600",children:"Terminal / Gate"}),e.jsxs("div",{className:"mt-0.5 inline-flex items-center gap-1.5 rounded-full border border-stone-200 bg-white px-2.5 py-1 text-[12px] font-bold text-stone-800",children:[e.jsx(ke,{className:"h-3 w-3 text-[#F45815]"}),t.terminal?`T${t.terminal}`:"T—"," ",t.gate?`/ G${t.gate}`:"/ —"]})]})]}),p&&e.jsxs("div",{className:"mt-2.5 flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:`inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-[11px] font-black ${t.delay>0?"border-amber-200 bg-amber-50 text-amber-900":"border-emerald-200 bg-emerald-50 text-emerald-900"}`,children:[e.jsx(J,{className:"h-3 w-3"})," Delay ",Ce(t.delay)]}),t.delay>15&&e.jsx("span",{className:"text-[11px] font-semibold text-amber-800",children:"Expect a surge when it lands."})]})]},`${t.flight_number}-m-${r}`)})})}),e.jsxs("div",{className:"flex flex-col gap-2 border-t border-stone-200 bg-stone-50 px-4 py-3.5 sm:flex-row sm:items-center sm:justify-between sm:px-6",children:[e.jsxs("div",{className:"flex items-start gap-2 text-[11px] font-semibold leading-relaxed text-stone-600",children:[e.jsx(Je,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[#F45815]"}),e.jsx("span",{children:"Data via AviationStack. Times are local to the airport. Delay is calculated against scheduled time."})]}),$&&e.jsxs("span",{className:"text-[11px] font-semibold text-stone-600",children:["Last updated ",$.toLocaleString()," • ",E?`${j.length} of ${h.length}`:`${h.length}`," records"]})]})]}),e.jsxs("section",{className:"mt-7 grid gap-4 lg:grid-cols-3","aria-labelledby":"driver-tips-title",children:[e.jsx("h2",{id:"driver-tips-title",className:"sr-only",children:"Driver tips for airport traffic"}),e.jsxs("article",{className:"rounded-[18px] border border-orange-200 bg-[#FFF8F3] p-5 shadow-sm",children:[e.jsxs("h3",{className:"flex items-center gap-2 text-[12px] font-black uppercase tracking-[0.14em] text-[#B9380B]",children:[e.jsx(y,{className:"h-4 w-4"})," Driver positioning"]}),e.jsx("p",{className:"mt-2 text-[13px] font-medium leading-7 text-stone-700",children:"Stage in the cell lot 20 minutes before a cluster of arrivals. Five or more landings within 10 minutes usually means a 15 to 25 minute surge window."})]}),e.jsxs("article",{className:"rounded-[18px] border border-amber-200 bg-amber-50 p-5 shadow-sm",children:[e.jsxs("h3",{className:"flex items-center gap-2 text-[12px] font-black uppercase tracking-[0.14em] text-amber-900",children:[e.jsx(J,{className:"h-4 w-4"})," Delay equals opportunity"]}),e.jsx("p",{className:"mt-2 text-[13px] font-medium leading-7 text-stone-700",children:"Delayed flights stack passengers. When you see amber badges, expect stronger demand when they land. Keep your Don Card ready."})]}),e.jsxs("article",{className:"rounded-[18px] border border-sky-200 bg-sky-50 p-5 shadow-sm",children:[e.jsxs("h3",{className:"flex items-center gap-2 text-[12px] font-black uppercase tracking-[0.14em] text-sky-900",children:[e.jsx(_,{className:"h-4 w-4"})," Departure rush"]}),e.jsx("p",{className:"mt-2 text-[13px] font-medium leading-7 text-stone-700",children:"Departures spike 90 to 120 minutes before takeoff, which is useful for drop-offs. Catch inbound riders 25 to 40 minutes after landing."})]})]})]}),e.jsx(se,{})]}):e.jsx(De,{isAuth:s,email:a,variant:"no-subscription",onSignIn:B,onSignOut:P}):e.jsx(De,{isAuth:s,email:a,variant:"no-auth",onSignIn:B,onSignOut:P})}export{ft as default};

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.