PageSourceSearch

https://cravetacoweek.app/assets/LeaderboardPage.98b0f6de.js

js cravetacoweek.app collected 2026-10-02 01:13:14 UTC 4,168 bytes, 1 lines download raw bytes

1import{Q as h}from"./QTab.957989a2.js";import{c as C}from"./QTabs.b0a7a7aa.js";import{cL as w,cM as x,bj as y,cN as P,_ as N,b4 as R,bm as V,aA as F,au as k,aO as Q,o,b5 as c,b6 as m,a as e,b7 as n,bf as A,bk as r,bu as B,bg as D,c as l,ba as d,bc as u,bd as E,bb as v,bw as M,bx as j,bA as U,b8 as W,b9 as O}from"./index.a841fdf7.js";import{F as q}from"./FWPage.d54977be.js";import{F as _}from"./FWEmptyState.74de5bcc.js";import{F as z}from"./FoodItemImage.41b109f2.js";import{P as G}from"./PassportTeaser.1fc070fa.js";import"./rtl.b98d0218.js";import"./FWCachedImage.d20d8866.js";import"./PunchCard.68c12bcd.js";import"./tierProgress.f4d5d20c.js";import"./stampMark.beb68749.js";const H=w("leaderboard",{state:()=>({leaderboard:null,loading:!1,error:!1}),getters:{enabled(t){var a;return((a=t.leaderboard)==null?void 0:a.enabled)===!0},topRated(t){var a;return((a=t.leaderboard)==null?void 0:a.topRated)??[]},mostStamped(t){var a;return((a=t.leaderboard)==null?void 0:a.mostStamped)??[]},length(t){var a;return x((a=t.leaderboard)==null?void 0:a.leaderboardLength)}},actions:{async fetch(){this.loading=!0,this.error=!1;try{const t={};({}).VITE_APP_ID?t.appId={}.VITE_APP_ID:t.source=await y().getAppId(),this.leaderboard=await P(t)}catch(t){console.error("[leaderboard] fetch failed",t),this.error=!0,this.leaderboard=null}finally{this.loading=!1}}}});const J={class:"leaderboard"},K={class:"body"},X={class:"fw-kicker cap"},Y={key:0,class:"entries"},Z={class:"rank"},$={class:"thumb"},aa={class:"detail"},ea={class:"name"},ta={class:"restaurant"},sa={class:"metric"},oa={class:"value"},ra={class:"sub"},na={class:"value"},da={class:"sub"},la=R({__name:"LeaderboardPage",setup(t){const a=H(),S=V(),b=y(),I=()=>{M.create({component:j})},i=F("topRated"),g=k(()=>i.value==="topRated"?a.topRated:a.mostStamped),L=k(()=>i.value==="topRated"?"No items have enough ratings yet. Check back soon.":"No stamps yet. Check back soon."),f=()=>{a.fetch()};return Q(f),(ia,p)=>{const T=U("router-link");return o(),c(q,{class:"leaderboard-page","use-card":!1},{default:m(()=>[e("div",J,[p[1]||(p[1]=e("header",{class:"fw-page-head head"},[e("p",{class:"fw-kicker"},"Standings"),e("h1",{class:"fw-title"},"Leaderboard")],-1)),n(C,{modelValue:i.value,"onUpdate:modelValue":p[0]||(p[0]=s=>i.value=s),class:"tabs",dense:"","active-color":"primary","indicator-color":"primary",align:"justify","narrow-indicator":""},{default:m(()=>[n(h,{name:"topRated",label:"Top Rated"}),n(h,{name:"mostStamped",label:"Most Stamped"})]),_:1},8,["modelValue"]),n(A),e("div",K,[n(B,{showing:r(a).loading},null,8,["showing"]),!r(a).loading&&r(a).error?(o(),c(_,{key:0,icon:"cloud_off",kicker:"Couldn\u2019t load",message:"The leaderboard didn\u2019t come back. Try again in a moment."},{action:m(()=>[n(D,{outline:"","no-caps":"",color:"primary",label:"Try again",onClick:f})]),_:1})):!r(a).loading&&!r(a).enabled?(o(),c(_,{key:1,icon:"leaderboard",message:"The leaderboard isn\u2019t available for this event."})):r(a).loading?v("",!0):(o(),l(u,{key:2},[e("p",X," Top "+d(r(a).length),1),g.value.length>0?(o(),l("ol",Y,[(o(!0),l(u,null,E(g.value,s=>(o(),l("li",{class:"entry",key:s.foodItemId},[n(T,{class:"entry-link",to:{name:"Item",params:{id:s.foodItemId}}},{default:m(()=>[e("span",Z,d(s.rank),1),e("span",$,[n(z,{src:s.imageUrl},null,8,["src"])]),e("span",aa,[e("span",ea,d(s.name),1),e("span",ta,d(s.restaurantName),1)]),e("span",sa,[i.value==="topRated"?(o(),l(u,{key:0},[e("span",oa,[n(W,{class:"star",name:"star"}),O(" "+d(s.averageLabel),1)]),e("span",ra,d(s.ratingCount)+" "+d(s.ratingCount===1?"rating":"ratings"),1)],64)):(o(),l(u,{key:1},[e("span",na,d(s.stampCount),1),e("span",da,d(s.stampCount===1?"stamp":"stamps"),1)],64))])]),_:2},1032,["to"])]))),128))])):(o(),c(_,{key:1,icon:"hourglass_empty",message:L.value},null,8,["message"])),r(S).isLoggedIn?v("",!0):(o(),c(G,{key:2,class:"board-teaser",variant:"compact",tiers:r(b).app.tiers,"signup-text":r(b).app.signupText,"food-name":r(b).app.foodName,"cta-label":"Start your passport",onSignup:I},null,8,["tiers","signup-text","food-name"]))],64))])])]),_:1})}}});var Sa=N(la,[["__scopeId","data-v-532d15f2"]]);export{Sa 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.