/* — Schedule Table Styling — */
.master-schedule-container {
font-family: ‘Newsreader’, serif;
margin: 20px 0;
color: #333;
}
.master-schedule-container h3 {
text-align: center;
font-weight: 700;
font-size: 2em;
margin-bottom: 25px;
color: #1a1a1a;
}
.master-schedule {
width: 100%;
border-collapse: collapse;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
border: 1px solid #ddd;
}
.master-schedule th, .master-schedule td {
padding: 14px 18px;
text-align: left;
border-bottom: 1px solid #e0e0e0;
font-size: 1.05em;
}
.master-schedule th {
/* Primary Branding Color */
background-color: #e3d4ad;
color: #1a1a1a;
text-transform: uppercase;
letter-spacing: 0.05em;
font-weight: 700;
border-bottom: 2px solid #ccb98a;
}
.master-schedule tr:nth-child(even) {
background-color: #fcfcfc;
}
.master-schedule tr:hover {
background-color: #f4f0e6;
}
.master-schedule td:nth-child(1) { font-weight: 700; white-space: nowrap; } /* Date */
.master-schedule td:nth-child(3),
.master-schedule td:nth-child(4) { font-weight: 500; } /* Teams */
/* Responsive Adjustments */
@media screen and (max-width: 600px) {
.master-schedule { display: block; overflow-x: auto; }
}
New England Baseball Master Schedule (2026)
| Date |
Time |
Away Team |
Home Team |
Location |
| Loading schedule… |
(function() {
// — Configuration: Source Links —
// The schedule data below has been populated based on these 2026 data sources:
const SCHEDULE_SOURCES = {
holyCross: “
https://goholycross.com/services/schedule_txt.ashx?schedule=552”,
bostonCollege: “
https://bceagles.com/sports/baseball/schedule/text”,
uconn: “
https://uconnhuskies.com/sports/baseball/schedule/text”
};
// — 2026 Season Data —
const rawSchedules = [
// — UConn Huskies (2026) —
{ team: “UConn”, date: “2026-02-13”, time: “TBA”, opponent: “vs MLB Desert Inv.”, location: “Scottsdale, AZ” },
{ team: “UConn”, date: “2026-02-14”, time: “TBA”, opponent: “vs MLB Desert Inv.”, location: “Scottsdale, AZ” },
{ team: “UConn”, date: “2026-02-15”, time: “TBA”, opponent: “vs MLB Desert Inv.”, location: “Scottsdale, AZ” },
{ team: “UConn”, date: “2026-02-17”, time: “8:35 PM”, opponent: “at Arizona State”, location: “Phoenix, AZ” },
{ team: “UConn”, date: “2026-02-19”, time: “8:00 PM”, opponent: “at Arizona”, location: “Tucson, AZ” },
{ team: “UConn”, date: “2026-02-20”, time: “8:00 PM”, opponent: “at Arizona”, location: “Tucson, AZ” },
{ team: “UConn”, date: “2026-02-21”, time: “TBA”, opponent: “at Arizona”, location: “Tucson, AZ” },
{ team: “UConn”, date: “2026-02-22”, time: “TBA”, opponent: “at Arizona”, location: “Tucson, AZ” },
{ team: “UConn”, date: “2026-02-27”, time: “4:00 PM”, opponent: “at UNCW”, location: “Wilmington, NC” },
{ team: “UConn”, date: “2026-02-28”, time: “4:00 PM”, opponent: “at UNCW”, location: “Wilmington, NC” },
{ team: “UConn”, date: “2026-03-01”, time: “1:00 PM”, opponent: “at UNCW”, location: “Wilmington, NC” },
{ team: “UConn”, date: “2026-03-03”, time: “3:00 PM”, opponent: “New Haven”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-03-06”, time: “3:00 PM”, opponent: “at Old Dominion”, location: “Norfolk, VA” },
{ team: “UConn”, date: “2026-03-07”, time: “2:00 PM”, opponent: “at Old Dominion”, location: “Norfolk, VA” },
{ team: “UConn”, date: “2026-03-08”, time: “1:00 PM”, opponent: “at Old Dominion”, location: “Norfolk, VA” },
{ team: “UConn”, date: “2026-03-10”, time: “3:00 PM”, opponent: “Boston College”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-03-13”, time: “6:00 PM”, opponent: “at Portland”, location: “Portland, OR” },
{ team: “UConn”, date: “2026-03-14”, time: “1:00 PM”, opponent: “at Portland”, location: “Portland, OR” },
{ team: “UConn”, date: “2026-03-15”, time: “12:00 PM”, opponent: “at Portland”, location: “Portland, OR” },
{ team: “UConn”, date: “2026-03-17”, time: “6:00 PM”, opponent: “at California”, location: “Berkeley, CA” },
{ team: “UConn”, date: “2026-03-18”, time: “TBA”, opponent: “at Santa Clara”, location: “Santa Clara, CA” },
{ team: “UConn”, date: “2026-03-20”, time: “1:00 PM”, opponent: “at San Jose State”, location: “San Jose, CA” },
{ team: “UConn”, date: “2026-03-21”, time: “12:00 PM”, opponent: “vs San Diego State”, location: “San Jose, CA” },
{ team: “UConn”, date: “2026-03-22”, time: “3:00 PM”, opponent: “at San Jose State”, location: “San Jose, CA” },
{ team: “UConn”, date: “2026-03-25”, time: “3:00 PM”, opponent: “Quinnipiac”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-03-27”, time: “TBA”, opponent: “Xavier”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-03-28”, time: “2:00 PM”, opponent: “Xavier”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-03-29”, time: “12:00 PM”, opponent: “Xavier”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-03-31”, time: “TBA”, opponent: “at Northeastern”, location: “Boston, MA” },
{ team: “UConn”, date: “2026-04-02”, time: “6:00 PM”, opponent: “Creighton”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-04-03”, time: “6:00 PM”, opponent: “Creighton”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-04-04”, time: “12:00 PM”, opponent: “Creighton”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-04-07”, time: “TBA”, opponent: “at Bryant”, location: “Smithfield, RI” },
{ team: “UConn”, date: “2026-04-10”, time: “3:00 PM”, opponent: “at Butler”, location: “Indianapolis, IN” },
{ team: “UConn”, date: “2026-04-11”, time: “2:00 PM”, opponent: “at Butler”, location: “Indianapolis, IN” },
{ team: “UConn”, date: “2026-04-12”, time: “12:00 PM”, opponent: “at Butler”, location: “Indianapolis, IN” },
{ team: “UConn”, date: “2026-04-15”, time: “TBA”, opponent: “at Boston College”, location: “Brighton, MA” },
{ team: “UConn”, date: “2026-04-17”, time: “6:00 PM”, opponent: “St. John’s”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-04-18”, time: “2:00 PM”, opponent: “St. John’s”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-04-19”, time: “1:00 PM”, opponent: “St. John’s”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-04-21”, time: “TBA”, opponent: “Rhode Island”, location: “Hartford, CT” },
{ team: “UConn”, date: “2026-04-24”, time: “TBA”, opponent: “at Georgetown”, location: “Washington, D.C.” },
{ team: “UConn”, date: “2026-04-25”, time: “TBA”, opponent: “at Georgetown”, location: “Washington, D.C.” },
{ team: “UConn”, date: “2026-04-26”, time: “TBA”, opponent: “at Georgetown”, location: “Washington, D.C.” },
{ team: “UConn”, date: “2026-04-28”, time: “3:00 PM”, opponent: “at Rutgers”, location: “Piscataway, NJ” },
{ team: “UConn”, date: “2026-05-01”, time: “6:00 PM”, opponent: “ETSU”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-05-02”, time: “2:00 PM”, opponent: “ETSU”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-05-03”, time: “1:00 PM”, opponent: “ETSU”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-05-08”, time: “TBA”, opponent: “at Seton Hall”, location: “South Orange, NJ” },
{ team: “UConn”, date: “2026-05-09”, time: “TBA”, opponent: “at Seton Hall”, location: “South Orange, NJ” },
{ team: “UConn”, date: “2026-05-10”, time: “TBA”, opponent: “at Seton Hall”, location: “South Orange, NJ” },
{ team: “UConn”, date: “2026-05-12”, time: “6:00 PM”, opponent: “Northeastern”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-05-14”, time: “6:00 PM”, opponent: “Villanova”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-05-15”, time: “6:00 PM”, opponent: “Villanova”, location: “Storrs, CT” },
{ team: “UConn”, date: “2026-05-16”, time: “1:00 PM”, opponent: “Villanova”, location: “Storrs, CT” },
// — Boston College Eagles (2026) —
{ team: “Boston College”, date: “2026-02-13”, time: “TBA”, opponent: “vs Seton Hall”, location: “Ponce, PR” },
{ team: “Boston College”, date: “2026-02-14”, time: “TBA”, opponent: “vs Houston”, location: “Ponce, PR” },
{ team: “Boston College”, date: “2026-02-15”, time: “TBA”, opponent: “vs Washington”, location: “Ponce, PR” },
{ team: “Boston College”, date: “2026-02-20”, time: “TBA”, opponent: “vs La Salle”, location: “Spartanburg, SC” },
{ team: “Boston College”, date: “2026-02-21”, time: “TBA”, opponent: “vs Northwestern”, location: “Spartanburg, SC” },
{ team: “Boston College”, date: “2026-02-22”, time: “TBA”, opponent: “vs Cornell”, location: “Spartanburg, SC” },
{ team: “Boston College”, date: “2026-02-24”, time: “TBA”, opponent: “Merrimack”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-02-27”, time: “TBA”, opponent: “at Florida Gulf Coast”, location: “Fort Myers, FL” },
{ team: “Boston College”, date: “2026-02-28”, time: “TBA”, opponent: “at Florida Gulf Coast”, location: “Fort Myers, FL” },
{ team: “Boston College”, date: “2026-03-01”, time: “TBA”, opponent: “at Florida Gulf Coast”, location: “Fort Myers, FL” },
{ team: “Boston College”, date: “2026-03-03”, time: “TBA”, opponent: “at FIU”, location: “Miami, FL” },
{ team: “Boston College”, date: “2026-03-04”, time: “TBA”, opponent: “at FIU”, location: “Miami, FL” },
{ team: “Boston College”, date: “2026-03-06”, time: “TBA”, opponent: “at Miami”, location: “Coral Gables, FL” },
{ team: “Boston College”, date: “2026-03-07”, time: “TBA”, opponent: “at Miami”, location: “Coral Gables, FL” },
{ team: “Boston College”, date: “2026-03-08”, time: “TBA”, opponent: “at Miami”, location: “Coral Gables, FL” },
{ team: “Boston College”, date: “2026-03-10”, time: “TBA”, opponent: “at UConn”, location: “Storrs, CT” },
{ team: “Boston College”, date: “2026-03-13”, time: “6:00 PM”, opponent: “at NC State”, location: “Raleigh, NC” },
{ team: “Boston College”, date: “2026-03-14”, time: “3:00 PM”, opponent: “at NC State”, location: “Raleigh, NC” },
{ team: “Boston College”, date: “2026-03-15”, time: “1:00 PM”, opponent: “at NC State”, location: “Raleigh, NC” },
{ team: “Boston College”, date: “2026-03-17”, time: “TBA”, opponent: “Sacred Heart”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-18”, time: “TBA”, opponent: “UMass Lowell”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-20”, time: “TBA”, opponent: “California”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-21”, time: “TBA”, opponent: “California”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-22”, time: “TBA”, opponent: “California”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-24”, time: “TBA”, opponent: “Maine”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-25”, time: “TBA”, opponent: “Merrimack”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-27”, time: “TBA”, opponent: “Virginia”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-28”, time: “TBA”, opponent: “Virginia”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-29”, time: “TBA”, opponent: “Virginia”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-03-31”, time: “TBA”, opponent: “at Northeastern”, location: “Boston, MA” },
{ team: “Boston College”, date: “2026-04-02”, time: “6:00 PM”, opponent: “at North Carolina”, location: “Chapel Hill, NC” },
{ team: “Boston College”, date: “2026-04-03”, time: “6:00 PM”, opponent: “at North Carolina”, location: “Chapel Hill, NC” },
{ team: “Boston College”, date: “2026-04-04”, time: “2:00 PM”, opponent: “at North Carolina”, location: “Chapel Hill, NC” },
{ team: “Boston College”, date: “2026-04-07”, time: “TBA”, opponent: “Beanpot Round 1”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-08”, time: “TBA”, opponent: “Dartmouth”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-10”, time: “TBA”, opponent: “Virginia Tech”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-11”, time: “TBA”, opponent: “Virginia Tech”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-12”, time: “TBA”, opponent: “Virginia Tech”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-14”, time: “TBA”, opponent: “Beanpot Round 2”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-15”, time: “TBA”, opponent: “UConn”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-17”, time: “TBA”, opponent: “Duke”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-18”, time: “TBA”, opponent: “Duke”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-19”, time: “TBA”, opponent: “Duke”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-21”, time: “TBA”, opponent: “Maine”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-04-24”, time: “TBA”, opponent: “at Notre Dame”, location: “South Bend, IN” },
{ team: “Boston College”, date: “2026-04-25”, time: “TBA”, opponent: “at Notre Dame”, location: “South Bend, IN” },
{ team: “Boston College”, date: “2026-04-26”, time: “TBA”, opponent: “at Notre Dame”, location: “South Bend, IN” },
{ team: “Boston College”, date: “2026-04-28”, time: “TBA”, opponent: “at UMass Lowell”, location: “Lowell, MA” },
{ team: “Boston College”, date: “2026-05-01”, time: “6:00 PM”, opponent: “at Clemson”, location: “Clemson, SC” },
{ team: “Boston College”, date: “2026-05-02”, time: “2:00 PM”, opponent: “at Clemson”, location: “Clemson, SC” },
{ team: “Boston College”, date: “2026-05-03”, time: “1:00 PM”, opponent: “at Clemson”, location: “Clemson, SC” },
{ team: “Boston College”, date: “2026-05-09”, time: “TBA”, opponent: “NJIT”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-05-10”, time: “TBA”, opponent: “NJIT”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-05-12”, time: “TBA”, opponent: “UMass Lowell”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-05-14”, time: “TBA”, opponent: “Georgia Tech”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-05-15”, time: “TBA”, opponent: “Georgia Tech”, location: “Brighton, MA” },
{ team: “Boston College”, date: “2026-05-16”, time: “TBA”, opponent: “Georgia Tech”, location: “Brighton, MA” },
// — Holy Cross Crusaders (2026) —
{ team: “Holy Cross”, date: “2026-02-13”, time: “1:30 PM”, opponent: “at VCU”, location: “Richmond, VA” },
{ team: “Holy Cross”, date: “2026-02-14”, time: “11:00 AM”, opponent: “at VCU (DH)”, location: “Richmond, VA” },
{ team: “Holy Cross”, date: “2026-02-14”, time: “3:00 PM”, opponent: “at VCU (DH)”, location: “Richmond, VA” },
{ team: “Holy Cross”, date: “2026-02-15”, time: “12:00 PM”, opponent: “at VCU”, location: “Richmond, VA” },
{ team: “Holy Cross”, date: “2026-02-20”, time: “TBA”, opponent: “at FIU”, location: “Miami, FL” },
{ team: “Holy Cross”, date: “2026-02-21”, time: “TBA”, opponent: “at FIU”, location: “Miami, FL” },
{ team: “Holy Cross”, date: “2026-02-22”, time: “TBA”, opponent: “at FIU”, location: “Miami, FL” },
{ team: “Holy Cross”, date: “2026-02-27”, time: “TBA”, opponent: “at Seattle”, location: “Seattle, WA” },
{ team: “Holy Cross”, date: “2026-02-28”, time: “TBA”, opponent: “at Seattle”, location: “Seattle, WA” },
{ team: “Holy Cross”, date: “2026-03-01”, time: “TBA”, opponent: “at Seattle”, location: “Seattle, WA” },
{ team: “Holy Cross”, date: “2026-03-02”, time: “TBA”, opponent: “at Seattle”, location: “Seattle, WA” },
{ team: “Holy Cross”, date: “2026-03-05”, time: “9:00 PM”, opponent: “at Portland”, location: “Portland, OR” },
{ team: “Holy Cross”, date: “2026-03-06”, time: “9:00 PM”, opponent: “at Portland”, location: “Portland, OR” },
{ team: “Holy Cross”, date: “2026-03-07”, time: “6:00 PM”, opponent: “at Portland”, location: “Portland, OR” },
{ team: “Holy Cross”, date: “2026-03-08”, time: “3:00 PM”, opponent: “at Portland”, location: “Portland, OR” },
{ team: “Holy Cross”, date: “2026-03-10”, time: “TBA”, opponent: “at UMass”, location: “Amherst, MA” },
{ team: “Holy Cross”, date: “2026-03-13”, time: “4:00 PM”, opponent: “at Army West Point”, location: “West Point, NY” },
{ team: “Holy Cross”, date: “2026-03-14”, time: “2:00 PM”, opponent: “at Army West Point”, location: “West Point, NY” },
{ team: “Holy Cross”, date: “2026-03-15”, time: “1:00 PM”, opponent: “at Army West Point”, location: “West Point, NY” },
{ team: “Holy Cross”, date: “2026-03-17”, time: “3:00 PM”, opponent: “at Bryant”, location: “Smithfield, RI” },
{ team: “Holy Cross”, date: “2026-03-21”, time: “TBA”, opponent: “at Lehigh (DH)”, location: “Bethlehem, PA” },
{ team: “Holy Cross”, date: “2026-03-21”, time: “TBA”, opponent: “at Lehigh (DH)”, location: “Bethlehem, PA” },
{ team: “Holy Cross”, date: “2026-03-22”, time: “TBA”, opponent: “at Lehigh”, location: “Bethlehem, PA” },
{ team: “Holy Cross”, date: “2026-03-24”, time: “5:00 PM”, opponent: “Harvard”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-03-27”, time: “TBA”, opponent: “Lafayette”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-03-28”, time: “TBA”, opponent: “Lafayette”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-03-29”, time: “TBA”, opponent: “Lafayette”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-03-31”, time: “TBA”, opponent: “at Merrimack”, location: “North Andover, MA” },
{ team: “Holy Cross”, date: “2026-04-04”, time: “TBA”, opponent: “Army West Point (DH)”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-04”, time: “TBA”, opponent: “Army West Point (DH)”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-05”, time: “TBA”, opponent: “Army West Point”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-07”, time: “TBA”, opponent: “Stonehill”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-10”, time: “3:30 PM”, opponent: “at Bucknell”, location: “Lewisburg, PA” },
{ team: “Holy Cross”, date: “2026-04-11”, time: “12:00 PM”, opponent: “at Bucknell (DH)”, location: “Lewisburg, PA” },
{ team: “Holy Cross”, date: “2026-04-11”, time: “2:30 PM”, opponent: “at Bucknell (DH)”, location: “Lewisburg, PA” },
{ team: “Holy Cross”, date: “2026-04-12”, time: “1:00 PM”, opponent: “at Bucknell”, location: “Lewisburg, PA” },
{ team: “Holy Cross”, date: “2026-04-14”, time: “4:00 PM”, opponent: “at Brown”, location: “Providence, RI” },
{ team: “Holy Cross”, date: “2026-04-17”, time: “TBA”, opponent: “Navy”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-18”, time: “TBA”, opponent: “Navy (DH)”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-18”, time: “TBA”, opponent: “Navy (DH)”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-19”, time: “TBA”, opponent: “Navy”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-21”, time: “TBA”, opponent: “at Dartmouth”, location: “Hanover, NH” },
{ team: “Holy Cross”, date: “2026-04-25”, time: “TBA”, opponent: “Lehigh”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-26”, time: “TBA”, opponent: “Lehigh”, location: “Worcester, MA” },
{ team: “Holy Cross”, date: “2026-04-29”, time: “TBA”, opponent: “at Bryant”, location: “Smithfield, RI” },
{ team: “Holy Cross”, date: “2026-05-02”, time: “TBA”, opponent: “at Lafayette”, location: “Easton, PA” },
{ team: “Holy Cross”, date: “2026-05-03”, time: “TBA”, opponent: “at Lafayette”, location: “Easton, PA” },
];
function normalizeAndParseGame(game) {
const dateTimeString = `${game.date} ${game.time}`;
let sortDate;
try {
sortDate = new Date(dateTimeString);
if (isNaN(sortDate)) {
sortDate = new Date(game.date.replace(/(\d{4})-(\d{2})-(\d{2})/, ‘$2/$3/$1’) + ‘ ‘ + game.time);
}
} catch (e) {
// Fallback for TBA dates/times
sortDate = new Date(game.date + ” 23:59:59″);
}
const isAway = game.opponent.toLowerCase().startsWith(‘at ‘);
const cleanOpponent = game.opponent.replace(/^(at|vs)\s+/i, ”).trim();
// Determine Home/Away for the columns
let awayTeam, homeTeam;
if (isAway) {
awayTeam = game.team;
homeTeam = cleanOpponent;
} else {
// “vs” or no prefix usually implies Home or Neutral
awayTeam = cleanOpponent;
homeTeam = game.team;
}
return {
sortDate: sortDate,
date: new Intl.DateTimeFormat(‘en-US’, { month: ‘short’, day: ‘numeric’ }).format(sortDate),
time: game.time,
awayTeam: awayTeam,
homeTeam: homeTeam,
location: game.location
};
}
function sortSchedule(schedule) {
return schedule.sort((a, b) => {
if (a.sortDate
b.sortDate) return 1;
return 0;
});
}
function renderSchedule(schedule) {
const tableBody = document.getElementById(‘masterScheduleTable’).querySelector(‘tbody’);
if (!tableBody) return;
tableBody.innerHTML = ”;
if (schedule.length === 0) {
tableBody.innerHTML = ‘| No upcoming games found. |
‘;
return;
}
schedule.forEach(game => {
const row = tableBody.insertRow();
row.innerHTML = `
${game.date} |
${game.time} |
${game.awayTeam} |
${game.homeTeam} |
${game.location} |
`;
});
}
const normalizedSchedule = rawSchedules.map(normalizeAndParseGame);
const sortedSchedule = sortSchedule(normalizedSchedule);
renderSchedule(sortedSchedule);
})();