$localTime
function buildScheduleRow(show, stationTimezone)
const row = document.createElement(“a”);
row.href = `https://www.audacy.com/stations/$stationSlug`;
row.className = “player-item”;
const startIso = show.startDateTime;
const endIso = show.endDateTime;
const startDayLocal = getLocalDateInTimezone(startIso, stationTimezone);
const endDayLocal = getLocalDateInTimezone(endIso, stationTimezone);
const todayLocal = getTodayInTimezone(stationTimezone);
let label = formatTime(startIso, stationTimezone);
if (show.isOnNow)
label = “On Air Now”;
else if (startDayLocal !== todayLocal && endDayLocal === todayLocal)
label = `Until $formatTime(endIso, stationTimezone)`;
row.innerHTML = `
$
$formatTime(startIso, stationTimezone)
`;
return row;
const isNumericValue = (value) =>
return typeof value === “string”
? value.trim() !== “” && !isNaN(Number(value.trim()))
: typeof value === “number” && !isNaN(value);
;
async function loadMusicBar()
let apiUrl = `https://api.audacy.com/experience/v2/stations/$a2Id/nowplaying?count=$song_count`;
if(isNumericValue(awId))
apiUrl=`https://api-nowplaying.amperwave.net/api/v1/prtplus/nowplaying/$song_count/$awId/nowplaying.json`
console.log(apiUrl);
try [];
document.dispatchEvent(new Event(‘performances:ready’));
if (!window.performances.length) return;
const first = window.performances[0];
currentTrackEl.textContent = `$first.artist – $first.title`;
if (dropdownTitleEl) dropdownTitleEl.textContent = “Recently Played”;
listEl.innerHTML = “”;
window.performances.slice(0, 20).forEach(item =>
listEl.appendChild(buildMusicRow(item));
);
playerBar.classList.remove(“hidden”);
catch (err)
console.error(“Now Playing API error:”, err);
async function loadScheduleBar()
const baseDate = new Date();
const startWindow = new Date(baseDate);
const endWindow = new Date(baseDate);
startWindow.setDate(baseDate.getDate() – 1);
endWindow.setDate(baseDate.getDate() + 2);
const startDateStr = formatDate(startWindow);
const endDateStr = formatDate(endWindow);
const apiUrl = `https://api.audacy.com/experience/v2/stations/$stationId/schedules?startDate=$startDateStr&endDate=$endDateStr&timezone=UTC`;
try [];
if (!occurrences.length) return;
const stationTimezone = occurrences[0].timezone catch (err)
console.error(“Schedule API error:”, err);
if (stationType === “music”)
loadMusicBar();
else if (stationType === “sports” || stationType === “news”)
loadScheduleBar();
const playerContent = document.querySelector(“.player-content”);
if (playerContent)
playerContent.addEventListener(“click”, function ()
playerContent.classList.toggle(“visible”);
);

