const ribbonHostID = 6146;document.getElementById( "ribbon-content", ).innerHTML = `
`; function detectMob() { const toMatch = [/Android/i, /webOS/i, /iPhone/i, /iPad/i, /iPod/i, /BlackBerry/i, /Windows Phone/i]; return toMatch.some((toMatchItem) => { return ( navigator.userAgent.match(toMatchItem) || (navigator.userAgent.includes("Mac") && "ontouchend" in document) ); }); } function formatAMPM(date) { var hours = date.getHours(); var minutes = date.getMinutes(); var ampm = hours >= 12 ? "pm" : "am"; hours = hours % 12; hours = hours ? hours : 12; // the hour '0' should be '12' minutes = minutes < 10 ? "0" + minutes : minutes; var strTime = hours + ":" + minutes + " " + ampm; return strTime; } const weekdays = ["", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]; let ribbonCart = []; const undoRibbonCart = () => `https://momence.com/cart/${ribbonCart.map((el) => `${el}`)}`; window.addEventListener("load", async () => { var script = document.createElement("script"); script.src = "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.7.0/moment.min.js"; document.head.appendChild(script); // fetch sessions try { call = await fetch("https://api.momence.com/api/getLatest?h=" + ribbonHostID).then((response) => response.json(), ); } catch (err) { console.log(err); } const teachers = call.teachers; const ticketsSold = call.ticketsSold; const isStudio = call.isStudio; call = call.data; console.log(isStudio); let output = []; const existingDays = []; const grouped = {}; call.forEach((session) => { const day = moment(session.date_string).format("YYYY-MM-DD"); const identifier = moment(session.date_string).format("YYYY-MM-DD HH:mm"); if (!existingDays.includes(day)) { existingDays.push(day); session.identifier = identifier; grouped[day] = [session]; } else { session.identifier = identifier; grouped[day].push(session); } }); const indexes = Object.keys(grouped); indexes.forEach((group) => { const groupObject = {}; const currentGroup = grouped[group]; groupObject.weekDay = weekdays[moment(currentGroup[0].identifier).isoWeekday()]; groupObject.day = moment(currentGroup[0].identifier).format("MMMM Do"); const sessionsArray = []; currentGroup.forEach((session) => { const sessionObject = {}; moment(session.date_string).format("h:mma"); sessionObject.title = session.session_name; sessionObject.duration = session.duration_minutes; sessionObject.level = // eslint-disable-next-line session.level !== null ? session.level : session.description; sessionObject.id = session.id; sessionObject.location = session.in_person ? session.location : null; sessionObject.isFull = session.capacity !== null && session.capacity !== "" && ticketsSold[session.id] >= session.capacity; sessionObject.bannerImage = session.top_image1; sessionObject.teacher = session.teacher_id !== null ? teachers[session.teacher_id] : null; sessionObject.time = session.date_string; sessionsArray.push(sessionObject); }); groupObject.sessions = sessionsArray; output.push(groupObject); }); const sessions = output; const hasAllowedCheckout = call.hasAllowedCheckout; console.log(sessions); // update DOM let session; let totalHtml = ""; if (hasAllowedCheckout) { document.getElementById("ribbon-cart-checkout").style.cssText = "padding-top:10px;display:flex;flex-direction:row;align-items:center;font-size:15px;margin-bottom:30px;"; document.getElementById( "ribbon-cart-checkout", ).innerHTML = ` Buy session(s)