Connect with us

Oklahoma

8 Oklahoma restaurants, chefs named semifinalists on James Beard Foundation’s 2026 list

Published

on

8 Oklahoma restaurants, chefs named semifinalists on James Beard Foundation’s 2026 list


play

Awards season has arrived.

For most people, that probably means looking out for nominations for Golden Globes, Grammys and Oscars, but in the world of food and dining, it begins with the drop of the long list of the James Beard Foundation Awards Semifinalists.

Advertisement

The list highlights the best across the country in categories ranging from hospitality to outstanding chef and beyond.

As in years past, Oklahoma continues to show up with strong numbers on the foundation’s long list, marking continued growth in the state’s culinary scene.

This year, Oklahoma has eight semifinalists — seven from Oklahoma City and one from Tulsa — spread across four categories.

These are the 2026 James Beard Foundation Awards Semifinalists for Oklahoma.

Advertisement

Best Chef: Southwest

Jeff Chanchaleune returns to the James Beard Foundation Awards long list for 2026 this time for Bar Sen, 1630 N Blackwelder Ave. Having previously been named a semifinalist for both Gun Izakaya and Ma Der and a two-time finalist for Ma Der, Chanchaleune is no stranger to the Beard Awards list.

“I’m relieved that we made the long list, but it’s not over yet. We still have two more rounds. We still have to make top five. We have to make it to Chicago, and hopefully we can bring it back finally,” Chanchaleune said. “Staff meeting’s like ‘We made it, but it’s not over. If you guys want this, we all got to work together.’”

Advertisement

Brian Momanyi and Stayce Momanyi of Plus254, 119 N Robinson Ave., began their journey with a food truck and now serve up authentic Kenyan dishes from the food court at the Robinson Renaissance building. Their samosas were recently named a people’s choice winner at the Girl Scouts of Western Oklahoma’s annual Cookies and Cocktails fundraiser and also won an award for best samosas in OKC’s Vegan Chef challenge in 2024.

Zack Walters of Sedalia’s, 2727 NW 10th St., finds himself named a semifinalist for the second year in a row.

“I am very thrilled to be nominated and representing Oklahoma and its continued push in the national conversation when it comes to food, hospitality & the legacy of our community. It is a very trying time to think of awards and awards season in our profession but we are so immensely grateful nonetheless – this award nomination feels more for my team than it does for me,” Walters said. “The hard work, dedication and commitment they put into their day. We are very honored to be recognized. I’m incredibly happy to share this semifinalist nomination with all my colleagues representing Oklahoma, I’m very lucky to know many of them and know the dedication they put into their craft and into building our community.”

Advertisement

Veronica Zelada of Café Kacao, 3325 N. Classen Blvd., has spent nearly 15 years crafting Latin-American dishes in Oklahoma City’s Asian District. Zelada’s restaurant is regularly regarded as one of the best brunch spots in Oklahoma City and people gladly wait in line to dine on the menu options that take their influences from Zelada’s native Guatemala, as well as countries like El Salvador, Brazil, and Southern Mexico.

Outstanding Restaurant presented by Acqua Panna Natural Spring Water

Nonesuch, 803 N. Hudson Ave., returns for the second consecutive year as a semifinalist in the Outstanding Restaurant category and is joined by FarmBar, 1740 S. Boston Ave. in Tulsa.

Both restaurants offer standout multi-course tasting menus crafted by chefs utilizing sustainably and thoughtfully sourced ingredients.

FarmBar’s head chef, Lisa Becklund, was a nominee in 2025 for Outstanding Chef and has been a two-time semifinalist for Best Chef: Southwest.

Advertisement

Best New Bar

Later Bye, 301 NW 13th St., earned a semifinalist mention in the Best New Bar category, one of the more recently added categories for the awards. The intimate spot is helmed by the team of Steven Idlet and Bailey and Brian Butler. The Butlers are also behind another popular OKC destination, Palo Santo.

“We are honored to be semifinalists for the James Beard Foundation’s Best New Bar! The recognition is a testament to our hard-working and talented staff,” Idlet said in a statement on behalf of the team. “It’s an amazing feeling to be mentioned alongside such talented peers across the country. We are incredibly grateful to the support OKC has given us over our first year and look forward to many more!”

Outstanding Restaurateur

Rachel Cope, who’s 84 Hospitality is the overhead of popular restaurants like Elisabetta, Gorō Ramen, Empire Slice and Burger Punk, has been making moves in the Oklahoma restaurant scene for more than a decade, inspired by friends from cities around the country, but dedicated to her love for her home state.

“I never even dreamt that that was possible. I’ve always just watched our friends and other restaurant people from Oklahoma and cheered them on, but it was definitely a really cool surprise,” Cope said.

Advertisement

Cope said the timing of the announcement is perfect as she prepares to launch into 2026 with her team, and gives them something to celebrate together, but that it’s also fun to have something to look forward to as she and other semifinalists await finalist nomination announcements in March.

“That would be really cool for the city, I think that would be awesome. It’d be cool for Oklahoma,” she said. “It’s always great when anyone from the state is recognized and kind of continues to shine a light on what everybody’s working really hard to do here in little Oklahoma. It’s a pretty cool place to be.”



Source link

Advertisement

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

Oklahoma

Oklahoma City artist returns with Thunder-themed window art for NBA playoffs

Published

on

Oklahoma City artist returns with Thunder-themed window art for NBA playoffs


Melissa Griggs-Hendricks and her team are back to paint Thunder-inspired designs on windows across Oklahoma City, spreading excitement for the NBA playoffs

Advertisement

Oklahoma City artist returns with Thunder-themed window art for NBA playoffs

Melissa Griggs-Hendricks and her team are back to paint Thunder-inspired designs on windows across Oklahoma City, spreading excitement for the NBA playoffs

Advertisement

WELL, OKLAHOMA CITY, IT IS ALMOST TIME FOR THE NBA PLAYOFFS AND WE ARE READY TO THUNDER UP. I’LL TELL YOU WHAT, OUR CITY SURE KNOWS HOW TO SHOW UP AND SHOW OUT. FROM WATCH PARTIES TO HOUSE DECORATIONS, OKC HAS GOT IT GOING ON AND THAT INCLUDES A LOCAL PAINTER. YOU MIGHT REMEMBER FROM LAST SEASON. OUR KOCO EVAN ONSTOT JOINING US LIVE IN THE NEWSROOM. WE HAVE THIS IN OUR NEWSROOM. EVAN, WE’RE ABOUT TO SEE BLUE AND ORANGE ALL OVER OKC. RIGHT. AND A LOT OF IT IS GOING TO BE THANKS TO ARTIST MELISSA GRIGGS HENDRICKS. WE WATCHED MELISSA AND HER TEAM CREATE THUNDER MAGIC ALL OVER OKLAHOMA LAST YEAR, AND NOW SHE IS BACK. AND MAYBE EVEN BETTER THAN BEFORE. MELISSA AND HER ASSISTANT CANDACE PAINT THUNDER IMAGES ON WINDOWS. ABBY, YOU MENTIONED WE HAD ONE RIGHT HERE IN THE KOCO NEWSROOM. AND SO THIS YEAR, THESE LADIES ARE BACK TO SPREAD SOME THUNDER EXCITEMENT. THEY SAY THEY’VE GOT EVEN MORE DESIGNS THIS YEAR AND THEY BELIEVE THEY CAN DOUBLE THE ART THIS SEASON. THEY JUST CAN’T WAIT FOR THE PLAYOFFS TO START. LAST YEAR FOR THE PLAYOFFS, WITHIN A TWO AND A HALF MONTH SPAN, WE PAINTED 157 LOCATIONS. SOME OF THOSE WERE HUGE AND SOME WERE SMALL. AS ONE WINDOW, WE HAVE A GUESS OF ABOUT 25 GALLONS. WE MAY HAVE MISSED A FEW. IT DOESN’T TAKE A TON OF PAPER FOR DESIGN TYPICALLY, BUT YEAH, ABOUT 25 GALLONS LAST YEAR. THIS YEAR I THINK WE’RE GOING TO DO A WHOLE LOT MORE. IT FEELS AMAZING TO BE BACK. I’M SO EXCITED. WE JUST HAD SUCH A GREAT TIME LAST YEAR AND I’VE REALLY MISSED THIS COMMUNITY OF JUST GETTING TO SEE EVERYBODY AND JUST BE A HUGE PART OF ALL THE EXCITEMENT FOR THE PLAYOFFS. YEAH, THEY DO INCREDIBLE WORK. NOW. MELISSA SAYS THAT IF YOU ARE INTERESTED IN HAVING ANY OF YOUR WINDOWS PAINTED, YOU JUST GOT TO CONTACT HER THROUGH EMAIL. WE’RE GOING TO POST A

Advertisement

Oklahoma City artist returns with Thunder-themed window art for NBA playoffs

Melissa Griggs-Hendricks and her team are back to paint Thunder-inspired designs on windows across Oklahoma City, spreading excitement for the NBA playoffs

Updated: 7:52 PM CDT Apr 10, 2026

Editorial Standards

Advertisement

Oklahoma City is preparing for the NBA playoffs, and artist Melissa Griggs-Hendricks is bringing Thunder spirit to life with her signature window art. >> Download the KOCO 5 app | Subscribe to KOCO 5’s YouTube channel | Sign up for KOCO 5’s Morning NewsletterGriggs-Hendricks, along with her assistant Candace, is painting Thunder-themed images on windows throughout the city, including one at the KOCO newsroom. “Last year for the playoffs, within a two-and-a-half-month span, we painted 157 locations. Some of those were huge and some were small as one window,” Griggs-Hendricks said. “We have a guess of about 25 gallons. We may have missed it. It doesn’t take a ton of paint for a design. Typically, they get about 25 this year. I think we’re going to do a whole lot more.” She expressed her enthusiasm for returning this season. “It feels amazing to be back. I’m so excited. We just had such a great time last year, and I really miss this community of just getting to see everybody and just be a huge part of all the excitement for the playoffs,” Griggs-Hendricks said. Get the latest news stories of interest by clicking here.Griggs-Hendricks and her team say they have even more designs planned this year and believe they can double their output from last season. Top HeadlinesWoman dies after being hit by a train in Pauls Valley, OHP saysOut-of-this-world playlist: Here’s what the Artemis II astronauts have been listening in spaceOHP releases details of deadly crash involving Oklahoma State softball team’s busRollover crash involving multiple vehicles causes significant traffic on SB I-35 near GoldsbyPennsylvania woman’s Ring camera captures machete-wielding neighbor

Oklahoma City is preparing for the NBA playoffs, and artist Melissa Griggs-Hendricks is bringing Thunder spirit to life with her signature window art.

Advertisement

>> Download the KOCO 5 app | Subscribe to KOCO 5’s YouTube channel | Sign up for KOCO 5’s Morning Newsletter

Griggs-Hendricks, along with her assistant Candace, is painting Thunder-themed images on windows throughout the city, including one at the KOCO newsroom.

“Last year for the playoffs, within a two-and-a-half-month span, we painted 157 locations. Some of those were huge and some were small as one window,” Griggs-Hendricks said. “We have a guess of about 25 gallons. We may have missed it. It doesn’t take a ton of paint for a design. Typically, they get about 25 this year. I think we’re going to do a whole lot more.”

Advertisement

She expressed her enthusiasm for returning this season.

“It feels amazing to be back. I’m so excited. We just had such a great time last year, and I really miss this community of just getting to see everybody and just be a huge part of all the excitement for the playoffs,” Griggs-Hendricks said.

Get the latest news stories of interest by clicking here.

Griggs-Hendricks and her team say they have even more designs planned this year and believe they can double their output from last season.


Top Headlines

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

Advertisement

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

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

Advertisement

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

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

Advertisement

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

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

Advertisement

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;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

Advertisement

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

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.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 || ”;

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

Loading more articles…



Source link

Advertisement
Continue Reading

Trending