PageSourceSearch

https://tesana.com/assets/GameStorePage-CKJtUsFF.js

js tesana.com collected 2026-10-09 22:40:26 UTC 5,875 bytes, 1 lines download raw bytes

1import{j as e}from"./vendor-motion-hRg_q8lq.js";import{aM as h,d as b,ao as y,u as v,H as u,o as S}from"./index-BKzE8EQ8.js";import{A as _,a as N}from"./AdminGameMenu-DlEcDyIv.js";import{r as w,b as k}from"./vendor-react-E98sgxjj.js";import{u as P}from"./vendor-query-bOUN_gKe.js";import{du as c}from"./vendor-fa-Bn2dnpnC.js";import"./tabBarStore-624ukDKJ.js";import{P as d}from"./PublicChrome-Ci8QPupK.js";import{u as C,S as A,r as G,a as T,b as F}from"./useStorefrontGame-yNzC8ieg.js";import"./useIsStaff-DZf24Ivp.js";import"./MakeCopy-DWExybqc.js";import"./useLocaleNavigate-BNriJdRU.js";import"./LandingFooter-DjCjfhwD.js";import"./UserAvatarMenu-BoKKInby.js";import"./Tooltip-C8AvPGtA.js";import"./Avatar-B60wpoS5.js";import"./MediaImage-DKgx-nW4.js";import"./socialLinks-DmmZmq5v.js";import"./GameGrid-DDIfZYbN.js";import"./GameRow-BewUztqS.js";import"./MediaVideo-CBR0-TKg.js";import"./usePlayingNow-D0BSBy1C.js";import"./playingNowApi-CB_pr25U.js";import"./DesktopGamePanel-BehZ5Jia.js";import"./CommentsView-BDfWyss4.js";import"./AuthShell-DPeun0C_.js";import"./AuthPanel-B4zt6SJ5.js";import"./pendingReferral-B4JPXhl_.js";import"./exploreHandoff-RQymaHkp.js";import"./LaunchPromoClips-eRoWsyBt.js";import"./useReleases-n_bF3yQQ.js";import"./playIntent-BFBGkqRe.js";function L({game:o}){const[n,a]=w.useState(!1),{data:t,isLoading:l}=P({queryKey:["admin-curation-detail",o.id],queryFn:()=>h.getCurationDetail(o.id),staleTime:60*1e3,enabled:n});return e.jsx("div",{className:"fixed bottom-4 right-4 z-40",children:n?e.jsxs("div",{className:"w-80 rounded-lg border border-border bg-card shadow-2xl text-foreground",children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-secondary/50",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(c,{icon:["far","flask"],className:"text-muted-foreground"}),e.jsx("span",{className:"text-xs uppercase tracking-wider text-muted-foreground",children:"Staff overlay"})]}),e.jsx("button",{type:"button",onClick:()=>a(!1),className:"text-muted-foreground hover:text-foreground cursor-pointer","aria-label":"Close staff overlay",children:e.jsx(c,{icon:["far","xmark"]})})]}),e.jsxs("div",{className:"p-4 space-y-3",children:[l&&e.jsx("div",{className:"text-sm text-muted-foreground",children:"Loading metrics…"}),t&&e.jsxs("dl",{className:"grid grid-cols-2 gap-x-3 gap-y-2 text-xs",children:[e.jsx(r,{label:"LLM cost",value:`$${(t.total_cost_usd??0).toFixed(3)}`}),e.jsx(r,{label:"Generations",value:String(t.generation_count??0)}),e.jsx(r,{label:"Chat msgs",value:String(t.message_count??0)}),e.jsx(r,{label:"Plays",value:String(t.play_count??0)}),e.jsx(r,{label:"Favorites",value:String(t.favorite_count??0)}),e.jsx(r,{label:"GQS",value:t.gqs_mean!=null?t.gqs_mean.toFixed(3):"—"}),e.jsx(r,{label:"Admin rank",value:t.admin_rank!=null?String(t.admin_rank):"—"}),e.jsx(r,{label:"Status",value:t.editor_choice?"Editor's Choice":t.is_featured?"Staff Pick":"—"})]}),e.jsx("div",{className:"flex items-center justify-end pt-2 border-t border-border",children:e.jsx(_,{game:o,variant:"floating"})})]})]}):e.jsxs("button",{type:"button",onClick:()=>a(!0),className:b("inline-flex items-center gap-2 rounded-full px-4 py-2 shadow-lg cursor-pointer","bg-foreground text-background hover:opacity-90 transition-opacity"),title:"Staff overlay",children:[e.jsx(c,{icon:["far","flask"]}),e.jsx("span",{className:"text-sm font-medium",children:"Staff"})]})})}function r({label:o,value:n}){return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("dt",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:o}),e.jsx("dd",{className:"text-sm font-mono",children:n})]})}function pe(){const o=y(),{slug:n}=k(),{t:a}=v("game"),{data:t,isLoading:l,isPlaceholderData:x,error:p}=C(n);if(l)return e.jsx(d,{footer:!1,children:e.jsx(A,{})});if(p||!t){const m=G(p),j=m?m.name?a("gameStore.gameRemovedNamed",{name:m.name,defaultValue:"{{name}} has been removed"}):a("gameStore.gameRemoved","This game has been removed"):a("gameStore.gameNotFound");return e.jsxs(d,{children:[e.jsxs(u,{children:[e.jsx("title",{children:`${j} | Tesana`}),e.jsx("meta",{name:"robots",content:"noindex, follow"})]}),e.jsx(T,{removal:m,mode:"page",prerenderError:!0})]})}const s=t.poster_image||t.title_poster_url||t.banner_url||t.banner_image_url||t.banner_image||S(t)||void 0,i=t.tagline||t.description?.slice(0,160)||a("gameStore.playOnTesana",{gameName:t.name}),g=t.canonical_slug||t.slug||n,f=o.replace(/\/game\/[^/]+\/?$/,()=>`/game/${g}`);return e.jsxs(d,{children:[e.jsxs(u,{children:[e.jsxs("title",{children:[t.name," | Tesana"]}),typeof window>"u"?"":e.jsx("link",{rel:"canonical",href:f}),t.should_index===!1&&e.jsx("meta",{name:"robots",content:"noindex,follow"}),e.jsx("meta",{name:"description",content:i}),e.jsx("meta",{property:"og:title",content:a("gameStore.ogTitle",{gameName:t.name})}),e.jsx("meta",{property:"og:description",content:i}),e.jsx("meta",{property:"og:type",content:"website"}),s&&e.jsx("meta",{property:"og:image",content:s}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:t.name}),e.jsx("meta",{name:"twitter:description",content:i}),s&&e.jsx("meta",{name:"twitter:image",content:s}),e.jsx("script",{type:"application/ld+json",children:JSON.stringify({"@context":"https://schema.org","@type":"VideoGame",name:t.name,description:t.description||i,author:{"@type":"Person",name:t.creator.username},datePublished:t.release_date||t.created_at,genre:t.classified_category?.name,image:s,interactionStatistic:{"@type":"InteractionCounter",interactionType:"https://schema.org/PlayAction",userInteractionCount:t.play_count||0}})})]}),e.jsx(N,{children:e.jsx(L,{game:t})}),e.jsx("main",{children:e.jsx(F,{game:t,mode:"page",bodyPending:x},t.id)})]})}export{pe 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.