Connect with us

Louisiana

Why Texas gets 9 miles of off-shore territory but Louisiana gets 3 — and how it could change

Published

on

Why Texas gets 9 miles of off-shore territory but Louisiana gets 3 — and how it could change


WASHINGTON — U.S. Rep. Garret Graves intends to sprint toward the finish line for the 118th Congress, which convenes Monday and disbands in a month, by pushing an issue he has been working since he was a Capitol Hill staffer 20 years ago.

“This has been an ongoing effort for me, for many years, to give Louisiana parity,” Graves said.

Graves, a Baton Rouge Republican who steps down when the 119th Congress assumes office on Jan. 3, teamed with Rep. Troy Carter, D-New Orleans, on a bill that would give Louisiana, Mississippi, and Alabama the same offshore sovereignty as Texas and Florida — moving the boundary line from three nautical miles to nine — thereby allowing Louisiana control of more energy exploration and fishing rights.

Graves said last week in announcing the Offshore Parity Act of 2024, “I’m not sure who was negotiating for us generations ago, but that is just ridiculous.”

Advertisement

History, rather than bonehead negotiators, played a greater role in setting state sovereignty over offshore waters.

Back in the 1600s, control of territorial waters off the coast was legally determined by how far a cannon could fire over the sea. The “cannon shot” rule gave nations control of their coastal waters for three nautical miles — roughly three and half miles on land.

As secretary of state in 1793, Thomas Jefferson claimed the United States boundaries extended three nautical miles into the territorial sea.

The independent Republic of Texas joined the United States in 1845 after breaking away in 1836 from Mexico, which itself had declared independence from Spain 15 years earlier. Florida also joined the union in 1845 after Spain relinquished rights to both territories.

Offshore sovereignty under Spain extended three leagues — roughly nine nautical miles off the coast. Those boundaries were set for Texas and Florida in the Treaty of Guadalupe-Hidalgo of 1848.

Advertisement

When both states rejoined the union after the Civil War, the same boundaries were kept. Everywhere else stayed at three nautical miles.

Generally, a state has sovereignty over the sea, the air above, and the bed below the sea within those limits.

The sea is vast and nobody really cared for generations, except for occasional squabbles over fishing rights.

That is until the 1940s when technology had progressed to exploit the oil and natural gas discovered in pockets underneath the Gulf of Mexico and off the California coast. With big money involved, territorial waters became a states versus federal rights debate.

Several states claimed jurisdiction over mineral and other resources off their coasts. Multiple U.S. Supreme Court decisions honored the nine-mile jurisdiction for Texas and Florida, three miles for everyone else, based on historical treaties. In 1947, the high court found that states had no title to resources beyond those limits.

Advertisement

Congress enacted the Submerged Lands Act of 1953 that limited states — except Texas and Florida — to three nautical miles off their coasts.

In 1969, the Supreme Court found that Louisiana could not prove its jurisdiction extended three leagues into the Gulf when the state joined the union in 1812.

The Graves-Carter bill addresses the legal imbalance.

“Our bill fixes this disparity by giving all Gulf states the same nine miles of energy, fisheries and other resources to manage,” Graves said. “Energy production in Louisiana waters will result in new revenue to rebuild our coast and protect our people and energy infrastructure. And Louisiana fisheries management will remain the best in the country.”

Carter likened the bipartisan bill to a tool in the debate.

Advertisement

“This is a critical step toward equality, ensuring Louisiana, Mississippi, and Alabama have the same authority over their waters as Texas and Florida,” he said.

The lame-duck 118th Congress has scheduled 12 days of work on Capitol Hill in December. During that time, Congress must pass legislation addressing this fiscal year’s appropriations or the federal government will shut down.

Congress also must approve defense spending, consider a $98 billion addition to the disaster recovery fund, plus extend the life of flood insurance and the Farm Bill.

Getting the Graves-Carter bill to the president’s desk will be a tall order, particularly given 400 years of history and U.S. dependence on oil and natural gas revenues to the national treasury.

On the other hand, the incoming Trump administration promised unfettered exploitation of offshore energy production. Giving states the ability to lease more sea bottoms will circumvent many federal restrictions to achieve that goal.

Advertisement



Source link

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

Trending