Canadiens defenceman David Savard returns to lineup vs. Stars

Canadiens defenceman David Savard returns to lineup vs. Stars

 The team announced that defenceman David Savard is set to return to the lineup on Saturday as they take on the Dallas Stars. 

The scorching Montreal Canadiens are getting a big boost to their blue line.

The team announced that defenceman David Savard is set to return to the lineup on Saturday as the Canadiens take on the Dallas Stars.

Savard has missed the team’s last four games with a lingering upper-body issue and didn’t travel with the team for Friday’s matchup against the Washington Capitals.

The 34-year-old has been a solid presence on the team’s backline this season, tallying one goal and nine assists in 35 outings. He is averaging 18:37 of time on ice, good for fifth among the team’s defencemen.

Savard is set to become an unrestricted free agent at the end of this season.

Montreal has been on a hot streak of late, winning its last three games and eight of its last 10.

Puck drops against the Stars at 7 p.m. ET / 4 p.m. PT. Catch the action on Sportsnet East or stream on Sportsnet+.

if (!res.ok) {
throw new Error(‘Failed to fetch odds data’);
}

const data = await res.json();
const oddsData = data?.data?.game?.details?.current_line;
const visitingTeam = data?.data?.game?.visiting_team;
const visitingTeamLogo = data?.data?.game?.visiting_team?.image_url_90;
const homeTeam = data?.data?.game?.home_team;
const homeTeamLogo = data?.data?.game?.home_team?.image_url_90;
const gameTimestamp = data?.data?.game?.details?.timestamp;

return { oddsData, visitingTeam, visitingTeamLogo, homeTeam, homeTeamLogo, gameTimestamp };
}

async function renderBetMGM(componentId, league, gameId) {
let oddsData, visitingTeam, visitingTeamLogo, homeTeam, homeTeamLogo, gameTimestamp, error;

const container = document.getElementById(componentId + ‘-odds’);
if (!container) return;

try {
({ oddsData, visitingTeam, visitingTeamLogo, homeTeam, homeTeamLogo, gameTimestamp } = await fetchOddsData(league, gameId));
} catch (err) {
error = err.message;
}

if (error) {
container.innerHTML = `

Error: ${error}

`;
return;
}

if (!oddsData) {
container.innerHTML = `

Odds data not available

`;
return;
}

let gameDate = new Date(gameTimestamp * 1000);
const gameDateFormatted = gameDate.toLocaleDateString(‘en-US’, { year: ‘numeric’, month: ‘long’, day: ‘numeric’ });

container.innerHTML = `

BetMGM Odds
Moneyline
${visitingTeam.short_name}
${oddsData.away_money > 0 ? `+${oddsData.away_money}` : oddsData.away_money}
${homeTeam.short_name}
${oddsData.home_money > 0 ? `+${oddsData.home_money}` : oddsData.home_money}
Spread
${oddsData.fav_id === visitingTeam.id
? oddsData.fav_points
: oddsData.fav_points > 0 ? `-${oddsData.fav_points}` : `+${Math.abs(oddsData.fav_points)}`}
${oddsData.fav_id === visitingTeam.id
? oddsData.fav_money > 0 ? `+${oddsData.fav_money}` : oddsData.fav_money
: oddsData.underdog_money > 0 ? `+${oddsData.underdog_money}` : oddsData.underdog_money}
${oddsData.fav_id === homeTeam.id
? oddsData.fav_points
: oddsData.fav_points > 0 ? `-${oddsData.fav_points}` : `+${Math.abs(oddsData.fav_points)}`}
${oddsData.fav_id === homeTeam.id
? oddsData.fav_money > 0 ? `+${oddsData.fav_money}` : oddsData.fav_money
: oddsData.underdog_money > 0 ? `+${oddsData.underdog_money}` : oddsData.underdog_money}
Over/Under
O ${oddsData.total}
${oddsData.over_money > 0 ? `+${oddsData.over_money}` : oddsData.over_money}
U ${oddsData.total}
${oddsData.under_money > 0 ? `+${oddsData.under_money}` : oddsData.under_money}

`;
}

// Example usage
renderBetMGM(‘block_74e006cb84942c885c3a546d79df1461’, ‘NHL’, ’30d87fb5-5526-4ef5-959a-5a4d29fc69f1′);

 

Leave a Comment

Your email address will not be published. Required fields are marked *