Takeaways from No.11 Wisconsin’s 95-74 Blowout Over Short-Handed Illinois
MADISON, Wis. – Steven Crowl and Carter Gilmore have been around long enough that they are allowed to make games bigger than they needed to be. Considering neither fifth-year senior had beaten Illinois before, both players acknowledged that Tuesday might be their last opportunity.
The seniors played like it and recruited some help from some other veterans in the process.
Five Wisconsin seniors combined for 65 points and 19 rebounds, redeeming themselves from a frustrating December loss and ending six years of frustration against the Illini with a 95-74 victory at the Kohl Center.
Advertisement
John Tonje continues boosting his candidacy for Big Ten Player of the Year and postseason All-American honors with a game-high 31 points, making him the first Badgers player since Michael Finley to record consecutive 30-point games.
Crowl had a season-high 20 while guard John Blackwell added 16 to give the Badgers their seventh Quad-1 win, besting an Illinois team riddled with injuries and illness.
“I don’t think we were the same team we were back then, so I don’t think it matters if they were sick or healthy,” Crowl said. “We were going to handle business. We’re a different team now, and we showed that tonight.”
Advertisement
While Wisconsin (21-5, 11-4 Big Ten) maintained its strong offensive reputation, hitting 90 points in consecutive Big Ten games for the first time in 33 years, the Badgers locked in defensively to hold Illinois (17-10, 9-8) to 43.3 percent from the field and 1.088 points per possession.
“They are confident, playing great,” Illinois coach Brad Underwood said. “They got great role identification. They are so old. When you got one of the oldest teams in the country, you have no idea how valuable that is because your players get confidence … They’ve got great role identification. That’s pretty nice to see.”
Here are my takeaways from the Kohl Center.
Crowl’s Redemption Night
Tuesday, December 10, could have been an embarrassing moment for Crowl instead of the turning point. Already stuck in a scoring funk after consecutive losses saw him score only two points, Crowl played close to 19 minutes and had zero rebounds in the first meeting against the Illini.
It’s been highly talked about and written about – the public criticism from head coach Greg Gard after the game and later that week in practice and the private conversations from his teammates holding him accountable.
Advertisement
“I had to look at myself in the mirror a little bit, come back, and become a little bit of a different player,” Crowl said. “I credit my teammates and coaches being on me a little bit because they know I can take it.”
It lit a fire, evidenced by his 10.3 points, 5.9 rebounds, and 61.6 shooting percentage in the 14 games since, but none were against Illinois.
Finally having a matchup where he wasn’t blasted by constant double teams, not to mention knowing that 7-1 center Tomislav Ivisic was under the weather, Crowl was aggressive and physical with his touches in the post.
The result was a season-high 20 points, going 3-for-3 from three-point range and 7-for-10 overall. He added seven rebounds (to give him 803 for his career), five assists, two steals, one turnover, and no fouls as he took advantage of the undersized and inexperienced frontcourt.
There were multiple instances where Crowl would have earned the hockey assist, as his ball movement out of the post led to the extra pass that led to an open shot and a basket. The offense hummed with Crowl on the court, as the Badgers averaged 1.357 points per possession.
Advertisement
“An aggressive Steve makes us better,” Gard said. “For him, playing real physical in the paint helps when you bang in all your threes. That gets him going and gets his confidence up even more. I thought he was really a physical presence. He commanded the ball in the paint.”
Flipping the Rebounding Battle
Illinois entered the night ranked first in the NCAA in defensive rebounds per game (30.8), second in total rebounds per game (44.3) and rebound margin (10.7), and 23rd in offensive rebounds per game (13.5). In December, the Illini took advantage of UW’s underwhelming physicality to turn 15 offensive rebounds into 16 second-chance points.
UW emphasized the need to be aggressive on the glass even before the news of Morez Johnson Jr. (broken wrist) being out indefinitely and Ivisic losing seven pounds and needing multiple IV treatments. Those two players had 15 of Illinois’ 40 rebounds against UW and five of the offensive rebounds. It got easier for UW when 6-6 forward Jake Davis started the game but didn’t return in the second half due to a stomach bug.
The Badgers didn’t care. UW relentlessly attacked the rim and paint and was rewarded for it. UW won the rebound battle, 39-30, held Illinois to nine offensive rebounds off its 34 misses (the first time the Illini had single-digit offensive rebounds since Jan.23), and outscored the undermanned crew, 48-28, in points in the paint. The 48 points matched the season high that UW set against Appalachian State back in November.
“What happened last game fueled us a little bit,” Crowl said. “We knew it was going to be a war on the glass. Obviously, them not having the two big fellas helped us a little bit. I think as a team we did great, and it was a team effort.”
Advertisement
Team Defense Keeps Growing
Illinois started its seventh different lineup in the last 11 games, a roster shuffling due to the Illini dealing with injuries and a team-wide illness. That played to their advantage early. Wisconsin was winning the rebounding battle by 10 at halftime and was averaging 1.343 points per possession, but the Badgers only led 47-41 because of eight turnovers leading to 11 Illinois turnovers.
UW also adjusted on the fly when Ivisic did not start and had to limit Crowl and Nolan Winter from playing together on the floor so they could go smaller.
“It changed a little bit how they were playing and what we prepared for,” Gard said.
The adjustments made helped Wisconsin steadily pull away in the second half. Illinois never had more than two consecutive field goals in the second half and was 4-for-15 from three-point range. UW limited the turnovers (two) and shut down two thorns in its side from the previous meeting in guards Kyle Boswell, Kasparas Jakucionis, and Tre White. That trio combined for 66 of Illinois’ 86 points.
Boswell was 3-for-9 in 26 foul-filled minutes, Jakucionis had more turnovers (seven) than points (six) and White was 1-for-4 from the field.
Advertisement
“I think we’ve gotten better, we’re getting better, and we are better than we were in December (defensively),” Gard said. “Ball pressure has gotten better. We are better at maneuvering and handling screens for the most part. Our bigs are better at when to blitz screens or shock screens and when we need to switch.
“We have great connectivity offensively. You need to have that defensively, too. This group has continued to grow in a positive way at that end.”
One reason for the group’s defensive ascension is Tonje. While proving to be a prolific scorer since arriving, Tonje struggled to grasp some of Wisconsin’s defensive concepts that differentiated from his previous stops, especially with ball-screen defense.
Improving his one-on-one defense and keeping ball handlers in front of him, Tonje had a career-high four steals against Illinois which led to positive results. He picked off a couple of passes from Jakucionis, one leading to him drawing a foul and getting to the foul line and another leading to a Max Klesmit turnaround jump shot. While he didn’t convert his layup off the third steal, Tonje’s floating jump shot with 5:39 remaining was his final bucket to give him his fourth 30-point outing this season.
“His growth has been a big part of us growing defensively,” Gard said. “His commitment to the concepts have helped our team.”
Advertisement
By The Numbers
1.8 – After committing eight first-half turnovers, the Badgers only gave up the ball twice in the second half. Over the last six games, UW is averaging 6.2 TOs in the first half and 1.8 in the second half.
4 – Only four Badgers have scored at least 30 points in consecutive games: John Tonje, Michael Finley, Rick Olson, and Clarence Sherrod.
10 – UW shot 10-for-24 from 3-point range, the 16th time the Badgers have hit double-digit triples (13-3 in such games), the most in the Big Ten.
12 – Wisconsin posted 12 steals in the win, its second-highest total of the season. Seven different players had a steal.
90 – UW reached 90 points in back-to-back games for the first time since doing so in three straight games from Dec. 14-28, 1995.
Advertisement
_________________________________________________
*Chat about this article in The Badgers’ Den
*Check out our videos, interviews, and Q&As on our YouTube channel
*Subscribe and listen to the BadgerBlitz.com podcast (as seen on Apple, Google, Spotify and wherever you listen to podcasts)
The Wisconsin Badgers men’s basketball team wasted no time scheduling an SEC opponent for the 2026-27 season.
Alex Rosinski confirmed the Badgers will head to Nashville on December 19 to play Auburn, a team competing for the NIT Championship on April 5.
The Tigers were the talk of the town come Selection Sunday with their 17-16 record. Claiming it had the nation’s best win at Florida on January 24, Auburn did everything in its power to talk its way into the NCAA Tournament. Instead, the team had to settle for the NIT.
Auburn has taken care of business against South Alabama, Seattle U, Nevada, and Illinois State en route to the championship game against Tulsa.
Advertisement
The Milwaukee Journal Sentinel also confirmed Wisconsin’s game against Auburn on December 19 will take place at the Bridgestone Arena. Auburn usually plays its home games at the Neville Arena, which is about a five-hour trip from the home of the Nashville Predators.
Even though Wisconsin is coming off a disappointing tournament loss, Greg Gard isn’t messing around. This is yet another high-profile non-conference game he’s added to the team’s schedule. For what it’s worth, this is only the second all-time meeting between these two teams.
Contact/Follow@TheBadgersWire on X (formerly Twitter) and like our page onFacebook to follow ongoing coverage of WisconsinBadgers news, notes and opinion.
Chilly Start To Easter but at least it is drying out in SE Wisconsin
After a very wet start to the month, we are finally drying out in SE Wisconsin
Advertisement
WE POSTED IT UNDER THE LINKS TAB ON THE 12 NEWS APP, AND YOU’RE GOING TO WANT TO DRESS WARMLY IF YOU’RE HEADED TO BRUNCH TOMORROW. CHURCH, YOU MIGHT NEED A JACKET. >> YEAH, WIND CHILLS ARE GOING TO BE IN THE 20S, SO IT’S NOT EXACTLY GOING TO BE WARM. IT GETS A LITTLE BIT BETTER AS THE DAY GOES ON, AND WE WILL GET SOME SUN TOMORROW. MORE THAN WHAT WE’VE HAD FOR TODAY. NOW SOME OF YOU GETTING A LITTLE GLIMPSE HERE AND THERE. THE SUN, IT HASN’T LASTED VERY LONG. BUT THE GOOD THING IS IT’S A DRY DAY. BUT THE CROWD. IF YOU’RE TRYING TO DO EASTER EGG HUNTS OUTSIDE, IT IS MUDDY, MUSHY. TAKE IT FROM A GUY WHO PLAYED GOLF TODAY. IT WAS VERY, VERY WET, COOLER, MORE SUNSHINE. AS THE DAY GOES ON, WHICH IS NICE. WE’LL GET MORE SUN, BUT WE’RE DRY ALL DAY. TEMPERATURES WARM UP TO AROUND 50. ALL RIGHT, LET’S TALK ABOUT NEXT WEEK. MAINLY DRY UNTIL WEDNESDAY. CHILLY THROUGH TUESDAY, ESPECIALLY MONDAY AND TUESDAY. TUESDAY ESPECIALLY HIGHS ONLY IN THE 30S. THAT’S NOT GOING TO BE VERY NICE. SHOWERS LIKELY. WEDNESDAY. THURSDAY. FRIDAY. SATURDAY. WE DON’T NEED THE RAIN BUT WE HAVE MORE RAIN IN THE FORECAST. WHEN I SAY WE DON’T NEED RAIN, THIS IS WHAT I MEAN. FOR THE MONTH, WE’VE ONLY HAD FOUR DAYS AND WE’VE HAD 3.5IN OF RAIN. WE ARE WAY ABOVE AVERAGE FOR THE MONTH AND THAT HAS MADE US A PRETTY GOOD AMOUNT ABOVE AVERAGE FOR THE YEAR. AND IT’S ALL ABOUT THE LAST FOUR DAYS WHEN YOU PICKED UP SO MUCH RAIN. IT’S JUST BEEN ROUND AFTER ROUND. AND YES, MORE RAIN IS IN THE FORECAST AS WE HEAD INTO THE MIDDLE AND LATTER PARTS OF NEXT WEEK. CHECK OUT THE SATELLITE MAP. YOU CAN ACTUALLY SEE THE CENTER OF LOW PRESSURE MOVING RIGHT OVER MINNEAPOLIS RIGHT NOW. THAT IS GOING TO CONTINUE TO BRING THESE CLOUDS AROUND, BUT THERE’S GOING TO BE MORE BREAKS AS TIME GOES ON. I THINK TOMORROW IS GOING TO BE A DECENT DAY. THERE ARE A FEW. WOULDN’T BE SURPRISED TO SEE A COUPLE LITTLE PASSING FLURRIES. AND THEN FOR TOMORROW MIGHT GET AN ISOLATED SPRINKLE LATER IN THE DAY. BUT IT’S IT’S NOT BAD. STILL WINDY THOUGH. NOT AS WINDY AS IT IS RIGHT NOW. ALL RIGHT. AGAIN, THIS IS KIND OF WHAT I’M TALKING ABOUT WITH THESE PASSING FLURRIES. THIS IS MONDAY AS WE WORK OUR WAY THROUGH MONDAY. IT’S THE SAME KIND OF STORY. IT’S NOT COMPLETELY SUNNY. IT’S NOT COMPLETELY CLOUDY. AGAIN, POSSIBLY SEEING A TINY FLURRY OR TWO. NOW NEXT WEEK, AS WE WORK OUR WAY IN THE MIDDLE OF THE WEEK, THAT’S WHEN THESE ROUNDS OF SHOWERS WILL BE COMING IN. OVERALL, YES, A SOGGY FORECAST STARTING ON WEDNESDAY. WE’RE NOT GOING TO RAIN THE ENTIRE TIME, BUT IT’S GOING TO BE ROUNDS OF RAIN. AND AGAIN, WE DON’T REALLY NEED IT LIVE. LOOK OUTSIDE. THAT. IT’S ACTUALLY PRETTY 43 DEGREES IN WAUKESHA AND WIND CHILLS ARE HANGING OUT AROUND. FREEZING. WON’T BE LONG. THEY’LL BE CARS BACK ON THE TRACKS. THERE WILL BE TONS OF PEOPLE ENJOYING ROAD AMERICA AND IT WON’T BE LONG. WE’LL SEE A LOT OF BOATS OUT HERE ON DELAVAN LAKE. TEMPERATURE 45 DEGREES. RIGHT NOW YOU CAN SEE THAT COOL AIR AND IT’S NOT GOING TO GO ANYWHERE. IT’S COOL AROUND HERE. RIGHT NOW, 46 IN MILWAUKEE IS THE WARMEST TEMP, 51 FOR TOMORROW. IT’S ABOUT EXACTLY NORMAL. BUT AGAIN, THE MORNING IS GOING TO BE CHILLY FOR SURE. MONDAY 46 ELECTION DAY A HIGH OF ONLY 38. BUT IT’S DRY AND THEN RAIN SHOWERS WEDNESDAY, THURSDAY, FRIDAY. SATURDAY. GREAT.
Advertisement
Chilly Start To Easter but at least it is drying out in SE Wisconsin
After a very wet start to the month, we are finally drying out in SE Wisconsin
Updated: 5:57 PM CDT Apr 4, 2026
Advertisement
Editorial Standards ⓘ
After a very wet start to the month, we are finally drying out in SE Wisconsin
After a very wet start to the month, we are finally drying out in SE Wisconsin
Police believe she is in a vehicle last seen driving Friday afternoon in Monroe County.
Advertisement
AMBER ALERT: Police say eight-year-old Wisconsin girl is missing
Police believe she is in a vehicle last seen driving Friday afternoon in Monroe County.
Advertisement
Updated: 6:01 AM CDT Apr 4, 2026
Editorial Standards ⓘ
Advertisement
An AMBER Alert is out for a Wisconsin girl.Police say eight-year-old Irene Lentz from Wautoma may be with Joseph Nicpon Jr. and Betty Lentz.Authorities believe Irene is in a 2005 Blue Buick Terraza with the license plate number BCU3028. Police say the vehicle was last seen at approximately 12:55 p.m. Friday driving westbound on I-90 in Monroe County near Sparta.If anybody knows where Irene may be, they are asked to immediately call the Wautoma Police Department at (920) 787-3321.
WAUTOMA, Wis. —
An AMBER Alert is out for a Wisconsin girl.
Police say eight-year-old Irene Lentz from Wautoma may be with Joseph Nicpon Jr. and Betty Lentz.
Advertisement
Wisconsin Crime NetworkPolice believe Irene Lentz is in this 2005 Blue Buick Terraza with the license plate number BCU3028. Authorities say the vehicle was last seen at approximately 12:55 p.m. Friday driving westbound on I-90 in Monroe County near Sparta.
Authorities believe Irene is in a 2005 Blue Buick Terraza with the license plate number BCU3028. Police say the vehicle was last seen at approximately 12:55 p.m. Friday driving westbound on I-90 in Monroe County near Sparta.
Advertisement
If anybody knows where Irene may be, they are asked to immediately call the Wautoma Police Department at (920) 787-3321.
Advertisement
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
var location = { zip: window.DEFAULT_ZIPCODE };
Advertisement
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
Advertisement
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wisn.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wisn.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
Advertisement
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
Advertisement
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
Advertisement
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
Advertisement
var location = { zip: window.DEFAULT_ZIPCODE };
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
Advertisement
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wisn.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wisn.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
Advertisement
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex