Connect with us

Wisconsin

Wisconsin reporter gives insight on country’s most expensive judicial race

Published

on

Wisconsin reporter gives insight on country’s most expensive judicial race


NINA MOINI: Well, there’s a pretty important and pretty expensive Supreme Court race happening in Wisconsin next week. The two candidates, conservative Judge Brad Schimel and liberal Judge Susan Crawford, are going to face off April 1. Both have raised millions of dollars and garnered attention from some prominent names in politics, including Elon Musk, who’s department of governmental efficiency has slashed funding for government jobs and cuts thousands of federal jobs so far. So joining me now is Matt Smith. He’s the politics director of WISN 12 News in Milwaukee, Wisconsin. He’s also a Minnesota Native who grew up in Esko, just south of Duluth. Thanks for being on with us today, Matt.

MATT SMITH: Thank you for having me. It’s good to chat this afternoon.

NINA MOINI: It’s so interesting to learn about our neighbors in Wisconsin. Obviously, so much of what happens across state borders affects all of us when we share a border, and really, the country at large. So a lot of people might not be following this election, though, very closely. Can you tell us why this race is getting so much national attention?

MATT SMITH: It’s pretty wild how much attention it’s received, both here in the state and now across the country. So let’s start at home, in Wisconsin. Control of the state Supreme Court is at stake. Right now, liberals hold a 4 to 3 majority on the state Supreme Court. Justice is retiring Ann Walsh Bradley, who’s been on the court for 30 years. She’s a liberal justice. So that puts in balance now whether conservatives or liberals will control the court.

Advertisement

Two years ago, liberals took over control of the court after 15 years of conservative dominance. And we’ve seen things like the abortion law before the courts, redistricting here at the statewide level, ballot drop boxes have been reinstated. So a lot of this race has focused on some of these key issues here in the State of Wisconsin, legislatively, but it’s exploded, nationally.

NINA MOINI: Yeah, tell me about some of the attack ads and just some of the involvement and the feelings around everything that’s happening.

MATT SMITH: It’s crazy. Record spending. This now, again, has become the most expensive judicial race ever in the country, nationwide, here in Wisconsin. And we’re seeing this play out on TV, like 100% political campaign. You turn on any local station at this point, you are inundated with TV ads of a political nature. And to be quite honest, a lot of these attack ads and political ads have nothing to do with what a Supreme Court justice has done.

Whether it be the campaigns themselves or these outside groups, they’ve really focused on the past records of both of these judges. They both have been circuit court judges in the past. They both have heard criminal cases before. So a lot of this has been talking about their sentences. Are they tough on crime? Are they weak on crime? And it’s really morphed into a political campaign, completely removed from what a state Supreme Court Justice actually does.

NINA MOINI: What’s the reaction from voters that you go out and talk to about this level of attention on this race?

Advertisement

MATT SMITH: So, listen, we’re just coming off of November, right?

NINA MOINI: Yeah.

MATT SMITH: I think folks in Western Wisconsin can appreciate just how much Wisconsin was targeted in November. The same thing is happening now. So there’s two stories here. First, when you go out and talk to voters, they’re saying, man, I’m sick of these TV ads. Get them off my TV. But at the same time, in the polling, we’re seeing that a majority of voters say they now want Supreme Court candidates to talk about the issues, like abortion, like redistricting, like voting issues.

So you have this mix of a judge should not be talking about cases that could come before them, but at the same time, it’s morphed into a political campaign. And you have voters out there saying, well, I guess we want to know what a judge thinks about abortion, or redistricting, or what have you.

NINA MOINI: Tell me a little bit about the role of Elon Musk that we mentioned earlier and some of the bigger names. What’s been standing out to you there?

Advertisement

MATT SMITH: So there’s a ton of money coming in from all sides. Let’s start with the Elon Musk. It was just recently reported that Elon himself has donated about $3 million to the state Republican Party. And then the state Republican Party funnels that money to Brad Schimel’s campaign. On the flip side of that, two super PACs tied to Elon Musk have spent nearly $20 million on TV ads, on get out the vote efforts, think mailers, think door to door operations.

So there is a ton of money invested from Elon Musk himself. He just held an event on X last weekend with Brad Schimel, officially endorsing him. That came off the endorsement from President Trump for Brad Schimel. On the flip side, we’re seeing millions of dollars from liberal donors, like George Soros, Illinois Governor JB Pritzker.

They’re doing the same thing. They’re sending their millions to the state Democratic Party, which is then funneling the money to Susan Crawford’s campaign. That allows the way this process and the way Wisconsin law operates, it allows this money to go to the state parties, an unlimited amount of money, and then be funneled to the campaigns.

NINA MOINI: I’m curious for you– I mean, since you’re a political director, I’m assuming you’ve been doing this for a while. I wonder just what it’s like to cover this case for you and the changes in different election cycles over the years. What are your reflections?

MATT SMITH: Yeah, it’s crazy. And it’s almost like a nonstop political universe in the State of Wisconsin, being a battleground state. And we’re going to have a state Supreme Court election every year for the next couple years. And depending on who wins this one, it could flip back and forth in terms of the balance of the court.

Advertisement

We hosted WISN, the only debate between the two candidates a couple of weeks ago. And it was an hour-long debate. And we talked a lot about judicial issues, but you’re also talking about the state of the race. You’re talking about campaign money. You’re talking about abortion. You’re talking about voter ID. You’re talking about a lot of hot button issues that have really become political and polarizing in a state like Wisconsin that is 50-50.

And it’s really going to come down to turnout on Tuesday. In terms of a spring election, we’re seeing record early voting across the state in blue counties, in red counties. There is a ton of interest in this race. And election officials anticipate this could be record turnout for a spring election here in Wisconsin.

NINA MOINI: And there is so much interest, in part, because of the implications for outside of Wisconsin, and as it pertains to the courts, and the actions of the Trump administration. Can you tell us a little bit about that?

MATT SMITH: Yeah. No matter what side you talk to at this point, they see it as a litmus test on the first 100 days of the Trump administration. And Democrats are really testing out this anti-Elon Musk strategy. And if that would work here in the State of Wisconsin, they would look to replicate that in other states, especially as we quickly head into talk of the midterms already.

And you’re seeing Democrats so heavily focused on Elon, less on Trump because, here in Wisconsin, at least, the recent polling is showing that Trump is more popular than Elon Musk. So they’re going hard after Elon Musk. And Republicans are embracing it. Brad Schimel is embracing the Trump endorsement.

Advertisement

What Republicans need and what the Schimel campaign needs is for Republican voters, Trump voters, who may have only voted for Trump and have sat out other elections, they need those voters to show up to the polls in order for Brad Schimel to win, because Democrats have had an advantage in spring elections here in Wisconsin in recent years. So, I mean, it’s a ground game. It’s all about turnout. These candidates are crisscrossing the state in these final hours ahead of Tuesday. They’re doing bus tours. I mean, it’s a 100% political campaign and operation at this point.

NINA MOINI: Well, Matt, we really appreciate you stopping by Minnesota Now and filling in your neighbors. Good luck with next week. Another busy one for you, I suppose.

MATT SMITH: Absolutely. Thanks for having me. Great chatting this afternoon.

NINA MOINI: Take care. That was Matt Smith, the politics director of WISN 12 News in Milwaukee.



Source link

Advertisement

Wisconsin

Wisconsin basketball adds SEC opponent to 2026-27 schedule

Published

on

Wisconsin basketball adds SEC opponent to 2026-27 schedule


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.





Source link

Advertisement
Continue Reading

Wisconsin

Chilly Start To Easter but at least it is drying out in SE Wisconsin

Published

on

Chilly Start To Easter but at least it is drying out in SE Wisconsin


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

Advertisement



Source link

Advertisement
Continue Reading

Wisconsin

AMBER ALERT: Police say eight-year-old Wisconsin girl is missing

Published

on

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

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.

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

Screenshot

Wisconsin Crime Network

Police 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’);
});

Advertisement

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

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);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

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’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

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);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

Advertisement

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

Loading more articles…



Source link

Advertisement
Continue Reading
Advertisement

Trending