PageSourceSearch

https://flightsim.to/assets/RadarPage-BXms4GZ2.js

js flightsim.to collected 2026-10-01 10:20:56 UTC 24,991 bytes, 6 lines download raw bytes

1import{c as me,h as F,r as m,j as e,e as A,N as p,aG as k,b as xe,J as he,K as ue,L as pe,V as K,A as Z,aO as ge,a8 as je,aQ as fe,$ as M,X as be,b1 as R,bk as z,ac as ve,dS as Ne,dT as we,dU as W,ad as _e,B as b,a2 as V,an as ye,b9 as ke,a4 as Pe,cP as Se,x as Ce}from"./index-BUR_l9d0.js";import{P as Te}from"./ProjectCard-CLMlvMZl.js";import{D as Re}from"./DevlogPostCard-DrYTAdHs.js";import{P as Fe}from"./ProjectStatusBadge-SLUV4QgW.js";import{C as $e}from"./ClaimedBadge-dswC6BFg.js";import{C as qe}from"./calendar-range-CcI3tnts.js";import{S as N,a as w,b as _,c as y,d as n}from"./select-B7hLupPU.js";import{T as Le,a as Ie,b as U,c as Ee}from"./tabs-OEEREkRt.js";import{P as H}from"./Pagination-DWdgSlxL.js";import{m as Ae,a as J}from"./radarMappers-Buu_VcnS.js";import{P as Ve}from"./plus-JPnTyDXo.js";import{R as Ue}from"./rocket-C8FA_isW.js";import{U as Me}from"./user-check-x7PwkGn8.js";import{C as ze}from"./circle-help-CtDLl6Ix.js";import"./bell-ring-MYb2qaiq.js";import"./video-B_eTDPQn.js";import"./camera-BOcqeijE.js";import"./flag-8gchDdku.js";import"./share-2-DjjpfvHl.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 Be=me("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);function De({quarters:s,totalUpcoming:i,recentlyReleased:c=[]}){var g;const{t:r}=F("radar"),[l,h]=m.useState(((g=s[0])==null?void 0:g.quarter)??""),d=m.useMemo(()=>s.find(t=>t.quarter===l)??s[0],[s,l]);return!s.length||!d?null:e.jsx("section",{className:"border-t border-border",children:e.jsxs("div",{className:"max-w-[1600px] mx-auto px-4 sm:px-6 py-10",children:[e.jsx("div",{className:"flex items-end justify-between gap-4 mb-5 flex-wrap",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-primary font-semibold uppercase tracking-wider mb-2",children:[e.jsx(qe,{className:"h-4 w-4"})," ",r("timeline_badge","Release Timeline")]}),e.jsx("h2",{className:"text-2xl md:text-3xl font-bold tracking-tight",children:r("timeline_title","Upcoming releases by quarter")}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:r("timeline_subtitle",{defaultValue:"{{count}} projects on the radar — sorted by their announced release window.",count:i})})]})}),e.jsxs("div",{className:"relative mb-6",children:[e.jsx("div",{className:"absolute left-0 right-0 top-1/2 -translate-y-1/2 h-px bg-border","aria-hidden":!0}),e.jsx("div",{className:"relative flex gap-2 overflow-x-auto pb-2 -mx-1 px-1 scrollbar-thin",children:s.map(t=>{const u=t.quarter===d.quarter;return e.jsxs("button",{onClick:()=>h(t.quarter),className:A("shrink-0 flex flex-col items-center gap-1.5 px-4 py-2.5 rounded-lg border transition-all relative bg-background",u?"border-primary bg-primary/5 shadow-sm":"border-border hover:border-primary/40 hover:bg-muted/50"),children:[e.jsx("span",{className:A("h-2 w-2 rounded-full",u?"bg-primary":"bg-muted-foreground/40")}),e.jsx("span",{className:A("text-sm font-semibold",u?"text-foreground":"text-muted-foreground"),children:t.quarter}),e.jsxs("span",{className:"text-[11px] text-muted-foreground",children:[t.total," ",t.total===1?r("timeline_project_singular","project"):r("timeline_project_plural","projects")]})]},t.quarter)})})]}),e.jsxs("div",{className:"rounded-xl border border-border overflow-hidden bg-card",children:[e.jsxs("div",{className:"hidden md:grid grid-cols-[minmax(0,1fr)_140px_120px_120px_140px] gap-4 px-4 py-3 text-[11px] uppercase tracking-wider font-semibold text-muted-foreground bg-muted/40 border-b border-border",children:[e.jsx("span",{children:r("timeline_col_project","Project")}),e.jsx("span",{children:r("timeline_col_studio","Studio")}),e.jsx("span",{children:r("timeline_col_category","Category")}),e.jsx("span",{children:r("timeline_col_pricing","Pricing")}),e.jsx("span",{className:"text-right",children:r("timeline_col_status","Status")})]}),e.jsx("ul",{className:"divide-y divide-border",children:d.projects.map(t=>e.jsx("li",{children:e.jsxs(p,{to:`/project/${t.id}/${t.slug}`,className:"grid md:grid-cols-[minmax(0,1fr)_140px_120px_120px_140px] gap-3 md:gap-4 items-center px-4 py-3 hover:bg-muted/40 transition-colors group",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx("div",{className:"w-14 h-10 rounded-md overflow-hidden bg-muted shrink-0",children:e.jsx("img",{src:k(t.cover_url,200),alt:t.title,loading:"lazy",className:"w-full h-full object-cover"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"font-semibold truncate group-hover:text-primary transition-colors flex items-center gap-1.5",children:[t.title,e.jsx(xe,{className:"h-3.5 w-3.5 opacity-0 -translate-x-1 group-hover:opacity-100 group-hover:translate-x-0 transition-all"})]}),e.jsx("div",{className:"text-xs text-muted-foreground truncate",children:t.tagline})]})]}),e.jsxs("div",{className:"flex items-center gap-2 min-w-0 text-xs",children:[e.jsxs(he,{className:"h-6 w-6 shrink-0",children:[e.jsx(ue,{src:t.developer.avatar_url??void 0,alt:t.developer.name}),e.jsx(pe,{children:t.developer.name.charAt(0)})]}),e.jsx("span",{className:"truncate",children:t.developer.name}),e.jsx($e,{isClaimed:t.developer.is_claimed,className:"h-3 w-3 shrink-0"})]}),e.jsx("span",{className:"text-xs text-muted-foreground truncate",children:t.category.name}),e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider",children:t.pricing==="free"?e.jsx("span",{className:"text-emerald-500",children:"Free"}):t.pricing==="payware"?e.jsx("span",{className:"text-foreground
6/80",children:"Payware"}):e.jsx("span",{className:"text-foreground/80",children:"Store"})}),e.jsx("div",{className:"md:flex md:justify-end",children:e.jsx(Fe,{status:t.status})})]})},t.id))}),d.total>d.projects.length&&e.jsx("div",{className:"px-4 py-3 border-t border-border bg-muted/30 text-xs text-muted-foreground text-center",children:r("timeline_more",{defaultValue:"Showing top {{shown}} of {{total}} projects in {{quarter}}",shown:d.projects.length,total:d.total,quarter:d.quarter})})]}),c.length>0&&e.jsxs("div",{className:"mt-10",children:[e.jsx("div",{className:"flex items-end justify-between gap-4 mb-5",children:e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-primary font-semibold uppercase tracking-wider mb-2",children:[e.jsx(K,{className:"h-4 w-4"})," ",r("recently_released_badge")]}),e.jsx("h3",{className:"text-xl md:text-2xl font-bold tracking-tight",children:r("recently_released_title")}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:r("recently_released_subtitle")})]})}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-3",children:c.map(t=>e.jsxs(p,{to:`/project/${t.id}/${t.slug}`,className:"group flex items-center gap-3 p-3 rounded-xl border border-border bg-card hover:border-primary/40 hover:shadow-md transition-all",children:[e.jsx("div",{className:"w-14 h-14 rounded-lg overflow-hidden bg-muted shrink-0",children:e.jsx("img",{src:k(t.cover,500),alt:t.title,loading:"lazy",className:"w-full h-full object-cover"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-[11px] uppercase tracking-wider text-primary font-semibold",children:[e.jsx(K,{className:"h-3 w-3"})," ",r("released")]}),e.jsx("div",{className:"font-semibold truncate group-hover:text-primary transition-colors",children:t.title}),e.jsxs("div",{className:"text-xs text-muted-foreground truncate",children:[r("by")," ",t.creator.name]})]})]},t.id))})]})]})})}const Oe=async(s=14)=>{const i=await fetch(`https://flightsim.to/backend/radar/developers?per_page=${s}`,{credentials:"include"});if(!i.ok)throw new Error(`Failed to fetch radar developers: ${i.status}`);return i.json()},Qe=s=>s.split(/\s+/).filter(Boolean).slice(0,2).map(i=>{var c;return((c=i[0])==null?void 0:c.toUpperCase())??""}).join("");function Ge(){const{t:s}=F("radar"),{data:i,isLoading:c}=Z({queryKey:["radar","developers",14],queryFn:()=>Oe(14),staleTime:5*60*1e3}),r=(i==null?void 0:i.data)??[];return!c&&r.length===0?null:e.jsx("section",{className:"border-b border-border bg-background",children:e.jsx("div",{className:"max-w-[1600px] mx-auto px-4 sm:px-6 py-5",children:e.jsx("div",{className:"flex gap-5 overflow-x-auto scrollbar-thin pb-2 -mx-1 px-1 justify-center items-center",style:{scrollbarWidth:"thin"},"aria-label":s("developers_strip_aria","Featured developers"),children:c?Array.from({length:12}).map((l,h)=>e.jsxs("div",{className:"flex flex-col items-center gap-2 shrink-0 w-20",children:[e.jsx("div",{className:"h-16 w-16 rounded-full bg-muted animate-pulse"}),e.jsx("div",{className:"h-3 w-14 rounded bg-muted animate-pulse"})]},h)):r.map(l=>e.jsxs(p,{to:`/radar/studio/${l.slug}`,className:"group flex flex-col items-center gap-2 shrink-0 w-20 focus:outline-none",title:l.name,children:[e.jsx("div",{className:"p-[2px] rounded-full bg-gradient-to-tr from-primary via-orange-400 to-pink-500 group-hover:scale-105 transition-transform",children:e.jsx("div",{className:"rounded-full bg-background p-[2px]",children:l.avatar_url?e.jsx("img",{src:k(l.avatar_url,150),alt:l.name,loading:"lazy",className:"h-16 w-16 rounded-full object-cover"}):e.jsx("div",{className:"h-16 w-16 rounded-full bg-muted flex items-center justify-center text-sm font-semibold text-muted-foreground",children:Qe(l.name)})})}),e.jsx("span",{className:"text-xs text-foreground text-center line-clamp-2 leading-tight group-hover:text-primary transition-colors",children:l.name})]},l.slug))})})})}const Ke=async(s,i=8)=>{const c=new URLSearchParams({q:s,limit:String(i)}),r=await fetch(`https://flightsim.to/backend/radar/search?${c.toString()}`,{credentials:"include"});if(!r.ok)throw new Error(`Failed to search radar: ${r.status}`);return r.json()},We=(s,i=!0)=>{const c=ge(s.trim(),250);return Z({queryKey:["radar","search",c],queryFn:()=>Ke(c),enabled:i&&c.length>=2,staleTime:1e3*60*2,gcTime:1e3*60*5})};function He(){const{t:s}=F("radar");je();const[i,c]=m.useState(""),[r,l]=m.useState(!1),h=m.useRef(null),{data:d,isFetching:g}=We(i,r);m.useEffect(()=>{const o=L=>{h.current&&!h.current.contains(L.target)&&l(!1)};return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[]);const t=(d==null?void 0:d.data.projects)??[],u=(d==null?void 0:d.data.developers)??[],$=t.length>0||u.length>0,j=i.trim(),q=r&&j.length>=2;return e.jsxs("div",{ref:h,className:"relative w-full",children:[e.jsxs("div",{className:"relative",children:[e.jsx(fe,{className:"absolute left-4 top-1/2 -translate-y-1/2 h-5 w-5 text-muted-foreground pointer-events-none z-10"}),e.jsx("input",{type:"text",value:i,onChange:o=>{c(o.target.value),l(!0)},onFocus:()=>l(!0),placeholder:s("search_placeholder","Search projects or developers…"),className:"w-full h-11 pl-12 pr-10 rounded-lg border border-border bg-background/80 backdrop-blur text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 focu
6s:border-primary/40","aria-label":s("search_placeholder","Search projects or developers…")}),i&&e.jsx("button",{type:"button",onClick:()=>{c(""),l(!1)},className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground","aria-label":"Clear",children:g?e.jsx(M,{className:"h-4 w-4 animate-spin"}):e.jsx(be,{className:"h-4 w-4"})})]}),q&&e.jsx("div",{className:"absolute z-50 left-0 right-0 mt-2 rounded-lg border border-border bg-popover shadow-lg overflow-hidden",children:g&&!d?e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx(M,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):$?e.jsxs("div",{className:"max-h-[420px] overflow-y-auto",children:[t.length>0&&e.jsxs("div",{className:"py-2",children:[e.jsxs("div",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[e.jsx(R,{className:"h-3 w-3"})," ",s("search_section_projects","Projects")]}),t.map(o=>e.jsxs(p,{to:`/project/${o.id}/${o.slug}`,onClick:()=>l(!1),className:"flex items-center gap-3 px-3 py-2 hover:bg-accent transition-colors",children:[e.jsx("img",{src:k(o.cover_url,150),alt:"",loading:"lazy",className:"h-10 w-10 rounded object-cover bg-muted shrink-0"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"text-sm font-medium truncate",children:o.title}),e.jsx("div",{className:"text-xs text-muted-foreground truncate",children:o.developer.name})]})]},`p-${o.id}`))]}),u.length>0&&e.jsxs("div",{className:"py-2 border-t border-border",children:[e.jsxs("div",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[e.jsx(z,{className:"h-3 w-3"})," ",s("search_section_developers","Developers")]}),u.map(o=>e.jsxs(p,{to:`/radar/studio/${o.slug}`,onClick:()=>l(!1),className:"flex items-center gap-3 px-3 py-2 hover:bg-accent transition-colors",children:[o.avatar_url?e.jsx("img",{src:k(o.avatar_url,150),alt:"",loading:"lazy",className:"h-10 w-10 rounded-full object-cover bg-muted shrink-0"}):e.jsx("div",{className:"h-10 w-10 rounded-full bg-muted flex items-center justify-center shrink-0",children:e.jsx(z,{className:"h-4 w-4 text-muted-foreground"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"text-sm font-medium truncate",children:o.name}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:[o.project_count," ",o.project_count===1?s("search_project_one","project"):s("search_project_other","projects")]})]})]},`d-${o.id}`))]})]}):e.jsx("div",{className:"py-8 text-center text-sm text-muted-foreground",children:s("search_no_results","No matches found")})})]})}const X="/assets/release-radar-og-DGCsWnbx.jpg",Y=16;function ps(){var O,Q,G;const{t:s}=F("radar");ve({title:s("seo_title"),description:s("seo_description"),canonical:"https://flightsim.to/radar",ogType:"website",ogUrl:"https://flightsim.to/radar",ogImage:`https://flightsim.to${X}`,twitterCard:"summary_large_image",twitterSite:"@flightsimdotto",twitterImage:`https://flightsim.to${X}`,jsonLd:[{"@context":"https://schema.org","@type":"CollectionPage",name:s("seo_title"),description:s("seo_description"),url:"https://flightsim.to/radar",isPartOf:{"@type":"WebSite",name:"Flightsim.to",url:"https://flightsim.to"}},{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:s("breadcrumb_home"),item:"https://flightsim.to/"},{"@type":"ListItem",position:2,name:s("breadcrumb_radar"),item:"https://flightsim.to/radar"}]}]});const i=6,[c,r]=m.useState(1),{data:l}=Ne({limit:i,page:c}),h=m.useMemo(()=>((l==null?void 0:l.data)??[]).map(Ae),[l]),d=((O=l==null?void 0:l.meta)==null?void 0:O.total)??0,g=Math.min(5,Math.max(1,Math.ceil(d/i))),{data:t}=we({limit_per_quarter:12}),u=(t==null?void 0:t.data)??[],$=((Q=t==null?void 0:t.meta)==null?void 0:Q.total_upcoming)??0,{data:j}=W({page:1,per_page:6,sort:"updated",status:"released"}),q=m.useMemo(()=>((j==null?void 0:j.data)??[]).map(J),[j]),[o,L]=m.useState("all"),[P,ee]=m.useState("all"),[S,se]=m.useState("all"),[C,te]=m.useState("all"),[I,ae]=m.useState("new"),[f,B]=m.useState("all"),[E,T]=m.useState(1),re=m.useMemo(()=>({page:E,per_page:Y,sort:I,tab:f,...o!=="all"?{category:o}:{},...P!=="all"?{pricing:P}:{},...S!=="all"?{simulator:S}:{},...C!=="all"?{status:C}:{}}),[E,I,f,o,P,S,C]),{data:x,isLoading:le,isFetching:ie}=W(re),D=m.useMemo(()=>((x==null?void 0:x.data)??[]).map(J),[x]),oe=((G=x==null?void 0:x.facets)==null?void 0:G.categories)??[],ce=(x==null?void 0:x.meta.total)??0,ne=(x==null?void 0:x.meta.total_pages)??1,v=a=>de=>{a(de),T(1)};return e.jsxs(_e,{children:[e.jsx("section",{className:"relative border-b border-border bg-gradient-to-br from-primary/10 via-background to-background",children:e.jsxs("div",{className:"max-w-[1600px] mx-auto px-4 sm:px-6 py-10 lg:py-14",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-primary font-semibold uppercase tracking-wider mb-3",children:[e.jsx(R,{className:"h-4 w-4"}),s("badge")]}),e.jsx("h1",{className:"text-3xl md:text-5xl font-bold tracking-tight max-w-3xl",children:s("hero_title")}),e.jsx("p",{className:"text-muted-foreground max-w-2xl mt-3 text-base md:text-lg",children:s("hero_subtitle")}),e.jsx("div",{className:"mt-5 flex flex-wrap gap-2",children:e.jsx(b,{asChild:!0,size:"lg",children:e.jsxs(p,{to:"/radar/new",children:[e.jsx(Ve,{className:"h-4 w-4 mr-1.5"})," ",s("cta_submit")]})})}),e.jsx("div",{className:"mt-6",children:e.jsx(He,{})})]})}),e.jsx(Ge,{}),e.jsx("section",{className:"max-w-[1600px] mx-auto px-4 sm:px-6 py-6",children:e.jsxs(Le,{value:f,onValueChange:a=>{B(a),T(1)},children:[e.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center justify-between gap-3 mb-5",children:[e.jsxs(Ie,{children:[e.jsxs(U,{value:"all",className:"gap-1.5",children:[e.jsx(V,{className:"h-3.5 w-3.5"})," ",s("tab_all")]}),e.jsxs(U,{value:"wishlisted",className:"gap-1.5",children:[e.jsx(Ue,{className:"h-3.5 w-3.5"})," ",s("tab_wishlist")]}),e.jsxs(U,{value:"following",className:"gap-1.5",children:[e.jsx(Me,{className:"h-3.5 w-3.5"})," ",s("tab_following")]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(Be,{className:"h-4 w-4 text-muted-foreground"}),e.jsxs(N,{value:o,onValueChange:v(L),children:[e.jsx(w,{className:"w-[160px] h-9",children:e.jsx(_,{placeholder:s("filter_category")})}),e.jsxs(y,{children:[e.jsx(n,{value:"all",children:s("all_categories")}),oe.map(a=>
6e.jsxs(n,{value:a.slug,children:[a.name," (",a.count,")"]},a.slug))]})]}),e.jsxs(N,{value:P,onValueChange:v(a=>ee(a)),children:[e.jsx(w,{className:"w-[140px] h-9",children:e.jsx(_,{placeholder:s("filter_pricing")})}),e.jsxs(y,{children:[e.jsx(n,{value:"all",children:s("all_pricing")}),e.jsx(n,{value:"free",children:s("pricing_free")}),e.jsx(n,{value:"payware",children:s("pricing_payware")})]})]}),e.jsxs(N,{value:S,onValueChange:v(a=>se(a)),children:[e.jsx(w,{className:"w-[150px] h-9",children:e.jsx(_,{placeholder:s("filter_simulator")})}),e.jsxs(y,{children:[e.jsx(n,{value:"all",children:s("all_simulators")}),e.jsx(n,{value:"msfs2024",children:"MSFS 2024"}),e.jsx(n,{value:"msfs2020",children:"MSFS 2020"})]})]}),e.jsxs(N,{value:C,onValueChange:v(a=>te(a)),children:[e.jsx(w,{className:"w-[170px] h-9",children:e.jsx(_,{placeholder:s("filter_status")})}),e.jsxs(y,{children:[e.jsx(n,{value:"all",children:s("all_statuses")}),e.jsx(n,{value:"announced",children:s("status_announced")}),e.jsx(n,{value:"in_development",children:s("status_in_development")}),e.jsx(n,{value:"paused",children:s("status_paused")}),e.jsx(n,{value:"beta_testing",children:s("status_beta_testing")}),e.jsx(n,{value:"release_candidate",children:s("status_release_candidate")}),e.jsx(n,{value:"released",children:s("status_released")})]})]}),e.jsxs(N,{value:I,onValueChange:v(a=>ae(a)),children:[e.jsx(w,{className:"w-[170px] h-9",children:e.jsx(_,{placeholder:s("filter_sort")})}),e.jsxs(y,{children:[e.jsx(n,{value:"wishlisted",children:s("sort_wishlisted")}),e.jsx(n,{value:"followers",children:s("sort_followers")}),e.jsx(n,{value:"views",children:s("sort_views")}),e.jsx(n,{value:"new",children:s("sort_new")}),e.jsx(n,{value:"updated",children:s("sort_updated")})]})]})]})]}),e.jsx(Ee,{value:f,className:"mt-0",children:le?e.jsx("div",{className:"flex items-center justify-center py-20",children:e.jsx(M,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):D.length===0?e.jsxs("div",{className:"border border-dashed border-border rounded-xl p-12 text-center",children:[e.jsx(R,{className:"h-10 w-10 mx-auto text-muted-foreground mb-3"}),e.jsx("h3",{className:"font-semibold text-lg",children:s("empty_title")}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:s(f==="wishlisted"?"empty_wishlisted":"empty_other")}),f!=="all"&&e.jsx(b,{className:"mt-4",onClick:()=>{B("all"),T(1)},children:s("empty_cta")})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-4 gap-4 transition-opacity ${ie?"opacity-60":""}`,children:D.map(a=>e.jsx(Te,{project:a},a.id))}),e.jsx(H,{currentPage:E,totalPages:ne,totalItems:ce,itemsPerPage:Y,onPageChange:a=>{T(a),window.scrollTo({top:0,behavior:"smooth"})},showPerPage:!1})]})})]})}),e.jsx("section",{className:"max-w-[1600px] mx-auto px-4 sm:px-6 py-6",children:e.jsx("div",{className:"relative overflow-hidden rounded-xl border border-border bg-gradient-to-r from-primary/10 via-primary/5 to-background p-6 md:p-8",children:e.jsxs("div",{className:"flex flex-col md:flex-row md:items-center gap-4 md:gap-6",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"inline-flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wider text-primary mb-2",children:[e.jsx(V,{className:"h-3.5 w-3.5"}),s("push_cta_badge")]}),e.jsx("h3",{className:"text-lg md:text-xl font-bold tracking-tight",children:s("push_cta_title")}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1 max-w-xl",children:s("push_cta_desc")})]}),e.jsx(b,{asChild:!0,variant:"default",className:"shrink-0",children:e.jsxs(p,{to:"/settings",children:[e.jsx(ye,{className:"h-4 w-4 mr-1.5"}),s("push_cta_button")]})})]})})}),h.length>0&&e.jsx("section",{className:"border-t border-border bg-muted/30",children:e.jsxs("div",{className:"max-w-[1600px] mx-auto px-4 sm:px-6 py-10",children:[e.jsxs("div",{className:"flex items-end justify-between gap-4 mb-5",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-primary font-semibold uppercase tracking-wider mb-2",children:[e.jsx(ke,{className:"h-4 w-4"})," ",s("devlog_badge")]}),e.jsx("h2",{className:"text-2xl md:text-3xl font-bold tracking-tight",children:s("devlog_title")}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:s("devlog_subtitle")})]}),e.jsxs(p,{to:"/radar/devlogs",className:"inline-flex items-center gap-1 text-sm font-medium text-primary hover:text-primary/80 transition-colors shrink-0",children:[s("devlog_view_all","View All")," ",e.jsx(Pe,{className:"h-4 w-4"})]})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4",children:h.map(a=>e.jsx(Re,{post:a,project:{id:a.projectId,slug:a.projectSlug,title:a.projectTitle,cover:a.projectCover},creator:a.creator,showProjectHeader:!0,compact:!0},`${a.projectId}-${a.id}`))}),g>1&&e.jsx("div",{className:"mt-6",children:e.jsx(H,{currentPage:c,totalPages:g,totalItems:d,itemsPerPage:i,onPageChange:a=>{r(a),window.scrollTo({top:window.scrollY,behavior:"auto"})},showPerPage:!1})})]})}),u.length>0&&e.jsx(De,{quarters:u,totalUpcoming:$,recentlyReleased:q}),e.jsx("section",{className:"border-t border-border bg-muted/30",children:e.jsxs("div",{className:"max-w-[1600px] mx-auto px-4 sm:px-6 py-10",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-primary font-semibold uppercase tracking-wider mb-2",children:[e.jsx(ze,{className:"h-4 w-4"})," ",s("faq_badge")]}),e.jsx("h2",{className:"text-2xl md:text-3xl font-bold tracking-tight mb-2",children:s("faq_title")}),e.jsx("p",{className:"text-sm text-muted-foreground max-w-2xl mb-8",children:s("faq_subtitle")}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsxs("div",{className:"rounded-xl border border-border bg-card p-6 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[e.jsx(z,{className:"h-5 w-5"}),e.jsx("h3",{className:"font-semibold text-lg",children:s("faq_studios_title")})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:s("faq_studios_desc")}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(b,{asChild:!0,variant:"outline",className:"w-full sm:w-auto",children:e.jsxs(p,{to:"/radar/studio/new",children:[e.jsx(Se,{className:"h-4 w-4 mr-1.5"})," ",s("faq_studios_cta")]})}),e.jsx(b,{asChild:!0,variant:"secondary",className:"w-full sm:w-auto",children:e.jsxs("a",{href:"https://cdn.flightsim.to/documents/Flightsim.to%20Radar.pdf",target:"_blank",rel:"noopener noreferrer",children:[e.jsx(Ce,{className:"h-4 w-4 mr-1.5"})," Pitch Deck"]})})]})]}),e.jsxs("div",{className:"rounded-xl border border-border bg-card p-6 space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-primary",children:[e.jsx(R,{className:"h-5 w-5"}),e.jsx("h3",{className:"font-semibold text-lg",children:s("faq_users_title")})]}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:s("faq_users_desc")}),e.jsx(b,{asChild:!0,variant:"outline",className:"w-full sm:w-auto",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),children:e.jsxs(p,{to:"/radar",children:[e.jsx(V,{className:"h-4 w-4 mr-1.5"})," ",s("faq_users_cta")]})})]})]})]})})]})}export{ps 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.