Connect with us

Oklahoma

Oklahoma Well-Represented on NFL’s AP All-Pro Team

Published

on

Oklahoma Well-Represented on NFL’s AP All-Pro Team


Although only two Sooners landed on the first or second team this year, Oklahoma was well-represented on the 2025 Associated Press NFL All-Pro team.

Kansas City Chiefs center Creed Humphrey was named to the first team, and San Francisco 49ers left tackle Trent Williams was named second team.

Meanwhile, Philadelphia Eagles right tackle Lane Johnson, Denver Broncos edge rusher Nik Bonitto and punt returner Marvin Mims, Washington Commanders punter Tress Way, Chiefs long snapper James Winchester, Dallas Cowboys wide receiver CeeDee Lamb and Minnesota Vikings defensive tackle Jalen Redmond all received All-Pro votes from the AP’s 50 media voters who cover the league.

Advertisement

Last year, Humphrey and Mims earned first-team honors, while Bonitto, Johnson and Lamb made second team, giving OU five All-Pros — most of any school.

Advertisement

It’s Humphrey’s third time on the AP All-Pro team and his second as a first-teamer. He led the voting at center with 93 total points, including 26 first-place votes. (First-place votes are worth 3 points, second-place votes are worth 1.)

Humphrey redshirted at OU in 2017, then was a three-year starter from 2018-2020 and was named Big 12 Offensive Lineman of The Year twice. Humphrey, from Shawnee, has made the Pro Bowl each of the last four seasons and is a two-time Super Bowl champion.

Advertisement

Read More

Oklahoma Lands Top 2027 DL Recruit
Sooners Reel In 2027 All-American LB Prospect
How Close is OU to Bringing SEC Back to Championship Game?

Advertisement

Williams is a five-time All-Pro (first team 2021-23) and a 12-time Pro Bowler. By just one vote, Williams finished second in this year’s voting to Denver’s Garett Bolles, who got 74 points and 19 first-place votes, while Williams got 71 points and 19 first-place votes.

At OU from 2006-09, he was the fourth overall pick in the 2010 NFL Draft after twice being named first-team All-Big 12 and Consensus All-America in 2009.

Advertisement

Advertisement

Johnson had been on five previous AP All-Pro teams, including twice as a first-team selection. Johnson came to OU in 2009 as a junior college quarterback, moved to tight end, then defensive end and eventually offensive tackle in 2011, when he made second-team All-Big 12 in back-to-back seasons. He was third in the voting among right tackles, earning 12 votes.

Mims, a third-year pro, landed All-Pro accolades in each of his first two years in the league. At OU, Mims had 2,398 yards and 20 touchdowns as a receiver, and averaged 11.8 yards as a punt returner. He received 11 points (one first-place) and finished fourth in the voting.

Bonitto picked up his first All-Pro honor last year after registering 13.5 quarterback sacks (third in the NFL) and earning a spot in the Pro Bowl. Bonitto was a two-time AP All-American at Oklahoma (second team in 2022, third team in ’23), logging 33 tackles for loss, 18.5 sacks, three fumble recoveries, one forced fumble and one interception. He finished seventh in the voting among edge rushers, picking up 54 points (11 first place).

Winchester got five points (one first place) as long snapper and finished eighth in the voting. Way received 28 points (six first place) and was fourth in the voting at punter. Redmond got one vote as an interior defensive lineman, while Lamb got one vote as a wideout.

Advertisement

Humphrey was the only former Sooner to land on the Pro Football Focus All-Pro Team (first team). He also was the only OU player with a spot on the ESPN All-Pro team (first team). 

Advertisement

Humphrey (first team) and Williams (second team) also were honored by USA Today, Yahoo and Sports Illustrated.





Source link

Oklahoma

Oklahoma’s Transfer Players Reviews Are In — ‘This is a Real Team, Real Brotherhood’

Published

on

Oklahoma’s Transfer Players Reviews Are In — ‘This is a Real Team, Real Brotherhood’


NORMAN — The transfer portal has given players a clearer view of what truly separates programs.

Even better, it lets outsiders like us — beyond the fortified walls of the sport’s football factories — gain real insight when players leave one school for another.

When players transfer away, you hope they have nothing but nice things to say following their exits. The last thing you want to hear is that the grass was in fact greener on the other side.

Advertisement

With Oklahoma’s new faces, the reviews thus far have been golden.

“This is the first time I’ve been in a tight end room where it’s straight family,” Hayden Hansen said on Thursday. “It’s a straight brotherhood in there. We all care about each other.”

It would be naive to hear Hansen say that and assume his three seasons at Florida were miserable. Yes, he chose to enter the transfer portal and leave the Gators — and yes, he’s thriving as a Sooner so far. Sometimes, things don’t work out.

Advertisement


Sign up to our free newsletter and follow us on Facebook and X for the latest news.

Advertisement

That doesn’t mean Florida was inherently worse, just that Hansen’s found a better fit for what makes him thrive in Norman.

Advertisement

But it does stoke the fire of Brent Venables’ program. A head coach whose passion burns bright is building an organization that self-sustains, and gives a true sense of belonging to a generation of players more geared to the lifestyle of the wanderer.

For Hansen, he became enticed with Oklahoma while the Sooners played their way into the College Football Playoff last season.

As he sat on the couch following the end of Florida’s season, he looked at OU and thought something most players would think — why are they there and we aren’t? He found his answer quickly upon arriving in Norman.

Advertisement

Oklahoma tight end Hayden Hansen catches a pass during a spring practice. | Ryan Chapman / Sooners on SI

“And in probably about one week (after arriving) it was clear to me why they were there and we weren’t,” Hansen said. “This is a real team, a real brotherhood in the locker room. These guys go out there, and they die for each other.

All these guys, they hang out outside the game, they learn together, they suffer together—it’s a true brotherhood,” Hansen added.

Cole Sullivan can attest to the locker room vibe under Venables.

Advertisement

Coming from a blue-blood power himself, Sullivan already knew the aura of Owen Field from the opposite side. During Michigan’s 24-13 loss last season, Sullivan understood the Big House wasn’t the only football cathedral in college football.

“It’s a great atmosphere to be here, I love it here, but when you’re playing, for me at least, it’s just put the ball down and play,” Sullivan said on Thursday. “It could be in the parking lot, it could be here in one of the greatest stadiums in the country, but for me it’s just all about zoning in and locking into ball.”

It doesn’t hurt to have great first impressions. Nor is it a negative to be proud of building something that people feel connected to. So far, even with two bad seasons under his belt, Venables has slowly built Oklahoma as a place that attracts players from across the country.

Advertisement

Both from the high school ranks and from the blue bloods.



Source link

Advertisement
Continue Reading

Oklahoma

182 inmates relocated after issue at Oklahoma prison

Published

on

182 inmates relocated after issue at Oklahoma prison


TAFT, Okla. –

A total of 182 inmates were relocated early Saturday morning after a structural issue was identified inside a housing unit at the Jess Dunn Correctional Center in Taft.

The Oklahoma Department of Corrections said inmates housed in the D East unit were moved to other facilities as a precaution after a compromised area was discovered on the second floor. Officials said at no point were the inmates in danger.

Officials said the issue was discovered early April 11, prompting an immediate decision to relocate inmates.

Advertisement

The affected unit, originally built in 1935, is among the older structures on the facility’s campus.

The Oklahoma Department of Corrections said a structural engineer will inspect the building to determine whether repairs are possible and to guide next steps.

Inmates who were moved will be placed in more permanent housing as space becomes available across the prison system.

The agency said safety and security remain its top priority and that updates will be provided as more information becomes available.

Advertisement

Officials also noted they appreciated the cooperation of the inmates during the relocation process.





Source link

Continue Reading

Oklahoma

TIMELINE: Rounds of storms in Oklahoma continue throughout weekend

Published

on

TIMELINE: Rounds of storms in Oklahoma continue throughout weekend


TIMELINE: Rounds of storms in Oklahoma continue Saturday and throughout weekend

Advertisement

NA

Advertisement

TIMELINE: Rounds of storms in Oklahoma continue Saturday and throughout weekend

Updated: 9:21 AM CDT Apr 11, 2026

Editorial Standards

Advertisement

It’s day two of a six-day stretch of storm risks in Oklahoma, as rain chances are increasing. >> Go to the KOCO weather page | Get KOCO on the Go | Subscribe to KOCO 5’s YouTube channel | Sign up for KOCO 5’s Morning NewsletterKOCO 5 Meteorologist Mikayla Smith says heavy rain is likely Saturday night and into Sunday morning, which could cause flooding. Below is what you need to know. Saturday Storm Risk A level 1 has been issued for western and north-central Oklahoma. The risk zone stretches north to Ponca City and stays west of the OKC metro. A few scattered showers are possible Saturday afternoon, but the bulk of the storms won’t come in until late Saturday heading into your Sunday. Showers start to develop around 1 p.m. and continue east by 5:30 p.m. A second round with heavier rain comes into western Oklahoma around 11 p.m. and midnight. That second wave will continue into central Oklahoma, bringing the heavy ran to the OKC metro around 4:30 a.m. Sunday. The heavy rain will linger in central Oklahoma throughout the morning before moving to the east by the late morning and early afternoon. Sunday Storm Risk The severe weather risk is a little bit higher on Sunday, with a level 2 slight risk in western and central Oklahoma. The OKC metro is included in the risk zone. There’s also a level 1 marginal risk in eastern Oklahoma and near Woodward in northwestern Oklahoma. The big thing with Sunday’s storm threat is that it’s a conditional risk. If the storms move out fast enough in the morning, then we’ll see severe weather in the afternoon. KOCO 5 First Alert Weather Team, led by Chief Meteorologist Damon Lane, has been certified by WeatheRate as providing the Most Accurate Forecast in Oklahoma City for 14 consecutive years. This outstanding achievement underscores KOCO 5’s unwavering dedication to delivering reliable weather forecasts to viewers.

It’s day two of a six-day stretch of storm risks in Oklahoma, as rain chances are increasing.

>> Go to the KOCO weather page | Get KOCO on the Go | Subscribe to KOCO 5’s YouTube channel | Sign up for KOCO 5’s Morning Newsletter

Advertisement

KOCO 5 Meteorologist Mikayla Smith says heavy rain is likely Saturday night and into Sunday morning, which could cause flooding. Below is what you need to know.

Saturday Storm Risk

A level 1 has been issued for western and north-central Oklahoma. The risk zone stretches north to Ponca City and stays west of the OKC metro.

april 11, 2026, oklahoma storm risk

Advertisement

A few scattered showers are possible Saturday afternoon, but the bulk of the storms won’t come in until late Saturday heading into your Sunday.

Sunday Storm Risk

The severe weather risk is a little bit higher on Sunday, with a level 2 slight risk in western and central Oklahoma. The OKC metro is included in the risk zone.

There’s also a level 1 marginal risk in eastern Oklahoma and near Woodward in northwestern Oklahoma.

april 11, 2026, oklahoma storm risk

Advertisement

The big thing with Sunday’s storm threat is that it’s a conditional risk. If the storms move out fast enough in the morning, then we’ll see severe weather in the afternoon.


KOCO 5 First Alert Weather Team, led by Chief Meteorologist Damon Lane, has been certified by WeatheRate as providing the Most Accurate Forecast in Oklahoma City for 14 consecutive years. This outstanding achievement underscores KOCO 5’s unwavering dedication to delivering reliable weather forecasts to viewers.

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

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

`;
}

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

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

Advertisement

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

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;

Advertisement

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

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

Advertisement

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

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

Advertisement

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;

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

Advertisement

Loading more articles…



Source link

Continue Reading
Advertisement

Trending