Înapoi la știri

California farmer and food marketer spar over who can sell white nectarines - AP News

1 oră în urmă
42 minute min
Maria Simionescu
California farmer Cesar Mora said he couldn’t bear to see his harvest of nectar fall to the ground and rot for a second year, so he is giving it away. (AP video shot by Jae Hong, AP production by Obed Lamy) 2 of 6 |  Family members and volunteers bag nectarines during a free giveaway at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) 3 of 6 |  Cesar Mora stands next to bins filled with nectarines as workers pick fruit at his orchard in Reedley, Calif., Wednesday, July 1, 2026, ahead of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) 4 of 6 |  A sign directs people to a free nectarine giveaway at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026. (AP Photo/Jae C. Hong) 5 of 6 |  People wait in line to get free nectarines at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) 6 of 6 |  Family members and volunteers wearing “No Nectarines Wasted” T-shirts bag nectarines at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, as part of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) California farmer Cesar Mora said he couldn’t bear to see his harvest of nectar fall to the ground and rot for a second year, so he is giving it away. (AP video shot by Jae Hong, AP production by Obed Lamy) Add AP News as your preferred source to see more of our stories on Google. Share Share Facebook Copy Link copied Print Email X LinkedIn Bluesky Flipboard Pinterest Reddit Read More 2 of 6 |  Family members and volunteers bag nectarines during a free giveaway at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Family members and volunteers bag nectarines during a free giveaway at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Add AP News as your preferred source to see more of our stories on Google. Share Share Facebook Copy Link copied Print Email X LinkedIn Bluesky Flipboard Pinterest Reddit Read More 3 of 6 |  Cesar Mora stands next to bins filled with nectarines as workers pick fruit at his orchard in Reedley, Calif., Wednesday, July 1, 2026, ahead of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Cesar Mora stands next to bins filled with nectarines as workers pick fruit at his orchard in Reedley, Calif., Wednesday, July 1, 2026, ahead of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Add AP News as your preferred source to see more of our stories on Google. Share Share Facebook Copy Link copied Print Email X LinkedIn Bluesky Flipboard Pinterest Reddit Read More 4 of 6 |  A sign directs people to a free nectarine giveaway at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026. (AP Photo/Jae C. Hong) A sign directs people to a free nectarine giveaway at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026. (AP Photo/Jae C. Hong) Add AP News as your preferred source to see more of our stories on Google. Share Share Facebook Copy Link copied Print Email X LinkedIn Bluesky Flipboard Pinterest Reddit Read More 5 of 6 |  People wait in line to get free nectarines at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) People wait in line to get free nectarines at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Add AP News as your preferred source to see more of our stories on Google. Share Share Facebook Copy Link copied Print Email X LinkedIn Bluesky Flipboard Pinterest Reddit Read More 6 of 6 |  Family members and volunteers wearing “No Nectarines Wasted” T-shirts bag nectarines at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, as part of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Family members and volunteers wearing “No Nectarines Wasted” T-shirts bag nectarines at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, as part of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Add AP News as your preferred source to see more of our stories on Google. Share Share Facebook Copy Link copied Print Email X LinkedIn Bluesky Flipboard Pinterest Reddit Read More By  CLAIRE RUSH Updated : , ,   Add AP News on Google Add AP News as your preferred source to see more of our stories on Google. Share (function () { const counter = document.getElementById("scrollToComments"); const HEADER_OFFSET = 120; function findCommentsModule() { return document.querySelector('.vf3-comments, #vf-conversations, '); } function maybeShowCounter() { if (findCommentsModule()) { counter.style.display = "inline-flex"; } else { counter.style.display = "none"; } } // Show only when Viafoura is present maybeShowCounter(); // Watch DOM for late loads const observer = new MutationObserver(maybeShowCounter); observer.observe(document.documentElement, { childList: true, subtree: true }); // Scroll action counter.addEventListener("click", function () { const el = findCommentsModule(); if (!el) return; const top = el.getBoundingClientRect().top + window.scrollY - HEADER_OFFSET; window.scrollTo({ top, behavior: "smooth" }); }); })(); .thin-line-button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #ccc; height: 30px; padding: 0 10px; cursor: pointer; border-radius: 5px; background: none; text-align: center; font-size: 1.4rem; font-weight: 700; white-space: nowrap; flex-shrink: 0; color: inherit; transition: none; /* Remove animation effect */ } .thin-line-button { color: #000; background: white; } /* Remove hover effect */ .thin-line-button:hover { border: 1px solid #ccc; } .comment-icon { width: 20px; height: 20px; min-width: 20px; min-height: 20px; flex: 0 0 20px; object-fit: contain; display: inline-block; } .Page-actions-commentCounter .embed-caption { display: none; } .vf-comments-count.vf-is-logged-in { margin-left: 4px; } Thousands of visitors have flocked to Cesar Mora’s farm in central California this week to gather free nectarines. He’s giving his harvest away rather than watching it rot as he’s locked in a legal battle with a company that claims exclusive rights over the variety of white nectarine he grows. He’s shared more than 100,000 pounds (45,359 kilograms) since Monday. “It was really just a thought of not wasting a perfectly good product,” Mora said. “It does make a grower feel good, being able to share my fruit with people and see their immediate reaction that they love it. It’s a little bit of good in this tough situation that I’ve been dealing with.” The legal dispute highlights the tension that can emerge between farmers and the plant breeders and large industrial food marketers that create new varieties of plants and obtain the exclusive rights to sell them. Since 2023, the third-generation farmer in the agricultural community of Reedley in California’s Central Valley has been fighting a lawsuit filed against him by Giumarra Brothers Fruit Co. The suit centers on the company’s claims of exclusivity over a variety of white nectarine and accusations that Mora broke their contract by selling the fruit to other packers. A trial has been scheduled for later this month. Boston’s Aroldis Chapman sets MLB record for strikeouts as a reliever with his 1,364th K 3 MIN READ Stowers hits 2 of the Marlins’ 5 HRs in a 12-5 win over the A’s 1 MIN READ Rodman’s brace and late winner propels Washington over Houston 2-1 as NWSL returns 2 MIN READ “At its heart, this is a disagreement involving two written agreements, and it is being resolved the right way — in court and on the facts,” the company said in a statement emailed by one of its attorneys. Mora has accused the company of unfair and fraudulent business practices. Cesar Mora stands next to bins filled with nectarines as workers pick fruit at his orchard in Reedley, Calif., Wednesday, July 1, 2026, ahead of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Cesar Mora stands next to bins filled with nectarines as workers pick fruit at his orchard in Reedley, Calif., Wednesday, July 1, 2026, ahead of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Add AP News as your preferred source to see more of our stories on Google. Share Share Facebook Copy Link copied Print Email X LinkedIn Bluesky Flipboard Pinterest Reddit Read More Fruit patents are becoming more commonThe fight centers on a white nectarine variety known as “Monalise,” which has a sweeter, less tart taste. In its court filings, Giumarra says all rights to the Monalise variety are owned by Star Fruits Diffusion, a French company that works with plant breeding programs, while Giumarra holds the right to sublicense the variety for testing, production and sale. Star Fruits Diffusion did not respond to a request for comment. Plant breeders, including universities, have long experimented with breeding new crop varieties, and some have become household names. Washington State University developed the Rainier cherry in the 1950s, while the University of Minnesota released the Honeycrisp apple in the 1990s. Both varieties are now in the public domain and can be grown and sold by anyone. Fruit patents are becoming increasingly common, said Bradley Rickard, professor of food and agricultural economics at Cornell University. A patent allows a breeder to collect a royalty from the fruit trees it sells, the fruit that the trees produce, or both. In 2010, more than a dozen apple growers sued the University of Minnesota for awarding exclusive rights to its SweeTango apple to an orchard that organized a cooperative of growers to market the variety. A settlement maintained the university’s license agreement with the cooperative while also allowing more Minnesota orchards to lease the trees that bear the apple variety. Family members and volunteers bag nectarines during a free giveaway at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Family members and volunteers bag nectarines during a free giveaway at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Add AP News as your preferred source to see more of our stories on Google. Share Share Facebook Copy Link copied Print Email X LinkedIn Bluesky Flipboard Pinterest Reddit Read More freestar.queue.push(function () { window.fsAdCount = window.fsAdCount + 1 || 0; let customChannel = '/dynamic_' + fsAdCount; let adList = document.querySelectorAll(".fs-feed-ad") let thisAd = adList; let randId = Math.random().toString(36).slice(2); thisAd.id = randId; let thisPlacement = fsAdCount == 0 ? "apnews_story_feed" : "apnews_story_feed_dynamic"; freestar.newAdSlots({ placementName: thisPlacement, slotId: randId }, customChannel); }); The white nectarine battle in CaliforniaCalifornia’s Central Valley, stretching some 20,000 square miles (51,800 square kilometers), is an agricultural powerhouse that’s estimated to produce 40% of the nation’s fruits, nuts and other table foods, including most of its nectarines. Court filings show Mora signed a sublicensing agreement with Giumarra in 2017 allowing him to grow and sell the Monalise. He entered a marketing agreement in 2019 requiring the fruit to be packed and sold through Giumarra. He said Giumarra recruited him to grow it. Under the agreements, Mora was to pay Giumarra a royalty of $2.50 per tree and a 4% production royalty based off the gross sales of the fruit the trees produced, as well as a sales commission. “They sold me hope and a big dream that I thought I could participate in with them,” he said. Mora alleges that up to half of the nectarines he provided to Giumarra in 2020 were thrown away, reducing his profits. The company disputes this, and the judge overseeing the case found that the statute of limitations for those claims had passed. In 2022, Mora alleges the company sold his nectarines to Taiwan in violation of the contract, which states Giumarra will market and sell them in the U.S. and Canada. Giumarra also disputes that claim. Mora later sought to terminate his relationship with Giumarra, and he sold his nectarines to another fruit packer in 2023. That’s when Giumarra sued him for breach of contract, leading to his inability to sell the fruit at all while the court battle plays out. Mora’s attorneys say Giumarra has not provided documents regarding its license to the nectarine variety. The company said in court filings the Monalise is not covered by a U.S. plant patent. Mora’s attorneys claim in court filings that “Giumarra promised and represented that the Nectarines were an ‘exclusive variety’ of fruit, and thus Giumarra held patents and related legal rights over these nectarines,” and that because it was exclusive, the fruit “would be sold for top dollar.” Fresno County Superior Court Judge Jon Skiles in May ruled that Giumarra’s breach of contract claim can go forward, saying that the agreement between Giumarra and Mora is valid whether there is a patent for the fruit or not. “The sublicense agreement does not expressly state that its validity is dependent on the existence or issuance of a patent for the fruit,” he wrote. He added that Giumarra “does not have to prove the existence of the underlying license agreement in order to prove that it has a valid contract with defendant regarding growing and selling the fruit.” Family members and volunteers wearing “No Nectarines Wasted” T-shirts bag nectarines at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, as part of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Family members and volunteers wearing “No Nectarines Wasted” T-shirts bag nectarines at Cesar Mora’s orchard in Reedley, Calif., Wednesday, July 1, 2026, as part of a free giveaway amid an ongoing contract dispute over the crop. (AP Photo/Jae C. Hong) Add AP News as your preferred source to see more of our stories on Google. Share Share Facebook Copy Link copied Print Email X LinkedIn Bluesky Flipboard Pinterest Reddit Read More Legal battles can discourage farmersMora said the yearslong litigation has left him feeling frustrated and defenseless. He also grows peaches and plums that are not subject to agreements with Giumarra, but he has lost a quarter of his income by not being able to sell his nectarine crop. Mora says he hopes his case results in more legal protections for growers, while Giumarra says it will let the evidence speak at trial. “It’s been discouraging to even want to go out and farm,” he said. On Wednesday, locals wore T-shirts that read “No Nectarines Wasted” as they bagged up the free fruit, with some staying to help Mora serve the large crowds. He’s raised more than $17,000 through a GoFundMe page. “The only saving grace through all this is being able to share it with the public,” Mora said of his nectarines, “and having everybody enjoy it.” CLAIRE RUSH Rush is an Associated Press reporter covering Oregon state government and general news in the Pacific Northwest more broadly. twitter mailto window.vfQ = window.vfQ || ; // Tags that always block comments on ANY story, regardless of section. Example const COMMENT_BLOCK_TAGS = ; // Section name we care about (as it appears in ). // We'll normalize to lowercase, so "World News" -> "world news". const WORLD_NEWS_SECTION = 'world news'; // Tags that block comments ONLY when the story is in the World News section. const WORLD_NEWS_EXCLUSION_TAGS = ; window.vfQ = window.vfQ || ; // Zephr mod handling + prepublish + login failure handling setTimeout(() => { const all = document.querySelectorAll('.Zephr.Zephr-mod'); // If there's more than one of this element, delete the one with ID if (all.length > 1) { const withId = document.getElementById('viafoura-zephr-mod'); if (withId) withId.remove(); return } // prepublish → Zephr auth / walls handling window.vfQ.push(() => { if (!window.vf || typeof window.vf.$prepublish !== 'function') return; window.vf.$prepublish((channel, event, ...args) => { if (channel === 'authentication' && event === 'required') { window.vf.$publish && window.vf.$publish('tray', 'close'); window.Zephr?.openModal?.(); // window.location.href = `/login?target=${window.location.pathname}` return false; } else if (channel === 'walls' && event === 'post-attempt') { if (window.zephrQueue && typeof window.zephrQueue.enqueue === 'function') { window.zephrQueue.enqueue(async (zephr) => { if ( !zephr?.accessDetails?.authenticated || !window.Zephr?.openModal ) { return; } window.Zephr.openModal(); }); } return { channel, event, args }; } else { return { channel, event, args }; } }); }); // login failure → show ban message + tooltip window.vfQ.push(() => { if (!window.vf || typeof window.vf.$subscribe !== 'function') return; window.vf.$subscribe('login', 'failure', (errorContext) => { if (!errorContext) return; const isBanned = errorContext.error_key === 'login_banned'; if (!isBanned) return; let reasonText = 'Your account has been permanently banned from posting.'; if (errorContext.isPermanent === 0) { const date = new Date(errorContext.endDate); const formatted = date.toLocaleString('en-US', { month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: '2-digit', hour12: true, }); reasonText = 'Your account has been banned from posting until ' + formatted; } waitForEditorWrapper((wrapper) => { if (wrapper && !document.querySelector('.vf-ban-container')) { const container = document.createElement('div'); container.className = 'vf-ban-container'; // Message const message = document.createElement('div'); message.className = 'vf-ban-message'; message.innerHTML = '❗' + '' + reasonText + ''; // Tooltip trigger if (errorContext.reason) { const tooltip = document.createElement('span'); tooltip.className = 'vf-ban-tooltip'; tooltip.textContent = ' — WHY WAS I BANNED?'; const tooltipContent = document.createElement('div'); tooltipContent.className = 'vf-ban-tooltip-content'; tooltipContent.textContent = errorContext.reason; tooltip.appendChild(tooltipContent); message.appendChild(tooltip); } container.appendChild(message); wrapper.parentNode.insertBefore(container, wrapper.nextSibling); } }); }); }); }, 50); function waitForEditorWrapper(callback, maxTries = 50, interval = 100) { let tries = 0; const iv = setInterval(() => { const wrapper = document.querySelector('.vf-new-content__content-editor-wrapper'); if (wrapper) { clearInterval(iv); callback(wrapper); } else if (++tries >= maxTries) { clearInterval(iv); } }, interval); } function pageHasBlockedTag(tagsToBlock = COMMENT_BLOCK_TAGS) { const metas = Array.from( document.querySelectorAll(', 'meta' ].join(',')) ); const pageTags = metas .map(m => (m.getAttribute('content') || '')) .flatMap(c => c.split(',')) .map(s => s.trim().toLowerCase()) .filter(Boolean); const blockSet = new Set( (tagsToBlock || ).map(t => String(t).trim().toLowerCase()).filter(Boolean) ); return pageTags.some(t => blockSet.has(t)); } function getPageSection() { // Look for // or just in case. const meta = document.querySelector( 'meta, meta' ); if (!meta) return ''; return (meta.getAttribute('content') || '').trim().toLowerCase(); } function replaceBellIconInNav(container) { if (!container) return; const bellButtons = container.querySelectorAll( '.comment-nav-right .vf-tray-trigger.comment-nav-right__icon, .vf-tray-trigger' ); bellButtons.forEach((btn) => { if (btn.dataset.iconSwapped === '1') return; const bellSvg = btn.querySelector('.vf-icon_bell_icon'); if (bellSvg) bellSvg.remove(); const img = document.createElement('img'); img.src = 'https://assets.apnews.com/75/e2/83fe757647f790e4a0bf06370f10/comment-2.png'; img.alt = 'Comments'; img.style.height = '24px'; img.style.width = '24px'; img.style.verticalAlign = 'middle'; img.setAttribute('data-ap-bell', '1'); // precise selector for dark-mode tweak btn.appendChild(img); btn.dataset.iconSwapped = '1'; }); } function injectNoticeInContainer(container) { if (!container) return false; if (container.querySelector('.vf-guidelines-notice')) return true; const header = container.querySelector('.vf-comment-header'); if (!header) return false; const notice = document.createElement('div'); notice.className = 'vf-guidelines-notice'; notice.innerHTML = 'All comments are subject to our ' + 'Community Guidelines.' + 'Please note that comments are not moderated immediately — every post is reviewed before appearing publicly to ensure it meets our community guidelines. This means there may be a delay before your comment is visible.'; header.parentNode.insertBefore(notice, header.nextSibling); return true; } function hideFloatingBellButton() { document.querySelectorAll('.vf-tray-trigger--floating').forEach((btn) => { btn.style.display = 'none'; }); } function moveTrendingAboveCommentsFooter() { const trendingHost = document.getElementById('ap-trending-host'); if (!trendingHost || trendingHost.dataset.moved === '1') return; const footer = document.querySelector('#vf-conversations > div > section > div > footer'); if (footer && footer.parentNode) { footer.parentNode.insertBefore(trendingHost, footer); trendingHost.dataset.moved = '1'; } } function onCommentingLoaded() { const container = document.getElementById('ap-comments'); if (!container) return; injectNoticeInContainer(container); replaceBellIconInNav(container); moveTrendingAboveCommentsFooter(); } function wireViafoura() { if (window.vf && typeof window.vf.$subscribe === 'function') { window.vf.$subscribe('commenting', 'loaded', onCommentingLoaded); } } /* ----------------- DARK THEME HANDLING ----------------- */ function isDarkColor(rgb) { if (!rgb) return false; const m = rgb.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i); if (!m) return false; const r = +m, g = +m, b = +m; const lum = (0.2126*r + 0.7152*g + 0.0722*b) / 255; return lum < 0.5; } function shouldUseDarkTheme() { if (document.querySelector('')) return true; const carrier = document.querySelector('') || document.body || document.documentElement; const bg = carrier ? getComputedStyle(carrier).backgroundColor : ''; return isDarkColor(bg); } function getEffectiveDarkBg() { const carrier = document.querySelector('') || document.body || document.documentElement; const bg = carrier ? getComputedStyle(carrier).backgroundColor : ''; return bg && bg !== 'rgba(0, 0, 0, 0)' && bg !== 'transparent' ? bg : '#0b0b0b'; } // NEW: normalize dropdown/menu background in dark mode (solid dark, non-transparent) function fixDarkModeDropdowns() { if (!shouldUseDarkTheme()) return; const bg = getEffectiveDarkBg(); const text = 'rgba(255,255,255,0.85)'; const dropdowns = document.querySelectorAll( ',,.vf-dropdown__menu,.vf-select__menu' ); dropdowns.forEach((el) => { const cs = getComputedStyle(el); const bgColor = cs.backgroundColor; // Only fix ones that are effectively transparent / not already dark if ( bgColor === 'rgba(0, 0, 0, 0)' || bgColor === 'transparent' ) { el.style.setProperty('--default-color', bg); el.style.setProperty('--background-color', bg); el.style.setProperty('--light-text-on-default-color', text); el.style.setProperty('--dark-text-on-default-color', '#ffffff'); el.style.setProperty('--light-text-on-background-color', text); el.style.setProperty('--dark-text-on-background-color', '#ffffff'); el.style.backgroundColor = bg; el.style.color = text; } }); } function applyDarkThemeIfNeeded() { const container = document.getElementById('ap-comments'); if (!container) return; const useDark = shouldUseDarkTheme(); const bg = useDark ? getEffectiveDarkBg() : null; container.classList.toggle('ap-comments--dark', useDark); if (useDark) { container.style.setProperty('--apc-bg', bg); container.style.setProperty('--apc-text', '#e8e8e8'); container.style.setProperty('--apc-link', '#9ecbff'); container.setAttribute('data-theme', 'dark'); container.style.setProperty('background', 'var(--apc-bg)', 'important'); // Normalize Viafoura / AP-style variables INSIDE the comments container container.style.setProperty('--default-color', bg); container.style.setProperty('--background-color', bg); container.style.setProperty('--light-text-on-default-color', 'rgba(255, 255, 255, 0.8)'); container.style.setProperty('--dark-text-on-default-color', '#ffffff'); container.style.setProperty('--light-text-on-background-color', 'rgba(255, 255, 255, 0.8)'); container.style.setProperty('--dark-text-on-background-color', '#ffffff'); } else { container.removeAttribute('data-theme'); container.style.removeProperty('background'); .forEach(v => container.style.removeProperty(v)); } const elConv = document.getElementById('vf-conv'); const elTrend = document.getElementById('vf-trending'); const realConv = document.querySelector('#vf-conversations'); const realTrend = document.querySelector('#vf-trending-articles'); .forEach(el => { if (!el) return; if (useDark) { el.setAttribute('data-vf-theme', 'dark'); el.setAttribute('vf-theme', 'dark'); el.setAttribute('theme', 'dark'); el.style.removeProperty('background'); el.style.color = 'var(--apc-text)'; } else { .forEach(a => el.removeAttribute(a)); el.style.removeProperty('background'); el.style.removeProperty('color'); } }); .forEach((root) => { if (!root) return; if (useDark) { root.classList.add('ap-vf-dark'); root.setAttribute('data-theme', 'dark'); } else { root.classList.remove('ap-vf-dark'); root.removeAttribute('data-theme'); } }); // fix dropdowns / sort menus any time theme is recalculated if (useDark) { fixDarkModeDropdowns(); } } const vfObserver = new MutationObserver(() => { applyDarkThemeIfNeeded(); }); (function bootComments() { const container = document.getElementById('ap-comments'); if (!container) return; // Initial theme & dropdown fix applyDarkThemeIfNeeded(); // --------- NEW: Global block tags (e.g. no_comment) ---------- // If the page has ANY of the COMMENT_BLOCK_TAGS, hide comments on all stories. if (pageHasBlockedTag(COMMENT_BLOCK_TAGS)) { container.innerHTML = ''; container.classList.remove('viafoura'); container.id = 'comments-hidden'; hideFloatingBellButton(); return; } // --------- NEW: Section-specific logic (World News) ---------- const section = getPageSection(); // Only apply this rule if the story is in World News. if (section === WORLD_NEWS_SECTION) { // If a World News story has any tag in WORLD_NEWS_EXCLUSION_TAGS (e.g. Israel), // hide the embed. Other sections with those tags are still allowed. if (pageHasBlockedTag(WORLD_NEWS_EXCLUSION_TAGS)) { container.innerHTML = ''; container.classList.remove('viafoura'); container.id = 'comments-hidden'; hideFloatingBellButton(); return; } } // --------- Existing Viafoura boot logic ---------- if (!window.vf && !document.querySelector('script')) { const s = document.createElement('script'); s.async = true; s.src = '//cdn.viafoura.net/entry/index.js'; document.head.appendChild(s); } if (document.readyState === 'complete' || document.readyState === 'interactive') { wireViafoura(); } else { document.addEventListener('DOMContentLoaded', wireViafoura); } (function startCappedRetry() { let tries = 0; const maxTries = 120; const iv = setInterval(() => { injectNoticeInContainer(container); replaceBellIconInNav(container); hideFloatingBellButton(); moveTrendingAboveCommentsFooter(); applyDarkThemeIfNeeded(); if (++tries >= maxTries) clearInterval(iv); }, 100); })(); try { vfObserver.observe(container, { childList: true, subtree: true }); } catch (e) {} })(); .vf-guidelines-notice { font-family: var(--primary-font, 'AP', sans-serif); font-size: 1.0em; color: #666; margin: 0 0 10px 0; padding-left: 4px; opacity: 0.85; line-height: 1.4; } .vf-guidelines-notice a { text-decoration: underline; font-weight: 500; } #vf-trending-articles > div > div > h2 { font-size: 14px !important; line-height: 1.2; text-transform: uppercase; } #vf-trending-articles p.vf-trending-article__comment-count { font-size: 16px !important; line-height: 1.1; } #comments-hidden { display: none; } /* ---------- Dark theme for AP comments ---------- */ #ap-comments.ap-comments--dark { --apc-bg: #0b0b0b; --apc-text: #e8e8e8; --apc-muted: #a7a7a7; --apc-border: #2a2a2a; --apc-link: #9ecbff; background: var(--apc-bg) !important; color: var(--apc-text); color-scheme: dark; } /* DO NOT touch every descendant’s colors anymore – that was killing badges/icons */ #ap-comments.ap-comments--dark a { color: var(--apc-link); } #ap-comments.ap-comments--dark a:hover, #ap-comments.ap-comments--dark a:focus { text-decoration: underline; } #ap-comments.ap-comments--dark hr, #ap-comments.ap-comments--dark .vf-divider, #ap-comments.ap-comments--dark .vf-comment + .vf-comment, #ap-comments.ap-comments--dark .vf-card { border-color: var(--apc-border) !important; } #ap-comments.ap-comments--dark .vf-guidelines-notice { color: var(--apc-muted); } #ap-comments.ap-comments--dark #vf-trending-articles > div > div > h2, #ap-comments.ap-comments--dark p.vf-trending-article__comment-count { color: var(--apc-text) !important; } #ap-comments.ap-comments--dark #vf-conversations.ap-vf-dark, #ap-comments.ap-comments--dark #vf-trending-articles.ap-vf-dark { background: transparent !important; color: var(--apc-text) !important; color-scheme: dark; } #ap-comments.ap-comments--dark #vf-conversations, #ap-comments.ap-comments--dark #vf-trending-articles { background-color: var(--apc-bg) !important; } /* Removed “*:not(input)” background/color override so badges keep their own colors */ #ap-comments.ap-comments--dark #vf-conversations section, #ap-comments.ap-comments--dark #vf-conversations article, #ap-comments.ap-comments--dark #vf-conversations header, #ap-comments.ap-comments--dark #vf-conversations footer, #ap-comments.ap-comments--dark #vf-conversations .vf-card, #ap-comments.ap-comments--dark #vf-trending-articles section, #ap-comments.ap-comments--dark #vf-trending-articles article, #ap-comments.ap-comments--dark #vf-trending-articles header, #ap-comments.ap-comments--dark #vf-trending-articles footer, #ap-comments.ap-comments--dark #vf-trending-articles .vf-card { background-color: transparent !important; border-color: var(--apc-border) !important; } #ap-comments.ap-comments--dark .vf-content-editor-form, #ap-comments.ap-comments--dark .vf-editor-area { background-color: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.24) !important; border-radius: 6px !important; } #ap-comments.ap-comments--dark .vf-content-editor-input { color: var(--apc-text) !important; caret-color: var(--apc-text) !important; } #ap-comments.ap-comments--dark .vf-content-editor-input::placeholder { color: #cfcfcf !important; opacity: 1 !important; } #ap-comments.ap-comments--dark .vf-content-editor-input:focus, #ap-comments.ap-comments--dark .vf-editor-area:focus-within { outline: none !important; border-color: rgba(255,255,255,0.36) !important; box-shadow: 0 0 0 2px rgba(255,255,255,0.12) !important; } #ap-comments.ap-comments--dark .vf-dropdown-button, #ap-comments.ap-comments--dark .vf-dropdown-button__text { background-color: transparent !important; color: var(--apc-text) !important; border-color: var(--apc-border) !important; } #ap-comments.ap-comments--dark .vf-dropdown-button:hover, #ap-comments.ap-comments--dark .vf-dropdown-button:focus { background-color: rgba(255,255,255,0.06) !important; } /* Only tweak the swapped bell icon in dark mode; leave other badges alone */ #ap-comments.ap-comments--dark .vf-tray-trigger img { filter: invert(1) hue-rotate(180deg) brightness(1.1); opacity: 1; mix-blend-mode: normal; } /* Ban message styles */ .vf-ban-container { margin: 10px 0 15px; padding: 10px 12px; border-radius: 4px; background-color: #fff3cd; border: 1px solid #ffeeba; } .vf-ban-message { font-family: var(--primary-font, 'AP', sans-serif); font-size: 0.95em; color: #856404; display: flex; align-items: center; flex-wrap: wrap; } .vf-ban-icon { margin-right: 8px; } .vf-ban-tooltip { margin-left: 4px; font-weight: 600; text-decoration: underline; cursor: pointer; position: relative; } .vf-ban-tooltip-content { display: none; position: absolute; z-index: 9999; top: 120%; left: 0; width: 260px; padding: 8px 10px; background: #fff; border: 1px solid #ccc; border-radius: 4px; font-weight: 400; text-decoration: none; color: #333; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .vf-ban-tooltip:hover .vf-ban-tooltip-content { display: block; }
Alte postari din Economie
Economie

Comcast Announces Plans to Separate Media and Technology Businesses into Two Leading Public Companies - Comcast Corporation

Comcast Corporation (Nasdaq: CMCSA) today announced its intention to separate into two independent publicly traded companies through a tax-free spin-off of NBCUniversal and Sky. Upon completion of the transaction, Comcast shareholders will own shares in both Comcast and NBCUniversal, creating two focused industry leaders, each with significant scale, strong financial profiles and distinct strategic opportunities.

Economie

Ford rehires ‘gray beard’ engineers after AI falls short - TechCrunch

Ford executives said they have hired 350 veteran engineers — some of them were former employees, while others had been working at suppliers — after artificial intelligence and automated systems failed to deliver the desired quality level. Bloomberg reports the company’s chief operating officer Kumar Galhotra told journalists that Ford had been “relying more and more on automated quality systems” with disappointing results.

Economie

Victim’s family in fatal Texas Tesla ‘automated driving assistance’ crash files lawsuit - NBC News

The family of a woman who was killed when a Tesla in an automated assist mode crashed into her Houston-area home has sued Tesla and the person behind the wheel, attorneys said Tuesday. The suit, filed by 76-year-old Martha Avila’s daughter Jennifer Barbour and her husband, Justin Barbour, in Harris County District Court, alleges a “design defect” involving Tesla and a failure to warn.

Acasa Recente Radio Județe