Connect with us

California

California’s Voter ID Initiative is Way More Chill Than Trump’s SAVE Act

Published

on

California’s Voter ID Initiative is Way More Chill Than Trump’s SAVE Act


Sources: California Voter ID Initiative text (proposed); H.R. 7296, Safeguard American Voter Eligibility Act, 119th Congress, 2d Session (introduced January 30, 2026); Congressional Research Service Bill Summary; California Secretary of State; National Conference of State Legislatures (NCSL).

Background: How California Currently Handles Voter Identification

Under current California law, U.S. citizenship is required to vote, but the state relies on voters to simply attest to their citizenship when registering. California does not generally require voters to show identification at the polls. The limited exceptions apply only to first-time federal election voters who registered by mail or online without providing a California ID or Social Security number, and even then, the state allows a broad range of documents, including utility bills, bank statements, paychecks, or official government mail.

In 2024, Governor Gavin Newsom signed legislation explicitly banning local jurisdictions from requiring voter ID, following Huntington Beach voters’ approval of a local measure to do so. California currently has among the most permissive voter identification rules in the nation.

The California Initiative: A Targeted, Inclusive Reform

A proposed California ballot initiative would amend the state constitution to add a new Section 3.1 to Article II. The initiative states three purposes: to “promote public confidence and trust in the electoral process,” to “deter and detect voter fraud by maintaining accurate voter registration records and confirming eligibility to vote,” and to “minimize the risk of voter impersonation by requiring proof of identity to vote.”

Advertisement

The measure is notable for what it does and, just as importantly, for what it does not do.

For in-person voting, the initiative requires that “each time a voter casts a ballot in person in any election in the State, the voter shall present government-issued identification.” The initiative defines government-issued identification as “documentation that allows conclusive verification of the voter’s identity.”

For mail voting, the requirement is far more limited. The voter needs only to provide “the last four digits of a unique identifying number from government-issued identification that matches the one designated solely by the voter for their voter registration.” Importantly, the type of ID designated by each voter “must be indicated in their voter registration record, noted on the mail ballot envelope provided to them, and available to them on request by phone or electronically,” so voters are never caught off guard.

On the question of cost, the initiative is explicit: “Upon request by an eligible voter, the state shall provide, at no charge, a voter ID card for use in casting a ballot.” This is perhaps the most important provision in the measure. One of the most common and legitimate criticisms of voter ID laws is that they can function as a de facto poll tax. This initiative addresses that concern directly by guaranteeing that the means of compliance are freely available to every eligible voter.

On citizenship verification, the initiative directs the Secretary of State and county elections officials to “use best efforts to verify citizenship attestations using government data” and to “annually report what percentage of each county’s voter rolls have been citizenship-verified.” This is a transparency measure, not a documentation barrier.

Advertisement

On accountability, the initiative requires that “during every odd-numbered year, the State Auditor shall audit the State’s and each county’s compliance with this section and report its findings and recommendations for improving the integrity of elections to the public.” Citizens may also “seek judicial review and remedy of the State’s or any county’s compliance with this section.”

What the initiative does not do is equally important. It does not require documentary proof of citizenship to register to vote. It does not require voters to submit citizenship documents with mail ballots beyond the last four digits of an ID number. It does not impose criminal penalties on election officials. It does not create unfunded mandates. It does not establish a private right of action against election workers.

In short, the California initiative is a narrowly drawn measure. It asks voters to confirm who they are while ensuring that the tools to do so are freely available to all.

The Federal SAVE Act (H.R. 7296): A Sweeping and Problematic Mandate

Introduced in the House on January 30, 2026, by Rep. Chip Roy and referred to the Committee on House Administration, the Safeguard American Voter Eligibility Act amends the National Voter Registration Act of 1993. Unlike the California initiative, which works within existing systems, the SAVE Act would fundamentally restructure how Americans register to vote and cast ballots in federal elections, with requirements that, in many cases, are practically impossible for millions of eligible citizens to meet.

Advertisement

Here is what the bill actually requires, provision by provision, and why each raises serious concerns.

1. Documentary Proof of Citizenship Required to Register

The bill is unambiguous on this point. It states that “a State may not register an individual to vote in elections for Federal office held in the State unless, at the time the individual applies to register to vote, the individual provides documentary proof of United States citizenship.”

The bill defines acceptable proof narrowly. It includes a REAL ID-compliant document “that indicates the applicant is a citizen of the United States,” a valid U.S. passport, or a military ID combined with “a United States military record of service showing that the applicant’s place of birth was in the United States.” For voters who cannot provide those documents, the bill allows a government photo ID paired with a certified birth certificate, but that birth certificate must meet an exacting list of requirements: it must include “the full name, date of birth, and place of birth of the applicant,” must list “the full names of one or both of the parents of the applicant,” must carry “the signature of an individual who is authorized to sign birth certificates,” must include “the date that the certificate was filed with the office responsible for keeping vital records in the State,” and must bear “the seal of the State, unit of local government, or Tribal government that issued the birth certificate.”

This is an extraordinarily demanding standard. Birth certificates are lost, damaged, or were never properly recorded, particularly for older Americans, rural residents, and low-income citizens.

Let Us Vote : Sign Now!

The bill does include a fallback process for applicants who cannot produce these documents. They may “sign an attestation under penalty of perjury that the applicant is a citizen of the United States” and “submit such other evidence to the appropriate State or local official demonstrating that the applicant is a citizen.” The official then makes a personal judgment and must sign a sworn affidavit “swearing or affirming the applicant sufficiently established United States citizenship.” This places an unusual and significant legal burden on individual election workers who are simply trying to help voters register.

Advertisement

2. A Photo ID Requirement That Specifies Citizenship on the Face of the Document

The bill requires that every voter in a federal election present an “eligible photo identification document.” The bill defines that document as one containing “a photograph of the individual identified on the document,” “an indication on the front of the document that the individual identified on the document is a United States citizen,” and either an ID number or “the last four digits of the social security number of the individual identified on the document.”

The citizenship indicator requirement is the critical problem. Currently, only a handful of states denote citizenship status directly on driver’s licenses. Even REAL ID-compliant cards display the same gold star insignia for citizens and lawfully present non-citizens alike. The bill does include a limited workaround: a voter may present a non-compliant ID “together with another identification document that indicates the individual is a United States citizen.” But requiring two documents at the polls is itself a significant additional burden, and it would disqualify the standard ID held by the vast majority of Americans unless paired with a second document.

The bill also specifies that for in-person voting, the eligible photo identification document “shall be a tangible (not digital) document,” closing off the possibility of using a digital ID on a smartphone, a technology that several states have begun adopting.

3. Double Documentation Required for Absentee Voting

For voters casting absentee ballots, the bill requires that a copy of the eligible photo identification document be submitted both “with the request for an absentee ballot” and again “with the submission of the absentee ballot.” This double documentation requirement, which most states do not currently impose at any stage, would add substantial friction to the process that millions of Americans, including elderly, disabled, and overseas military voters, rely upon as their primary means of voting.

4. Immediate Effective Date, No Funding, No Phase-In

The bill states plainly that its provisions “shall take effect on the date of the enactment of this section.” There is no phase-in period. There is no federal funding provided to help states implement new documentation systems, train election workers, update voter registration forms and databases, or communicate requirements to the public. The Election Assistance Commission is given just 10 days after enactment to “adopt and transmit to the chief State election official of each State guidance with respect to the implementation of the requirements.” States are given 30 days to “establish a program” for identifying non-citizens on voter rolls. These are the conditions under which states would be expected to overhaul their entire voter registration and election administration infrastructure.

Advertisement

5. The Risk of Bifurcated Elections

States that cannot comply with the law’s requirements could be forced to maintain two separate voter rolls: one for voters who have provided documentary proof of citizenship and are eligible to vote in federal elections, and one for voters who have not. Arizona has operated under just such a bifurcated system since 2004, resulting in nearly two decades of continuous litigation. The SAVE Act would risk spreading that legal and administrative chaos to all 50 states simultaneously, with no funding and no preparation time.

6. Mandatory Federal Database Cross-Checks and Data Sharing

The bill requires states to establish programs to identify non-citizens on voter rolls using information from the Department of Homeland Security’s SAVE system, the Social Security Administration, and state driver’s license agencies. Federal agencies must respond to state requests within 24 hours and are directed to “share information with each other with respect to an individual who is the subject of a request.”

More Choice for San Diego

The bill goes further: it directs the Secretary of Homeland Security to “conduct an investigation to determine whether to initiate removal proceedings” against any non-citizen found to be registered to vote. This means voter registration data would become a direct input into federal immigration enforcement. The scope of personal voter information flowing between state election systems and federal agencies raises significant privacy concerns that the bill does not address.

7. Criminal Penalties for Election Officials

The bill amends the existing criminal penalties section of the National Voter Registration Act to make it a federal crime for an election official to register “an applicant to vote in an election for Federal office who fails to present documentary proof of United States citizenship.” The bill also criminalizes “providing material assistance to a noncitizen in attempting to register to vote or vote in an election for Federal office” for executive branch officers and employees.

Critically, the bill does not limit criminal liability to knowing or willful violations. An election official who makes an honest administrative mistake could face federal criminal prosecution. This provision could have a severe chilling effect on election administration, discouraging qualified people from serving as election officials and causing those who do serve to deny registration to borderline applicants out of fear of personal legal consequences.

Advertisement

8. A Private Right of Action Against Election Officials

The bill expands private right of action provisions under the National Voter Registration Act to include “the act of an election official who registers an applicant to vote in an election for Federal office who fails to present documentary proof of United States citizenship.” This means private individuals may sue election officials directly for compliance failures, compounding the chilling effect of the criminal penalties and creating a hostile legal environment around the routine work of election administration.

Side-by-Side Comparison

Feature

California Initiative

Federal SAVE Act (HR7296)

Advertisement

Photo ID for in-person voting

IVP Donate

Yes

Yes

Digital IDs accepted

Not specified

Advertisement

No, tangible only

Mail ballot ID requirement

Last 4 digits only

Full photocopy required twice

Let Us Vote : Sign Now!

Proof of citizenship to register

Advertisement

No

Yes, documentary proof required

Citizenship indicator required on ID

No

Yes, on the face of the document

Advertisement

Free ID provided

Yes, guaranteed by the initiative

More Choice for San Diego

Not addressed

Federal or state funding provided

State legislative implementation is required

Advertisement

No funding provided

Phase-in period

Legislature required to act promptly

No phase-in, effective immediately

Criminal penalties for officials

Advertisement

IVP Donate

No

Yes, including for non-willful errors

Private right of action against officials

No

Yes

Advertisement

Risk of bifurcated elections

No

Yes

Let Us Vote : Sign Now!

Federal database surveillance of voters

No

Advertisement

Yes, extensive, including immigration referrals

Annual audits and public reporting

Yes, required by the initiative

No

Advertisement

The Bottom Line

Both proposals share a stated goal: ensuring that only eligible U.S. citizens cast ballots in American elections. But they represent fundamentally different visions of how to pursue that goal, and the differences matter enormously for millions of American voters.

The California initiative works within existing systems. It asks voters to confirm who they are, provides free IDs to those who need them, and builds in transparency and accountability through annual audits and public reporting. Its requirements are clearly defined, its burdens are modest, and its protections for voters are explicit.

More Choice for San Diego

The SAVE Act, as written in H.R. 7296, would impose requirements that tens of millions of eligible American citizens cannot currently meet, without providing a dollar in funding, a meaningful period of preparation, or protection for the election officials expected to carry it out. It takes effect the day it is signed. It gives states 30 days to overhaul their voter rolls. It exposes election workers to both criminal prosecution and private lawsuits for honest mistakes. It routes voter registration data into federal immigration enforcement. And it threatens to force all 50 states into the kind of bifurcated election chaos that Arizona has lived with for two decades.

Reasonable people can disagree about whether voter ID requirements are necessary or wise as a matter of policy. But the contrast between these two proposals is instructive. One is a carefully drawn, incremental reform that takes eligible voters’ concerns seriously. The other is a sweeping federal mandate that, as written, would make voting harder for millions of lawful American citizens while creating new legal and administrative burdens that states are given neither the time nor the resources to meet.



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