PageSourceSearch

https://www.thedreambikecompetition.co.uk/_nuxt/B3gbEZIP.js

js thedreambikecompetition.co.uk collected 2026-09-24 14:09:36 UTC 8,800 bytes, 1 lines download raw bytes

1import{aS as P,co as s,aE as a,aB as o,aO as N,_ as I,dM as A,aM as E,d5 as b,F as h,cD as y,aD as _,aC as R,df as i,cd as M,aL as L,cz as T,cA as S,av as D,dz as W,C as B,aG as V,dr as G,dL as z,Q as F}from"./DQ0-OjHB.js";import{_ as U}from"./C0Qr11pc.js";import{f as K}from"./DY4FJXFG.js";import{T as $}from"./Cfmco9yR.js";import{G as O}from"./BNX6MGpl.js";import{f as Y}from"./Cgmg7mfY.js";import{u as H}from"./DdeJzLpI.js";import"./Bog5wQWf.js";(function(){try{var d=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};d.SENTRY_RELEASE={id:"856ea8a89609759cbc0129a94ad9628e840a24bc"};var c=new d.Error().stack;c&&(d._sentryDebugIds=d._sentryDebugIds||{},d._sentryDebugIds[c]="13890c7b-a80f-4a4e-b9a8-6802cb9becbd",d._sentryDebugIdIdentifier="sentry-dbid-13890c7b-a80f-4a4e-b9a8-6802cb9becbd")}catch{}})();const j={class:"ref-draw-result rounded-2xl bg-base border border-base-on-100 shadow-sm hover:shadow-md transition-shadow overflow-hidden"},Q={class:"px-5 md:px-6 pt-5 pb-4"},Z={class:"flex flex-col gap-2"},q={class:"text-sm md:text-[15px] font-semibold"},J={key:0,class:"text-sm text-base-on-500"},X={key:1,class:"ms-auto inline-flex items-center gap-1.5 text-xs font-bold px-2.5 py-1 rounded-full bg-primary/10 text-primary"},ee={key:0,class:"border-t border-base-on-100"},se=["onClick"],te={class:"flex items-center gap-2 min-w-0"},ae={class:"text-sm font-bold whitespace-nowrap"},ne={class:"text-xs font-semibold text-base-on-500 whitespace-nowrap"},oe={class:"flex items-center gap-1.5 text-xs font-bold text-primary shrink-0"},re={key:0,class:"bg-base-on-50 px-5 md:px-6 pb-5"},le={key:0,class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-2.5"},ie={key:1,class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-2.5"},de={class:"text-sm font-bold leading-tight"},ce={class:"text-xs text-base-on-500 truncate"},ue={key:0},be={key:0,class:"flex flex-wrap gap-1 mt-0.5"},pe=P({__name:"Card",props:{result:{},winsPerPage:{}},setup(d){const c=d,p=c.winsPerPage??40,l=T({instant:{open:!1,loading:!1,items:[],meta:null},bonus:{open:!1,loading:!1,items:[],meta:null}});function m(n){return n==="instant"?c.result.instantWinsCount:c.result.bonusWinsCount}async function C(n,t){const u=l[n];u.loading=!0;try{const f=await $fetch(`/api/draw-results/${c.result.slug}/wins`,{params:{type:n,page:t,perPage:p}});u.items=f.data??[],u.meta=f.meta??null}finally{u.loading=!1}}async function g(n){const t=l[n],u=l[n==="instant"?"bonus":"instant"];!t.open&&u.open&&(u.open=!1),t.open=!t.open,t.open&&!t.items.length&&!t.loading&&await C(n,1)}function w(n){return n.user?Y(n.user):"Unknown"}function x(n){return n.winningTickets?.length?n.winningTickets:n.ticketNumber!=null?[n.ticketNumber]:[]}function k(n){return Math.min(m(n),p)}return(n,t)=>{const u=I,f=U;return s(),a("article",j,[o("div",Q,[N(u,{to:`/raffles/${d.result.slug}`,class:"font-bold text-[1.05rem] md:text-lg leading-snug hover:text-primary transition-colors break-words w-fit block mb-3"},{default:A(()=>[E(b(d.result.title),1)]),_:1},8,["to"]),o("div",Z,[(s(!0),a(h,null,y(d.result.winners,e=>(s(),a("div",{key:`w-${e.id}`,class:"flex flex-wrap items-center gap-x-3 gap-y-1 rounded-xl bg-base-on-50 px-3.5 py-2.5"},[o("span",q,b(w(e)),1),e.location?(s(),a("span",J,b(e.location),1)):_("",!0),e.ticketNumber?(s(),a("span",X,[N($,{class:"h-3.5 w-3.5"}),E(" #"+b(e.ticketNumber),1)])):_("",!0)]))),128))])]),(s(),a(h,null,y(["instant","bonus"],e=>(s(),a(h,{key:e},[m(e)?(s(),a("div",ee,[o("button",{type:"button",class:M(["w-full flex items-center justify-between gap-3 px-5 md:px-6 py-3.5 transition-colors",i(l)[e].open?"bg-base-on-50":"hover:bg-base-on-50"]),onClick:r=>g(e)},[o("span",te,[e==="instant"?(s(),R(O,{key:0,class:"h-4 w-4 text-primary shrink-0"})):(s(),R($,{key:1,class:"h-4 w-4 text-primary shrink-0"})),o("span",ae,b(e==="instant"?"Instant Wins":"Bonus Wins"),1),o("span",ne,b(m(e))+" winners ",1)]),o("span",oe,[E(b(i(l)[e].open?"Hide":"View all")+" ",1),(s(),a("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",class:M(["h-4 w-4 transition-transform",i(l)[e].open?"rotate-180":""])},[...t[0]||(t[0]=[o("path",{"fill-rule":"evenodd",d:"M5.23 7.21a.75.75 0 0 1 1.06.02L10 11.168l3.71-3.938a.75.75 0 1 1 1.08 1.04l-4.25 4.5a.75.75 0 0 1-1.08 0l-4.25-4.5a.75.75 0 0 1 .02-1.06Z","clip-rule":"evenodd"},null,-1)])],2))])],10,se),i(l)[e].open?(s(),a("div",re,[i(l)[e].loading?(s(),a("div",le,[(s(!0),a(h,null,y(k(e),r=>(s(),a("div",{key:`skeleton-${r}`,class:"rounded-xl bg-base border border-base-on-100 px-3.5 py-3 flex flex-col gap-2 animate-pulse"},[...t[1]||(t[1]=[L('<div class="h-4 w-16 rounded bg-base-on-100"></div><div class="h-3 w-28 rounded bg-base-on-100"></div><div class="flex gap-1 mt-0.5">
1<div class="h-5 w-14 rounded-full bg-base-on-100"></div><div class="h-5 w-14 rounded-full bg-base-on-100"></div></div>',3)])]))),128))])):(s(),a("div",ie,[(s(!0),a(h,null,y(i(l)[e].items,r=>(s(),a("div",{key:r.id,class:"rounded-xl bg-base border border-base-on-100 px-3.5 py-3 flex flex-col gap-1.5"},[o("span",de,b(e==="bonus"?("formatCurrency"in n?n.formatCurrency:i(K))(r.prizeValue??0):r.prize||"Instant Win"),1),o("span",ce,[E(b(w(r)),1),r.location?(s(),a("span",ue," · "+b(r.location),1)):_("",!0)]),x(r).length?(s(),a("div",be,[(s(!0),a(h,null,y(x(r),v=>(s(),a("span",{key:v,class:"inline-flex items-center gap-1 text-[11px] font-bold px-2 py-0.5 rounded-full bg-base-on-50 border border-base-on-100 text-base-on-700"},[N($,{class:"h-3 w-3"}),E(" #"+b(v),1)]))),128))])):_("",!0)]))),128))])),(i(l)[e].meta?.last_page??1)>1?(s(),R(f,{key:2,model:i(l)[e].meta,class:"mt-5",onPageChange:r=>C(e,r)},null,8,["model","onPageChange"])):_("",!0)])):_("",!0)])):_("",!0)],64))),64))])}}});async function me(d=15){const c={},{data:p}=await H("draw-results-page-1",()=>$fetch("/api/draw-results",{headers:c,params:{page:1,perPage:d}})),l=S([]),m=S(p.value?.meta?.current_page??1),C=D(()=>p.value?.meta?.last_page??1),g=S(!1),w=D(()=>[...p.value?.data??[],...l.value]),x=D(()=>m.value<C.value);async function k(){if(!(g.value||!x.value)){g.value=!0;try{const t=await $fetch("/api/draw-results",{params:{page:m.value+1,perPage:d}});l.value.push(...t.data??[]),m.value=t.meta?.current_page??m.value+1}finally{g.value=!1}}}const n=D(()=>{const t=[],u=new Map;for(const f of w.value){const e=f.drawnAt?new Date(f.drawnAt):null,r=e?e.toISOString().slice(0,10):"unknown";let v=u.get(r);v===void 0&&(v=t.length,u.set(r,v),t.push({key:r,label:e?e.toLocaleDateString("en-GB",{weekday:"short",day:"numeric",month:"long",year:"numeric"}):"Earlier draws",results:[]})),t[v].results.push(f)}return t});return{results:w,groupedResults:n,hasMore:x,loadingMore:g,loadMore:k}}const fe={class:"bg-base-on-50 min-h-screen"},ge={key:0,class:"max-w-md mx-auto text-center py-16 px-8 rounded-2xl bg-base border border-base-on-100"},xe={key:1},_e={class:"inline-flex items-center text-xs md:text-sm font-bold uppercase tracking-widest text-base-on-700 mb-4 leading-none"},he={class:"flex flex-col gap-4"},we={key:0,class:"text-center mt-10"},ve=["disabled"],$e=P({__name:"draw-results",async setup(d){let c,p;const l=W(),m=B.FEATURES?.DRAW_RESULTS_ENABLED??"draw_results_enabled";if(!(l.getConfigByKey(m)==="true"))throw V({statusCode:404,statusMessage:"Page not found"});G({title:"Draw Results"});const{groupedResults:g,hasMore:w,loadingMore:x,loadMore:k}=([c,p]=z(()=>me()),c=await c,p(),c);return(n,t)=>{const u=pe,f=F;return s(),a("div",fe,[N(f,{class:"py-12 md:py-20"},{default:A(()=>[t[3]||(t[3]=o("div",{class:"text-center mb-12 md:mb-16"},[o("p",{class:"text-xs font-bold uppercase tracking-widest text-primary mb-3"}," Winners Archive "),o("h1",{class:"text-3xl md:text-5xl font-bold mb-4"}," Draw Results "),o("p",{class:"text-base-on-500 max-w-xl mx-auto"}," Every draw, every winner — updated as soon as each draw is complete. ")],-1)),i(g).length?(s(),a("div",xe,[(s(!0),a(h,null,y(i(g),e=>(s(),a("section",{key:e.key,class:"relative ps-6 md:ps-8 pb-10 border-s-2 border-base-on-200 last:border-s-transparent last:pb-0"},[t[2]||(t[2]=o("span",{class:"absolute -start-[9px] top-1 h-4 w-4 rounded-full bg-primary border-4 border-base ring-1 ring-base-on-200"},null,-1)),o("h2",_e,b(e.label),1),o("div",he,[(s(!0),a(h,null,y(e.results,r=>(s(),R(u,{key:r.id,result:r},null,8,["result"]))),128))])]))),128)),i(w)?(s(),a("div",we,[o("button",{type:"button",class:"btn btn-primary",disabled:i(x),onClick:t[0]||(t[0]=(...e)=>i(k)&&i(k)(...e))},b(i(x)?"Loading…":"Load More"),9,ve)])):_("",!0)])):(s(),a("div",ge,[...t[1]||(t[1]=[o("p",{class:"font-semibold mb-1"},"No draw results yet",-1),o("p",{class:"text-sm text-base-on-500"},"Check back after our next draw.",-1)])]))]),_:1})])}}});export{$e 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.