Connect with us

Iowa

Caitlin Clark and her Iowa teammates give Hoosiers a bad case of senioritis

Published

on

Caitlin Clark and her Iowa teammates give Hoosiers a bad case of senioritis


Iowa’s Caitlin Clark (22) hugs senior teammates Kate Martin and Gabbie Marshall (24) after their 84-57 women’s basketball win over Indiana Saturday at Carver-Hawkeye Arena. (Savannah Blake/The Gazette)

IOWA CITY — Calling Caitlin Clark sensational is from the handbook of the Department of Redundancy Department.

Her name symbolizes basketball excellence, and America has known it for a while now. Recently, an Uber driver in Orlando asked his Iowan passengers where they were from, than proceeded to tell them why Clark is so good.

Former Iowa men’s assistant basketball coach Kirk Speraw said Saturday that Clark wasn’t a once-in-a-generation player, but a once-in-two-generations players, comparing her skills and visions and fearlessness to past greats Pete Maravich and Ernie DiGregorio.

Advertisement

But no woman is an island. Without a crew of skilled, tough and intuitive players around her, Clark is scoring a lot of points without winning much of consequence, and she’d be the first to tell you as much.

Senior moments filled Carver-Hawkeye Arena Saturday night along with the amazingly large crowd that shrugged off the elements. Those fans simply had to be here to see who won between Indiana and Iowa teams that came in 5-0 in the Big Ten, 11 months after it took a last-second Clark 3-pointer to beat the Hoosiers.

Senior moments? Oh yeah. That’s seniors as in fourth-year player Clark, fifth-years Gabbie Marshall and Molly Davis, and sixth-year Kate Martin.

Davis had her Iowa-high of 18 points in this 84-57 Hawkeyes romp. She played superb defense against the Hoosiers’ Sara Scalia despite spotting her 4 inches.

Advertisement

Marshall rained in four 3-pointers after Iowa got off to a woeful start shooting from deep. Martin had a career-high 12 rebounds.

Clark seemed content to walk the ball down the court after an Iowa rebound with six minutes left and the game in hand, but saw Martin sprinting down the court. Clark hit Martin in stride, and there were two more points.

“They all just kind of understand,” Clark said. “I don’t always have to say what I want when I’m on the court. I think they can read my eyes pretty well.”

Davis had her best game as a Hawkeye since transferring from Central Michigan before last season. She had seven points, an assist and a steal in a second-quarter span of 1:50, with Clark on the bench with two fouls.

Clark was the straw that stirred this rout with 30 points and 11 assists, but Davis didn’t let the Hawkeyes do anything but gain ground during Clark’s brief absence.

Advertisement

It was a long way from playing her home finale at Central Michigan two years ago before 1,318 fans on a team that went 4-25 that season. The previous season, though, ended with CMU losing to Iowa in a first-round NCAA tournament game. Davis had 18 points and five steals, and left a good impression.

“She lit us up,” Iowa Coach Lisa Bluder said.

Here Davis was Saturday, playing before 15,000 or so crazy-loud fans and a national, prime-time television audience. And she played so well.

“It kind of chokes me up a little bit thinking about it,” Davis said. “It’s really cool Coach Bluder gave me the opportunity to play at a place like this.”

“Molly, she had a couple really nice backdoor cuts tonight when I was able to hit her,” said Clark, “and that’s just a high basketball IQ play. Molly’s that type of player.”

Advertisement

Martin and Marshall, what don’t they know by now? How often do you see them get open for their shots? A lot. But you don’t see it until Clark sees it a second before you.

“They know what’s going to happen and what’s going on,” said Clark.

“It’s just kind of a comforting thing to be out there on the floor with three other people that really have your back and really know what your mind is thinking even if you don’t have to say it.”

In reality, this game ended late in the third quarter. Clark made one of her beak bombs, a 3-pointer from the Tiger Hawk logo. Then she stole the ball and hit a streaking Davis, who made an athletic lay-in with six seconds left.

It went from 60-48 to 65-48, the decibel count in the arena broke the needle, and No. 3 Iowa was soon to be 17-1.

Advertisement

“I think the sky’s the limit,” Bluder said. “Right now I’m just worried about beating Wisconsin on Tuesday. though. That’s my only concern right now.”

It’s supposed to be really cold again Tuesday night in Iowa City. Hawkeye fans will deal with it much better than the Badgers will handle their opponents.

Comments: (319) 398-8440; mike.hlas@thegazette.com





Source link

Advertisement

Iowa

Iowa High School Boys Track And Field Leaders

Published

on

Iowa High School Boys Track And Field Leaders


We are still weeks away from the state track and field meet in Iowa, but high school athletes around the state are starting to get outdoors to post times and leave marks.

High School on SI previously posted the leaders in Iowa high school track and field for the girls, so now, we head over to the boys. Just like with that one, the numbers below are from the Bound website and up-to-date as of April 3, 2026.

Iowa High School Boys Track And Field Event Leaders

100-Meter Dash

Advertisement
Add us as a preferred source on Google

  • Connor Kunze, Nevada, 10.48
  • Kaiden Kunze, Norwalk, 10.52
  • Noah Ross, Ankeny Centennial, 10.61
  • Adam Kacmarynski, Pella Christian, 10.69
  • Deztin McMurrin, Waterloo West, 10.70

200-Meter Dash

  • Marcus Tomlyanovich, Cedar Falls, 21.73
  • Zane Johnson, ADM, 21.90
  • Cauy Konz, Treynor, 22.08
  • Dawson Dougherty, Cedar Rapids Kennedy, 22.09
  • Lincoln Bainbridge, Van Buren County, 22.10

400-Meter Dash

  • Drew Bennis, Cedar Rapids Prairie, 48.52
  • Harrison Mullens, Pella, 48.85
  • Lincoln Bainbridge, Van Buren County, 49.10
  • Will Bertrand, Sioux City Bishop Heelan, 49.43
  • Gage Tucker, Bettendorf, 49.55

800-Meter Run

  • Brennen Hoyer, Cedar Falls, 1:53.72
  • AJ Willey, Bettendorf, 1:54.27
  • Keegan Decker, Iowa City Liberty, 1:54.44
  • Canaan Dunham, Pella, 1:54.73
  • Ayden Gabrielson, Waukee Northwest, 1:54.79

1600-Meter Run

  • Quentin Nauman, Western Dubuque, 4:03.65
  • Keegan Decker, Iowa City Liberty, 4:04.33
  • Kuma Gutema, Sioux City North, 4:12.40
  • Logan Bleich, Gilbert, 4:14.67
  • Canaan Dunham, Pella, 4:15.92

3200-Meter Run

  • Keegan Decker, Iowa City Liberty, 8:59.49
  • Quentin Nauman, Western Dubuque, 9:07.03
  • AJ Willey, Bettendorf, 9:08.52
  • Slader Buckheister, Cedar Rapids Kennedy, 9:08.54
  • Canaan Dunham, Pella, 9:12.27

110-Meter Hurdles

  • Tay Seals, Clear Creek-Amana, 13.92
  • Hayden Carlson, Ankeny, 14.07
  • Caiden Johnson, Pella, 14.16
  • Blake Ludwig, Waukee Northwest, 14.25
  • Miciah LeLaCheur, Valley, 14.30

400-Meter Hurdles

  • J.J. McDermott, Bettendorf, 54.42
  • Wil Pauli, Cedar Falls, 54.78
  • Jayden Jeter, Waukee, 54.92
  • Owen Von Ahsen, Benton, 54.92
  • Tate Marco, Sibley-Ocheyedan, 55.14

Long Jump

  • Rylan Peters, Waverly-Shell Rock, 23-8
  • Kaiden Kunze, Norwalk, 23-3
  • Jayden Stephens, Waverly-Shell Rock, 22-11
  • Ezekiel Symonds, Independence, 22-10.5
  • Jamaul Richardson Willamsburg, 22-8

High Jump

  • Ajak Malual, Waukee, 6-9
  • Logan Athlerton, Norwalk, 6-8
  • Eli Patterson, Benton, 6-7
  • Miciah LeLaCheur, Valley, 6-6
  • Spencer Casey, Cascade, 6-5.5

Shot Put

  • Greyson Hartman, Washington, 67-3.5
  • Morgan Cooley, East Union, 59-11
  • Max Nevitt, Algona, 59-5.5
  • Carson Divis, Hinton, 57-6
  • Shem Mally, Cedar Rapids Kennedy, 57-5.5

Discus

  • Greyson Hartman, Washington, 179-9
  • Aiden Curtis, Indianola, 179-2
  • Daxon Kiesau, Urbandale, 176-8
  • Colin Whitters, Iowa City West, 167-1
  • Reece Winery, Southeast Polk, 166-5

100-Meter Wheel Chair

  • Titus Steng, Shenandoah, 17.01
  • Eli Johnson, Bedford, 18.58
  • Josh Anderson, Washington, 20.45
  • Logan Shwery, Ankeny Centennial, 23.50
  • Ryan Stevenson, Pleasant Valley, 31.23

200-Meter Wheel Chair

  • Titus Steng, Shenandoah, 31.66
  • Eli Johnson, Bedford, 33.89
  • Issac Anderson, Washington, 37.32
  • Josh Anderson, Washington, 37.34
  • Logan Shwery, Ankeny Centennial, 49.04

400-Meter Wheel Chair

  • Titus Steng, Shenandoah, 1:06.30
  • Eli Johnson, Bedford, 1:10.74
  • Isaac Anderson, Washington, 1:13.78
  • Logan Shwery, Ankeny Centennial, 1:28.32

800-Meter Wheel Chair

  • Titus Steng, Shenandoah, 2:21.91
  • Eli Johnson, Bedford, 2:41.25
  • Josh Anderson, Washington, 3:01.66

Shot Put Wheel Chair

  • Ryan Stevenson, Pleasant Valley, 16-11

100-Meter Ambulatory

  • Carter Swanson, Hudson, 15.35
  • Daniel Villa, Waterloo East, 15.49
  • Leighton Pullin, Waterloo East, 19.72
  • Daniel Carr, Waterloo East, 22.97

200-Meter Ambulatory

  • Cameron McGraw, Alburnett, 30.86
  • Carter Swanson, Hudson, 32.19

400-Meter Ambulatory

  • Carter Swanson, Hudson, 1:14.41

4×100-Meter Relay

  • Gilbert, 42.21
  • Cedar Rapids Jefferson, 42.61
  • Treynor, 42.70
  • Western Dubuque, 42.79
  • Waukee Northwest, 42.86

4×200-Meter Relay

  • Valley, 1:26.29
  • Clear Lake, 1:27.55
  • Waukee Northwest, 1:28.54
  • ADM, 1:28.60
  • Cedar Rapids Prairie, 1:29.30

4×400-Meter Relay

  • Clear Lake, 3:20.37
  • Cedar Falls, 3:21.03
  • Waukee Northwest, 3:23.95
  • Sioux City Bishop Heelan, 3:24.10
  • Cedar Rapids Prairie, 3:24.62

4×800-Meter Relay

  • Waukee Northwest, 7:55.90
  • Cedar Falls, 7:57.36
  • Dallas Center-Grimes, 8:02.78
  • Johnston, 8:03.88
  • Unity Christian, 8:04.19

Sprint Medley Relay

  • Clear Creek-Amana, 1:34.37
  • Sibley-Ocheyedan, 1:35.17
  • Muscatine, 1:35.57
  • Cedar Rapids Prairie, 1:35.76
  • Mount Vernon, 1:35.86

Distance Medley Relay

  • Ankeny Centennial, 3:26.51
  • Waukee Northwest, 3:30.23
  • Gilbert, 3:32.46
  • Dallas Center-Grimes, 3:33.16
  • Ankeny, 3:34.82

Shuttle Hurdle Relay

  • Pella, 58.29
  • Iowa City West, 58.61
  • Treynor, 58.87
  • Waukee Northwest, 58.95
  • Ankeny, 59.02



Source link

Continue Reading

Iowa

Where will Iowa basketball spending rank in transfer portal?

Published

on

Where will Iowa basketball spending rank in transfer portal?


You have to pay to play.

That’s the way the new world of college sports works, especially football and men’s basketball, the two moneymakers for programs across the country. The financial aspect of competing is looming larger than ever now, and to win in those sports, it requires serious financial backing.

It costs now to recruit top talent from high school and even more to lure in top talent from the transfer portal, which can infuse instant upgrades to a roster. The Iowa Hawkeyes had a portal-heavy roster this year during their magical Elite 8 run during March Madness and will once again be shopping for more high-end talent.

Iowa won’t just be among the big spenders in the Big Ten, but On3’s Pete Nakos believes Iowa is going to be among those big spenders in the sport of college basketball, potentially nearing double-figures in the millions.

Advertisement

The Next Tier: $8 to $10 million

LouisvilleTexas A&MIowa, St. Louis, Providence and BYU make up the next tier of top spenders, all expected to spend over $8 million and can touch $10 million if they want. Other top spenders of note will likely be Virginia and Washington, among others.

Alabama was in the $8 to $10 million range this season, and the Crimson Tide are expected to have similar funding available. They will be able to crack into the next tier if they need to, sources said. – Pete Nakos, On3

Iowa’s first priority via the transfer portal is replacing the crater-sized hole in the starting lineup left by point guard Bennett Stirtz, who carried this team at times this year and was the engine that made this team go.

After that, Iowa needs to add size on the interior. While they were able to play most of the year, finding ways to win despite lacking some size, having a true big man only further unlocks Ben McCollum’s offense.

Contact/Follow us @HawkeyesWire on X (formerly Twitter) and like our page on Facebook to follow ongoing coverage of Iowa news, notes and opinions. Follow Riley on X: @rileydonald7

Advertisement





Source link

Continue Reading

Iowa

Iowa wide receiver becomes first-ever back-to-back winner of Jet Award

Published

on

Iowa wide receiver becomes first-ever back-to-back winner of Jet Award


Iowa wide receiver Kaden Wetjen becomes first-ever back-to-back winner of Jet Award

Advertisement

OUR TEAM. SOMEONE TO LOOK OUT FOR THIS UPCOMING YEAR, STICKING WITH FOOTBALL, THE JET AWARD GALA HAPPENING TONIGHT IN OMAHA ON THE 15TH YEAR OF THE AWARD. THE AWARD IS GIVEN TO THE COLLEGE RETURN SPECIALIST OF THE YEAR, IOWA’S KADEN WETJEN MAKES HISTORY, BECOMING THE FIRST EVER BACK TO BACK WINNER. OF JOHNNY THE JET RODGERS AWARD. IT’S AWESOME. AND I KIND OF JOKED AROUND LAST YEAR, TOLD ME I WAS GOING TO COME BACK HERE NEXT YEAR AND HERE WE ARE ACTUALLY ACTUALLY DID IT. AND WE ACTUALLY HAD TWICE THE SUCCESS WE HAD LAST YEAR WHEN WE WON IT. SO JUST ME AND THE UNIT, THE TEAM THAT WE HAD WAS, WAS SUPER AWESOME. IT’S NOT JUST THIS AWARD ISN’T JUST FOR ME. IT’S FOR MY, FOR MY TEAMMATES AS WELL. YES. ALSO BEING HONORED TONIGHT, MILLARD SOUTH ALMA JOBJET TAMALA AS MR. FOOTBALL 2025. RECOGNIZING THE TOP HIGH SCHOOL FOOTBALL TALENT IN THE STATE. GUYS, OBVIOUSLY KAMALA TAKING HIS TALENTS TO ALABAMA. HE’LL BE PLAYING IN TUSCALOOSA THIS YEAR AS FAR AS IT COMES WITH EACH AND EVERY TIME ANYBODY WOULD KICK TO HIM, I WOULD SAY, WHAT ARE YOU DOING? DON’T KICK, KICK, KICK IT. HE’S SO GOOD. I MEAN, LOO

Advertisement

Iowa wide receiver Kaden Wetjen becomes first-ever back-to-back winner of Jet Award

Updated: 8:57 PM CDT Apr 2, 2026

Editorial Standards

Advertisement

Omaha hosted the Jet Award Gala on Thursday.It was the 15th year of the award, which was given to the College Return Specialist of the Year.Iowa’s Kaden Wetjen made history, becoming the first-ever back-to-back winner of the Johnny the Jet Rodgers Award.The gala also honored Millard South alum Jett Thomalla as Mr. Football 2025, recognizing the top high school football talent in the state.Make sure you can always see the latest news, weather, sports and more from KETV NewsWatch 7 on Google search.NAVIGATE: Home | Weather | Local News | National | Sports | Newscasts on demand |

Omaha hosted the Jet Award Gala on Thursday.

Advertisement

It was the 15th year of the award, which was given to the College Return Specialist of the Year.

Iowa’s Kaden Wetjen made history, becoming the first-ever back-to-back winner of the Johnny the Jet Rodgers Award.

The gala also honored Millard South alum Jett Thomalla as Mr. Football 2025, recognizing the top high school football talent in the state.

Advertisement

Make sure you can always see the latest news, weather, sports and more from KETV NewsWatch 7 on Google search.

NAVIGATE: Home | Weather | Local News | National | Sports | Newscasts on demand |

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

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.ketv.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.ketv.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

`;
}

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

Advertisement

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

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

Advertisement

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

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

Advertisement

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

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.ketv.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.ketv.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’);
}

Advertisement

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

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

Advertisement

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;

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…

Advertisement



Source link

Continue Reading

Trending