Connect with us

Louisiana

In Louisiana’s River Parishes, one museum is helping residents’ piece together their histories

Published

on

In Louisiana’s River Parishes, one museum is helping residents’ piece together their histories


The land in Louisiana’s River Parishes is populated with lost families.

Unmarked graves of formerly enslaved people — sometimes totaling more than 1,000 in a single area — have been found in tree clusters in the middle of empty fields.

In 2018, Shell Convent memorialized the Bruslie Plantation and Monroe Plantation cemeteries, which had been found on its property. BASF completed a similar project in 2022, preserving a Native American burial site and cemetery of around two-thirds of the 300 enslaved people who lived and worked at what was once the Linwood Plantation.

And in October, research conducted by an environmental advocacy group identified five formerly enslaved people — Stanley, 31; Simon, 23; Harry, 18; Betsy, 18; and Rachel, 9 — believed to be buried on the site of the proposed Formosa plastics plant in St. James Parish.

Advertisement

Many of the graves are unidentified. And family histories in the region remain incomplete because of the lingering effects of the trans-Atlantic Slave Trade, from the unmarked burials to the recording of people as property — without names — in U.S. Census Bureau records from the era.

But the River Road African American Museum in Donaldsonville is working to help people uncover and repair some of those voids through quarterly genealogy workshops, which educate attendees on databases and ways to search for their history.

Untold stories

One such largely forgotten story is that of Lawrence Minor, who was enslaved as a child at the Linwood Plantation, where the BASF plant in Geismar currently sits.

Regina Bergeron, the museum’s former board director and a BASF employee, led the museum’s most recent workshop in early December. During it, she explained her role in BASF’s preservation of the cemeteries on its property and her research into Minor’s life.

“Learning about this is history … opens doors, and we can have more conversations about it,” she said during the session. “ … I run into a roadblock with the 18th century, and so (for) my peers to understand those challenges that I had as an African American just opens a door and some additional dialogue.”

Advertisement

The Linwood Plantation owner, Phillip Minor, had at least three children with an enslaved woman named Lucy, Bergeron explained. In his will, Phillip Minor left provisions for Lucy and her children to be freed.






Advertisement

Workshop instructor Regina Bergeron laughs as she shares stories about her grandparents when presenting her family tree during the River Road African American Museum genealogy workshop in Donaldsonville on Saturday, December 7, 2024.




“One of those children is Lawrence Minor. Lawrence was the first president of Prairie View A&M, and he was very influential in the Underground Railroad,” she explained.

Prairie View A&M, a historically black college in Texas, is the second-oldest public college in that state and one of its two land-grant universities, according to its website. Bergeron said she discovered Lawrence Minor’s story when Steve Kleinpeter, another member of the BASF project, sent her an old newspaper article he found.

Advertisement

“Steve actually found this article, and he saw that it was a Black man. And he said, ‘Well, this can’t be the same Minors that I’m looking for because this is a Black man,’” she explained. “And then when he read the article again, he said, ‘Maybe this is connected, it says this man came from a plantation in Ascension Parish.’”

He notified Bergeron early in the afternoon, and the two independently found Minor’s will that emancipated Lucy and her children around 3 a.m. the next day. From there, they reconstructed his tree using newspaper articles, and records from his bank and Oberlin College, which he attended.

Workshop in action

But reconstruction is difficult. Census records from 1850 didn’t record any names for enslaved people. Instead, they documented the enslavers’ name, and the age, sex and color of each person owned. Fugitive slave advertisements, which offered rewards for runaways and were posted in papers including The Advocate and Times-Picayune, usually only contained a first name.







BR.ancestorsearch.adv.jpg

Advertisement

Historical documents like this one telling of the sale of people into slavery in the 1800s in Ascension Parish will be entered into databases by volunteers, to help make the search easier for people looking for their family’s history.




“In 1859, if enslaved people were transferred from one plantation to another, they would get the name of the plantation owner from the prior,” Bergeron said during the workshop. “So if they came from the Harris plantation, they might have the name Harris.”

The workshops guide attendees through the building their ancestry trees and locating these disparate sources of information. Dawn Kaigler, of Gonzales, said the December workshop was her second as she was trying to reconstruct her ancestral tree.

Advertisement

“With my father’s family … they had already done theirs,” she said. “But I was looking to find out some information about my mom’s family because we’re still trying to piece together some information on that.”

Kaigler added that the previous workshop she attended included a presentation on the 272 enslaved people who Georgetown University’s Jesuit founders sold to two Louisiana sugar cane planters in 1838. In 2022, the museum opened a permanent exhibit in the Episcopal Church of Ascension in Donaldsonville about the sale. The Jesuit order formally apologized in 2017 to the descendants of the enslaved.







BR.genealogy.adv.05.JPG

Gay Square talks about her family history while beginning to fill out her family tree during the River Road African American Museum genealogy workshop in Donaldsonville on Saturday, December 7, 2024.

Advertisement




“We got information on that and where some of those families migrated to once those enslaved people were sold off to further areas in Louisiana,” she said. “ … They had a list of the names of the people who were descendants … it was really quite interesting.”

During December’s meeting, Kaigler said she was looking into her grandfather’s history.

“My sister and I had started looking into things for that, and we went to the Ascension Parish Library and … got some information on various databases to try to start finding things,” she said. “And we kind of did find a census document from when my grandfather might have been about 16-years-old or so.”

Advertisement

‘Stories are beginning to be become erased’

The museum, which celebrated its 30th anniversary this year, has another workshop tentatively planned for February, Executive Director L’Oréal Evans said. The museum owns five properties, including one of 400 original Louisiana Rosenwald Schools that were established to educate Black students between 1912 and 1932.







asc RR Rosenwald Restoration #01.jpg

The River Road African American Museum’s restoration of a Louisiana Rosenwald School was recently completed. The Louisiana Rosenwald Schools provided educational opportunities for African-American students between 1912 and 1932. With the help of businesses such as Shell, BASF, and Ascension Parish governmental entities, the Museum was able to fund the $450,000 restoration.

Advertisement




In the school’s bathroom, a quote attributed to Henry Brougham is framed on the wall: “Education makes a people easy to lead, but difficult to drive, easy to govern, but impossible to enslave.”

Evans emphasized that historical education such as the workshops are vital to understanding the region’s history.

“We’re at a very detrimental time right now in America, where stories are beginning to be become erased as we see people taking books off of shelves, burning books, destroying books. Saying that these books are not good for education, for the future of America,” Evans said. “But what we do is we collect and preserve those stories. And so, part of doing so means that we allow people to come in, trace their heritage, find out … what their past is and who their people are. And in doing so, they record their own history.”



Source link

Advertisement

Louisiana

Police identify dirt Bike rider killed while allegedly fleeing from police during traffic stop

Published

on

Police identify dirt Bike rider killed while allegedly fleeing from police during traffic stop


The Louisiana State Police have identified the dirt bike rider who was involved in a deadly crash while evading police on Canal Boulevard.Landon Smith, 24, of Winnfield, was killed in the crash. Police say the crash happened around 5 p.m. on Canal Boulevard at City Park Avenue. Preliminary investigation revealed that New Orleans police were attempting to conduct a traffic stop on Canal Street in the French Quarter involving a dirt bike, driven by Smith. Police say Smith was driving recklessly and refused to stop, and continued to flee from police. Troop NOLA was made aware of the attempted traffic stop, and minutes later, they say Smith was traveling at a high rate of speed on Orleans Avenue while driving the wrong way into oncoming traffic. Troopers attempted to initiate a traffic stop, but Smith continued to evade police.Both NOPD and the troopers lost sight of the dirt bike. Troopers eventually located a crash involving the dirt bike and a truck at the intersection of City Park Avenue and Canal Boulevard.Law enforcement rendered aid to Smith, and he was transported to a local hospital, where he later died. According to state police, Smith was traveling west on City Park Avenue at a high rate of speed on the right shoulder, while passing westbound traffic stopped at a red light. As he approached the intersection of Canal Boulevard and disregarded the red light and continued straight through the intersection, hitting the right side of the truck, which was making a left turn onto Canal Boulevard from eastbound City Park Avenue. This is an ongoing investigation.

The Louisiana State Police have identified the dirt bike rider who was involved in a deadly crash while evading police on Canal Boulevard.

Landon Smith, 24, of Winnfield, was killed in the crash.

Advertisement

Police say the crash happened around 5 p.m. on Canal Boulevard at City Park Avenue.

Preliminary investigation revealed that New Orleans police were attempting to conduct a traffic stop on Canal Street in the French Quarter involving a dirt bike, driven by Smith.

Police say Smith was driving recklessly and refused to stop, and continued to flee from police.

Troop NOLA was made aware of the attempted traffic stop, and minutes later, they say Smith was traveling at a high rate of speed on Orleans Avenue while driving the wrong way into oncoming traffic.

Advertisement

Troopers attempted to initiate a traffic stop, but Smith continued to evade police.

Both NOPD and the troopers lost sight of the dirt bike.

Troopers eventually located a crash involving the dirt bike and a truck at the intersection of City Park Avenue and Canal Boulevard.

Law enforcement rendered aid to Smith, and he was transported to a local hospital, where he later died.

According to state police, Smith was traveling west on City Park Avenue at a high rate of speed on the right shoulder, while passing westbound traffic stopped at a red light.

Advertisement

As he approached the intersection of Canal Boulevard and disregarded the red light and continued straight through the intersection, hitting the right side of the truck, which was making a left turn onto Canal Boulevard from eastbound City Park Avenue.

This is an ongoing investigation.



Source link

Advertisement
Continue Reading

Louisiana

Why this New Orleans rooftop bar is considered one of the best in US

Published

on

Why this New Orleans rooftop bar is considered one of the best in US


play

During the Gilded Age in New York City, rooftop bars originated as a way to escape the busy streets and enjoy refreshing drinks while observing the city with a birds-eye view.

Rooftop bars have held onto their novelty, as they serve as social hotspots for locals and as a perfect place for visitors to take in a new city.

Advertisement

Whether watching the day unfold or on a night out under the stars, rooftop bars remain popular spots for enjoying libations.

Mambo’s in New Orleans named best rooftop bar in Louisiana

Mambo’s in New Orleans is the best rooftop bar in Louisiana, according to Foodie, and is the only rooftop bar on Bourbon Street.

This rooftop bar offers a unique vantage point of the infamous Bourbon Street, with panoramic views and a lively atmosphere making the bar a perfect place to take in New Orleans’ ambience.

The open-air space seats over 50 guests, and is the perfect place for a night out or for laid-back afternoon cocktails with a view of New Orleans’ iconic French and Spanish architecture.

Advertisement

The rooftop bar is not the only feature attracting patrons, as this three-story building holds a hidden entrance to a secret courtyard on the main floor that leads to a patio garden. On the second floor, there is another, more intimate bar adorned with Louisiana-themed decor.

Each floor retains a rustic, historical feel, with exposed brick and reclaimed cypress planks making up the building’s interior structure. Decorating the space are pieces of local art and cultural Louisiana artifacts, making the space feel somewhat like a museum.

Not just a spot for good drinks, Mambo’s offers a dining menu full of traditional Cajun and Creole flavors. Using only the freshest local ingredients, Mambo’s chefs create a menu rich in New Orleans heritage, offering dishes like jambalaya, seafood gumbo, crawfish étouffée and a variety of po’boys.

The best rooftop bar in every state according to Foodie

  • Alabama: GunRunner Rooftop Bar in Florence
  • Alaska: 49th State Brewing in Anchorage
  • Arizona: The Perch Brewery in Chandler
  • Arkansas: Celeste at The Preacher’s Son in Bentonville
  • California: Florentín Rooftop Bar in Los Angeles
  • Colorado: 54thirty Rooftop in Denver
  • Connecticut: Sign of the Whale in Stamford
  • Delaware: The Quoin Hotel + Restaurant in Wilmington
  • Florida: Rosa Sky in Miami
  • Georgia: 9 Mile Station in Atlanta
  • Hawaii: Tikis Grill & Bar in Honolulu
  • Idaho: Crave Kitchen & Bar in Eagle
  • Illinois: Raised | An Urban Rooftop Bar in Chicago
  • Indiana: 3UP Rooftop Lounge in Carmel
  • Iowa: Wellman’s Pub & Rooftop in Des Moines
  • Kansas: Tallgrass Tap House in Manhattan
  • Kentucky: Lost Palm in Lexington
  • Louisiana: Mambo’s in New Orleans
  • Maine: Luna Rooftop Bar in Portland
  • Maryland: Hip Flask Rooftop Bar in Bethesda
  • Massachusetts: Apex Rooftop Bar and Lounge in Boston
  • Michigan: The Monarch Club in Detroit
  • Minnesota: Brit’s Pub in Minneapolis
  • Mississippi: 10 South Rooftop Bar and Grill in Vicksburg
  • Missouri: 360 Rooftop Bar in St. Louis
  • Montana: Bozeman Taproom & Spirits in Bozeman
  • Nebraska: The Rooftop in Lincoln
  • Nevada: Chéri Rooftop in Las Vegas
  • New Hampshire: Rooftop at The Envio in Portsmouth
  • New Jersey: RoofTop at Exchange Place in Jersey City
  • New Mexico: Coyote Cantina in Santa Fe
  • New York: 230 Fifth in New York City
  • North Carolina: Aura Rooftop in Charlotte
  • North Dakota: Camp Lonetree in Fargo
  • Ohio: VASO Rooftop Lounge in Dublin
  • Oklahoma: Social Capital in Oklahoma City
  • Oregon: The Roof Deck at Revolution Hall in Portland
  • Pennsylvania: Standard Tap in Philadelphia
  • Rhode Island: Rooftop at the Providence G in Providence
  • South Carolina: Rip Tydz in Myrtle Beach
  • South Dakota: Juniper at Vertex Sky Bar in Rapid City
  • Tennessee: The Lookout at Ole Red in Nashville
  • Texas: Upstairs at Caroline in Austin
  • Utah: The Green Pig Pub in Salt Lake City
  • Vermont: Juniper Bar & Restaurant in Burlington
  • Virginia: The Lost Fox Hideaway in Ashburn
  • Washington: The Pink Door in Seattle
  • West Virginia: LaFontaine’s Rooftop Lounge in Huntington
  • Wisconsin: People’s Park in Waukesha
  • Wyoming: Bear Bottom Bar and Grill in Centennial

Presley Bo Tyler is the Louisiana Deep South Connect Team reporter for USA Today Network. Find her on X @PresleyTyler02 and email at PTyler@Gannett.com



Source link

Advertisement
Continue Reading

Louisiana

Louisiana State Police investigating deadly crash after driver allegedly evades police

Published

on

Police identify dirt Bike rider killed while allegedly fleeing from police during traffic stop


Louisiana State Police investigating deadly crash after driver allegedly evades police

Advertisement

ma’am. I Yeah. Yeah. I ma. Yeah. Yeah. ma’am. Yeah. Um.

Advertisement

Louisiana State Police investigating deadly crash after driver allegedly evades police

Updated: 9:30 PM CDT Apr 6, 2026

Editorial Standards

Advertisement

Louisiana State Police are investigating a crash after a driver allegedly evaded police on Canal Boulevard. Police say the crash happened around 5 p.m. on Canal Boulevard at City Park Avenue. The crash happened after the rider of the dirt bike struck another car while evading New Orleans police and Louisiana State Police, who were attempting to conduct a traffic stop. The subject was taken to a local hospital, where he later died. The name or age of the dirt bike rider was provided. This is an ongoing investigation. Anyone with information and/or pictures and videos is urged to share that information with LSP Detectives. You may anonymously report information through the Louisiana State Police online reporting system by visiting lsp.org and clicking on Report Suspicious or Criminal Activity, or by calling the LSP Fusion Center Hotline at 1-800-434-8007.

Louisiana State Police are investigating a crash after a driver allegedly evaded police on Canal Boulevard.

Advertisement

Police say the crash happened around 5 p.m. on Canal Boulevard at City Park Avenue.

The crash happened after the rider of the dirt bike struck another car while evading New Orleans police and Louisiana State Police, who were attempting to conduct a traffic stop.

The subject was taken to a local hospital, where he later died.

Advertisement

The name or age of the dirt bike rider was provided.

This is an ongoing investigation.

Anyone with information and/or pictures and videos is urged to share that information with LSP Detectives. You may anonymously report information through the Louisiana State Police online reporting system by visiting lsp.org and clicking on Report Suspicious or Criminal Activity, or by calling the LSP Fusion Center Hotline at 1-800-434-8007.

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