1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2896],{35479:e=>{e.exports={container:"LkZqIgx",centeredContent:"vjkke7j",logoTopRight:"CKbfH6b",clubName:"__2N6FjEq",titleRow:"Hp6K4HU",title:"_ZvnwCy",logo:"iawrLzl",divider:"yipLkdF",tableWrapper:"__3yJjP0g",tableHeader:"__99oJ8py",tableRow:"m9TCdeX",inProgress:"BI_eyKX",colTime:"rmGwiHA",colDuration:"SpPePw3",colClass:"i9wQEbK",colStudio:"ceDumoH",colInstructor:"__5dXRFGF",colAvailability:"nWkHyDn",colSpaces:"nsMCngH",loading:"UWzVosS",error:"__1PTsvTp",tableHeaderRow:"TzsOcIG",tableHeaderCell:"dI5jvnZ",colFull:"__8Qkk4zC",sessionId:"kxitIQF"}},82701:(e,t,a)=>{"use strict";a.d(t,{Fg:()=>g,WF:()=>c,Xt:()=>d,if:()=>v,rW:()=>l,yC:()=>o});var r=a(22154);let i={[r.cB.australia]:"Australia/Sydney",[r.cB.singapore]:"Asia/Singapore",[r.cB.thailand]:"Asia/Bangkok",[r.cB.qatar]:"Asia/Qatar",[r.cB.unitedKingdom]:"Europe/London"},n={[r.cB.australia]:"en-AU",[r.cB.singapore]:"en-SG",[r.cB.thailand]:"en-GB",[r.cB.qatar]:"en-GB",[r.cB.unitedKingdom]:"en-GB"},s=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?(?:\.\d+)?/;function l(e){return i[null!=e?e:(0,r.zj)().region]}function c(){let e=(0,r.zj)().region;return{timeZone:l(e),locale:n[null!=e?e:(0,r.zj)().region]}}function o(e,t){let a=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(e),r=e=>{var t,r;return null!=(r=null==(t=a.find(t=>t.type===e))?void 0:t.value)?r:""};return"".concat(r("year"),"-").concat(r("month"),"-").concat(r("day"))}function d(e,t){let[a,r,i]=e.split("-").map(Number);return new Date(Date.UTC(a,r-1,i+t)).toISOString().slice(0,10)}let u=e=>new Intl.DateTimeFormat("en-US",{timeZone:e,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),m=e=>{let t=t=>{var a;let r=Number(null==(a=e.find(e=>e.type===t))?void 0:a.value);return Number.isFinite(r)?r:0},a=t("hour");return{year:t("year"),month:t("month"),day:t("day"),hour:24===a?0:a,minute:t("minute"),second:t("second")}},h=e=>Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second);function g(e,t){var a;let r=s.exec(e);if(!r)return null;let i=Number(r[1]),n=Number(r[2]),l=Number(r[3]),c=Number(r[4]),o=Date.UTC(i,n-1,l,c,Number(r[5]),Number(null!=(a=r[6])?a:"0")),d=u(t),g=o+(e=>{let t=m(d.formatToParts(new Date(e)));return e-h(t)})(o),v=new Date(g+(o-h(m(d.formatToParts(new Date(g))))));return Number.isNaN(v.getTime())?null:v}function v(e,t,a){let r=e instanceof Date?e:g(e,a);return!r||Number.isNaN(r.getTime())?"":r.toLocaleTimeString(t,{hour:"numeric",minute:"2-digit",hour12:!0,timeZone:a})}},85948:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/totem/departureboard/[clubid]",function(){return a(99507)}])},99507:(e,t,a)=>{"use strict";a.r(t),a.d(t,{__N_SSP:()=>m,default:()=>h});var r=a(37876),i=a(89099),n=a(14232),s=a(35479),l=a.n(s);let c="va_session_id",o=()=>"xxxx-xxxx-4xxx-yxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),d=()=>{let[e,t]=(0,n.useState)("");return(0,n.useEffect)(()=>{let e=sessionStorage.getItem(c);e||(e=o(),sessionStorage.setItem(c,e)),t(e)},[]),e};var u=a(82701),m=!0;let h=()=>{let e=(0,i.useRouter)(),{clubid:t}
1=e.query,a=d(),[s,c]=(0,n.useState)([]),[o,m]=(0,n.useState)(""),[h,g]=(0,n.useState)(!0),[v,N]=(0,n.useState)(null),x=async()=>{try{let e=await fetch("/api/general/timetable/clubs?clubIds=".concat(t),{headers:{"X-Session-ID":a}});if(!e.ok)throw Error("Failed to fetch timetable");let r=await e.json(),{timeZone:i,locale:n}=(0,u.WF)(),s=new Date,l=(0,u.yC)(s,i),o=(r.classes||[]).map(e=>{let t=(0,u.Fg)(e.startTime,i),a=(0,u.Fg)(e.endTime,i);if(!t||!a)return null;let r=Math.round((a.getTime()-t.getTime())/6e4);return{start:t,end:a,isInProgress:s>=t&&s<=a,time:(0,u.if)(t,n,i),duration:r,className:e.activityName,studio:e.room||"",instructor:e.instructor||"",availability:"Available"===e.status?"SPACES":"FULL"}}).filter(e=>!!e&&(0,u.yC)(e.start,i)===l&&s<=e.end).sort((e,t)=>e.start.getTime()-t.start.getTime());c(o),N(null)}catch(e){N(e instanceof Error?e.message:"Unknown error occurred"),c([])}finally{g(!1)}},y=()=>{let e=new Date;c(t=>t.map(t=>({...t,isInProgress:e>=t.start&&e<=t.end})).filter(t=>e<=t.end))};(0,n.useEffect)(()=>{if(!e.isReady||!t||!a)return;x();let r=setInterval(x,6e5),i=setInterval(y,6e4);return()=>{clearInterval(r),clearInterval(i)}},[e.isReady,t,a]),(0,n.useEffect)(()=>{if(!e.isReady||!t)return;let a=!1;return(async()=>{try{var e;let r=await fetch("/api/general/clubs/details");if(!r.ok)throw Error("Failed to fetch clubs");let i=null==(e=(await r.json()).clubs)?void 0:e.find(e=>String(e.clubId)===String(t));a||m((null==i?void 0:i.name)||String(t))}catch(e){a||m(String(t))}})(),()=>{a=!0}},[e.isReady,t]);let b=o||String(t||"");return(0,r.jsxs)("div",{className:l().container,children:[(0,r.jsxs)("div",{className:l().centeredContent,children:[(0,r.jsx)("div",{className:l().clubName,children:b}),(0,r.jsxs)("div",{className:l().titleRow,children:[(0,r.jsx)("h1",{className:l().title,children:"What's on"}),(0,r.jsx)("img",{src:"/img/virgin-red.svg",alt:"Virgin Active",className:l().logo})]}),(0,r.jsx)("hr",{className:l().divider}),(0,r.jsxs)("div",{className:l().tableWrapper,children:[(0,r.jsxs)("div",{className:l().tableHeaderRow,children:[(0,r.jsx)("div",{className:l().colTime,children:"TIME"}),(0,r.jsx)("div",{className:l().colDuration,children:"DURATION"}),(0,r.jsx)("div",{className:l().colClass,children:"CLASS"}),(0,r.jsx)("div",{className:l().colStudio,children:"STUDIO"}),(0,r.jsx)("div",{className:l().colInstructor,children:"INSTRUCTOR"}),(0,r.jsx)("div",{className:l().colSpaces,children:"AVAILABILITY"})]}),(0,r.jsx)("div",{className:l().tableBody,children:h?(0,r.jsx)("div",{className:l().loading,children:"Loading..."}):v?(0,r.jsxs)("div",{className:l().error,children:["Error: ",v]}):s.map((e,t)=>(0,r.jsxs)("div",{className:"".concat(l().tableRow," ").concat(e.isInProgress?l().inProgress:""),children:[(0,r.jsx)("div",{className:l().colTime,children:e.time||"\xa0"}),(0,r.jsx)("div",{className:l().colDuration,children:e.duration||"\xa0"}),(0,r.jsx)("div",{className:l().colClass,children:e.className||"\xa0"}),(0,r.jsx)("div",{className:l().colStudio,children:e.studio||"\xa0"}),(0,r.jsx)("div",{className:l().colInstructor,children:e.instructor||"\xa0"}),(0,r.jsx)("div",{className:l().colSpaces,children:e.isInProgress?"IN PROGRESS":e.availability||"\xa0"})]},t))})]})]}),a&&(0,r.jsx)("div",{className:l().sessionId,children:a})]})}}},e=>{var t=t=>e(e.s=t);e.O(0,[636,6593,8792],()=>t(85948)),_N_E=e.O()}]);
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.