Connect with us

California

California’s High-Speed Rail Dreams Could Go “Whoosh”

Published

on

California’s High-Speed Rail Dreams Could Go “Whoosh”


Riding Indonesia’s new bullet train Whoosh is like taking a peek into California’s high-speed rail’s future, writes columnist Joe Mathews. And it doesn’t look promising. Photo of Whoosh train by author.

Advertisement

The good news is that California will almost certainly have a high-speed rail line someday.

The bad news is that it may look a lot like “Whoosh.”

Whoosh is the name of the new high-speed rail line that opened last October on the Indonesian island of Java. Its existence is a breakthrough—Whoosh is the first bullet train in Southeast Asia and the Southern Hemisphere. Similarly, California’s train could be the first truly high-speed service in North America. (Amtrak’s Acela and Florida’s Brightline don’t count—they don’t surpass 150 miles per hour.)

I rode Whoosh during a reporting trip to Java in February. It was disappointing, in ways that may preview how Californians are likely to feel about the high-speed rail we eventually get.

Advertisement

Most stories about the possibilities for California high-speed rail look at proven, efficient bullet trains in Europe and East Asia. I myself have written about the glories of high-speed rail systems in Germany and Taiwan. Riding Whoosh was a very different experience.

Whoosh is the by-product of ambitions by the administration of President Joko Widodo to build a high-speed rail route traversing the 600 miles of the island of Java—from the mega-city of Jakarta in the west to Surabaya in the east. California’s official high-speed rail plans are of similar ambition, extending 600 miles from San Francisco and Sacramento in the north to San Diego in the south. Both systems will use similar technologies and have promised the same top speed—350 kilometers, or 220 miles, per hour.

But neither rail ambition, Indonesian nor Californian, seems likely to be achieved in our lifetimes. Whoosh is only a very partial realization of a trans-Java high-speed rail: It extends just 88 miles, from Jakarta to the outskirts of the city of Bandung—roughly the distance from L.A. to Santa Barbara.  Similarly, California voters approved high-speed rail in 2008 on the promise they’d be zipping from L.A. to the Bay in less than three hours by 2020. Currently, only a first segment—171 miles from Merced to Bakersfield—is under construction, and even that isn’t scheduled to be operational until 2030.

I boarded Whoosh early on a weekday morning. The red train was shiny and new, and inside the car, seating was spacious and comfortable. But there were few other passengers. Even with subsidized fares that made my ticket the equivalent of $18, many trains were pretty empty. News reports say Whoosh is already losing money, as many high-speed rail systems worldwide do.

Why isn’t Whoosh more popular? One reason echoes a failure of California’s own high-speed rail plans—the first segment of this train doesn’t take you to the centers of the biggest cities.

Advertisement

What I learned in Java was that, in high-speed rail as in other things, you get what you pay for.

In Jakarta, you don’t board the train in the city center but at Halim Station, on the city’s southeast side. My taxi ride there from Central Jakarta took 45 minutes. Halim is next to a smaller domestic airport—Jakarta’s version of Burbank. But the train doesn’t go into the airport, and one can’t walk easily from terminals, or even surrounding neighborhoods, to the station, because it involves crossing highways.

The train ride itself, from Jakarta to Bandung, was fast and uneventful. It lasted only 45 minutes—much better than the three hours the trip would take by car.

However, on the other end of Whoosh, connections were even more fraught. The train doesn’t go near the center of Bandung. Instead, it dropped me at Tegalluar station, well to the south of Bandung.

There I found myself surrounded by open land and a large soccer stadium. To get to central Bandung, where I was to interview local government members and visit a school, I would need to spend another 45 minutes in the taxis. The two taxi rides—within Jakarta and greater Bandung—took 90 minutes, twice the amount of time I spent on the train ride.

Advertisement

On my return trip from Bandung to Jakarta, I tried an alternative path. I boarded a special feeder train—which ran slowly on diesel engines—from central Bandung to a different Whoosh station. That trip took 22 minutes. After Whoosh delivered me back to Halim station in southeast Jakarta, I boarded Jakarta’s Metro to return to where I was staying in Central Jakarta. That ride took 70 minutes.

California’s approach to high-speed rail suffers from a similar failure to connect. The first segment remains entirely within the Central Valley, not penetrating even the outer edges of the Bay Area or Southern California. That first segment’s endpoints, Merced and Bakersfield, have limited public transportation options; moving on to further destinations would require navigating slow transit connections, or accessing a car.

In California, as in Indonesia, it’s unlikely that either rail plan will ever produce a robust and deeply connected rail system. The obstacle is the same in both places: lack of public money.

Neither Indonesia’s nor California’s government is willing to pay the high costs of a great high-speed rail system. So, both projects are dependent on money from outside the state.

Whoosh’s funding came from China’s Belt and Road Initiative, Xi Jinping’s highly touted but largely failed infrastructure loan program. (Chinese entities own a big share of Whoosh as a result). Meanwhile, California, despite state bond funds, needs the federal government to make high-speed rail happen. And Washington is an unstable supporter. The Biden administration recently sent an infusion of $3.1 billion. The Trump administration previously took money away.

Advertisement

Worse still, both Indonesia and California have seen cost overruns and big delays on their first train segments—scandals that discourage further investment. Whoosh was more than $1 billion over budget, and four years late, on its first $7.2 billion segment. California’s first segment is estimated to cost $33 billion—as much as the estimated cost of the entire system when voters approved it in 2008. Now the entire system’s price tag is $128 billion, with completion still decades away.

What I learned in Java was that, in high-speed rail as in other things, you get what you pay for. And if your government won’t spend the money required to build robust and well-connected rail systems, you won’t get much.



Source link

Advertisement

California

See How Meghan Markle and Prince Harry Celebrated Easter in California With Their Children

Published

on

See How Meghan Markle and Prince Harry Celebrated Easter in California With Their Children


While the royal family gathered in Windsor this morning to attend Easter Sunday services, the holiday looked quite different in Montecito, California for Prince Harry, Meghan Markle, and their two children, Prince Archie and Princess Lilibet.

On Instagram, Meghan shared videos from their day, including feeding their chickens, gathering eggs, watching Archie and Lilibet race on an Easter egg hunt with their dogs following, Lilibet, in a pink dress, holding a large stuffed bunny toy while wearing bunny ears, and Archie working on decorating eggs. “Happy Easter!” she wrote in the caption . Watch the clips here:

In With Love, Meghan, Meghan spoke about collecting eggs from her chickens. “What’s really cool is with whatever’s going on in life, to be able to do something like this,” Meghan tells the camera about collecting eggs from her chickens. “It’s just fun. It’s fun for kids and for adults. But, if a morning starts like this [snaps], you think about your day differently.”

Harry and Meghan’s Netflix docuseries, Harry & Meghan, offered a sweet glimpse into their Easter traditions in California. In the sixth episode, cameras capture the Duke and Duchess of Sussex, along with Meghan’s mom Doria, as they set up an Easter egg hunt for Archie in April 2021.

Advertisement
Screenshot/Netflix

Meghan, pregnant with Lilibet, on Easter 2021.

prince harry meghan markle easter egg hunt netflix
Screenshot/Netflix

Harry places an egg underneath a Peter Rabbit character.

prince harry meghan markle easter egg hunt netflix
Screenshot/Netflix

The Sussexes setting up an Easter egg hunt for Archie in their backyard.

On ShopMy last year, Meghan shared her Easter essentials, which included children’s clothing picks from J.Crew, Boden, and Petite Plume, among other brands, and Easter hosting items such as children’s toys and home goods. Earlier this week, she was spotted shopping for Easter gifts at a local Montecito shop. “She was there for a while, talking to the staff and making selections,” a source told People at the time.

In addition, last month, her brand As Ever launched a limited-edition “Bloom Box” in collaboration with High Camp Supply, a San Francisco-based luxury florist. The box was meant to ship in time for Easter.

Advertisement

Headshot of Emily Burack

Emily Burack (she/her) is the Deputy Digital Editor for Town & Country, where she covers entertainment, celebrities, the royals, and a wide range of other topics. Before joining T&C, she was the deputy managing editor at Hey Alma, a Jewish culture site. Follow her @emburack on Instagram, Twitter, and other social media platforms.



Source link

Continue Reading

California

California Politics 360 Full Episode | $13M placed in bets on CA governor’s race

Published

on

California Politics 360 Full Episode | M placed in bets on CA governor’s race


Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done.

Advertisement

California Politics 360 Full Episode | $13M placed in bets on CA governor’s race

Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done.

Advertisement

California Politics 360 Full Episode | $13M placed in bets on CA governor’s race

Advertisement

Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done.

Updated: 8:25 AM PDT Apr 5, 2026

Editorial Standards

Advertisement

At least $13 million has been placed in bets on the California governor’s race. In a state that doesn’t allow online sports betting, why are people allowed to bet on politics? The two most popular betting and prediction sites – Kalshi & Polymarket – are facing a flurry of lawsuits. Last week, Washington filed a lawsuit against Kalshi. Last month, Arizona’s attorney general filed criminal charges against the company. This week, California Sen. Adam Schiff joined three other senators in proposing legislation to block insiders from betting. Gov. Newsom also made some moves on the state level, banning state employees or his appointees and their family members from making bets on these sites using state information. Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done. This year, California voters will decide who they want to be their next governor. Every week leading to the June primary, we will hear from one of the top 10 candidates running for the state’s highest position. This week, Ashley Zavala sat down with Republican Steve Hilton to get his thoughts on the major issues impacting Californians. New changes went into effect this week, impacting who is eligible for CalFresh. Ashley Zavala sits down with the Executive Director of the County Welfare Directors Association, Carlos Marquez III. We take a closer look at the responsibilities for California’s Insurance Commissioner ahead of the June primary.KCRA 3 Political Director Ashley Zavala reports in-depth coverage of top California politics and policy issues. She is also the host of “California Politics 360.” Get informed each Sunday at 8:30 a.m. on KCRA 3.

At least $13 million has been placed in bets on the California governor’s race. In a state that doesn’t allow online sports betting, why are people allowed to bet on politics?

The two most popular betting and prediction sites – Kalshi & Polymarket – are facing a flurry of lawsuits. Last week, Washington filed a lawsuit against Kalshi. Last month, Arizona’s attorney general filed criminal charges against the company.

Advertisement

This week, California Sen. Adam Schiff joined three other senators in proposing legislation to block insiders from betting. Gov. Newsom also made some moves on the state level, banning state employees or his appointees and their family members from making bets on these sites using state information.

Ashley Zavala sits down with Sacramento Assembly Member Maggy Krell about what more she says should be done.

This year, California voters will decide who they want to be their next governor. Every week leading to the June primary, we will hear from one of the top 10 candidates running for the state’s highest position. This week, Ashley Zavala sat down with Republican Steve Hilton to get his thoughts on the major issues impacting Californians.

New changes went into effect this week, impacting who is eligible for CalFresh. Ashley Zavala sits down with the Executive Director of the County Welfare Directors Association, Carlos Marquez III.

Advertisement

We take a closer look at the responsibilities for California’s Insurance Commissioner ahead of the June primary.


KCRA 3 Political Director Ashley Zavala reports in-depth coverage of top California politics and policy issues. She is also the host of “California Politics 360.” Get informed each Sunday at 8:30 a.m. on KCRA 3.

Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

Advertisement

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

Advertisement

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

Advertisement

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.kcra.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.kcra.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

Advertisement

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

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

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

Advertisement

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

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

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

Advertisement

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

Advertisement

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

Advertisement

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.kcra.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.kcra.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

Advertisement

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

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

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

Advertisement

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

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

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Loading more articles…

Advertisement



Source link

Continue Reading

California

Loved ones search for missing 15-year-old Southern California girl 

Published

on

Loved ones search for missing 15-year-old Southern California girl 


Loved ones are searching for a Southern California girl who has been missing for more than six months.

Keylin Reyes-Moreno, 15, was reported missing on Sept. 22, 2025, according to the National Center for Missing & Exploited Children (NCMEC).

Reyes-Moreno was last seen in the Pacoima area.

She is 5 feet 6 inches tall and weighs 120 pounds. She has brown hair and dark brown eyes.

Advertisement
Keylin Reyes-Moreno, 15, was last seen in Pacoima on Sept. 22, 2025. (National Center for Missing & Exploited Children)

She may have been heading to the Los Angeles area when she disappeared.

Her family did not mention any health or mental issues that would’ve contributed to her disappearance. They have not heard from her since and are very concerned for her well-being.

Anyone who may know Keylin Reyes-Moreno’s whereabouts or has information on the case is asked to call NCMEC at 1-800-843-5678 or the Los Angeles Police Department at 877-275-5273.



Source link

Advertisement
Continue Reading

Trending