Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    Cubs Designate Drew Pomeranz For Assignment

    July 20, 2026

    Nuevo León leads all Mexican states in announced investments

    July 20, 2026

    Amazon mistakenly hits AWS users with billion dollar bills

    July 20, 2026
    Facebook X (Twitter) Instagram
    Select Language
    Facebook X (Twitter) Instagram
    NEWS ON CLICK
    Subscribe
    Monday, July 20
    • Home
      • United States
      • Canada
      • Spain
      • Mexico
    • Top Countries
      • Canada
      • Mexico
      • Spain
      • United States
    • Politics
    • Business
    • Entertainment
    • Fashion
    • Health
    • Science
    • Sports
    • Travel
    NEWS ON CLICK
    Home»Politics & Opinion»US Politics»Trump calls for Iran to be added to Russia sanctions bill
    US Politics

    Trump calls for Iran to be added to Russia sanctions bill

    News DeskBy News DeskJuly 19, 2026No Comments7 Mins Read
    Share Facebook Twitter Pinterest Copy Link LinkedIn Tumblr Email VKontakte Telegram
    Trump calls for Iran to be added to Russia sanctions bill
    Share
    Facebook Twitter Pinterest Email Copy Link

    ‘
    );
    }

    function setButtonState(button, state) {
    const hint = button.parentElement && button.parentElement.querySelector(‘[data-author-follow-hint]’);
    const followLabel = button.dataset.followLabel || ‘Follow’;
    const followingLabel = button.dataset.followingLabel || ‘Following’;
    const signinLabel = button.dataset.signinLabel || ‘Sign in to follow’;
    const loadingLabel = button.dataset.loadingLabel || ‘Saving…’;
    const pendingAuthLabel = button.dataset.pendingAuthLabel || ‘Loading…’;
    button.classList.remove(‘is-following’, ‘is-loading’, ‘is-auth-required’);

    if (state === ‘loading’) {
    button.classList.add(‘is-loading’);
    button.disabled = true;
    button.textContent = loadingLabel;
    if (hint) {
    hint.textContent=”Updating your followed authors…”;
    }
    return;
    }

    if (state === ‘pending-auth’) {
    button.classList.add(‘is-loading’);
    button.disabled = true;
    button.textContent = pendingAuthLabel;
    if (hint) {
    hint.textContent=”Checking your sign-in status…”;
    }
    return;
    }

    button.disabled = false;

    if (state === ‘following’) {
    button.classList.add(‘is-following’);
    button.textContent = followingLabel;
    if (hint) {
    hint.textContent = followingLabel === ‘Unfollow’
    ? ‘Remove this writer from your followed list.’
    : ‘Click again to unfollow.’;
    }
    return;
    }

    if (state === ‘signin’) {
    button.classList.add(‘is-auth-required’);
    button.textContent = signinLabel;
    if (hint) {
    hint.textContent=”Sign in to follow writers and manage your list.”;
    }
    return;
    }

    button.textContent = followLabel;
    if (hint) {
    hint.textContent=”Click to follow.”;
    }
    }

    function renderWidgets(scope) {
    const root = scope || document;
    root.querySelectorAll(‘[data-author-follow-widget]’).forEach(function (widget) {
    const button = widget.querySelector(‘[data-author-follow-button]’);
    if (!button) {
    return;
    }

    const staffId = widget.dataset.staffId;
    const hasToken = !!getBearerToken();

    if (!isPianoIdentityReady() && !hasToken) {
    setButtonState(button, ‘pending-auth’);
    return;
    }

    if (!hasToken) {
    setButtonState(button, ‘signin’);
    return;
    }

    if (followedAuthorsMap.has(String(staffId))) {
    setButtonState(button, ‘following’);
    } else {
    setButtonState(button, ‘follow’);
    }
    });
    }

    function renderManageList(container) {
    if (!container) {
    return;
    }

    const hasToken = !!getBearerToken();

    if (!isPianoIdentityReady() && !hasToken) {
    container.innerHTML = (
    ‘

    Checking your account status…

    ‘
    );
    return;
    }

    if (!hasToken) {
    container.innerHTML = (
    ‘

    Sign in to load the authors you follow. ‘ +
    ‘Sign in

    ‘
    );
    return;
    }

    const followedAuthors = Array.from(followedAuthorsMap.values());
    if (!followedAuthors.length) {
    container.innerHTML = (
    ‘

    You are not following any authors yet. ‘ +
    ‘Use the follow buttons on stories or staff pages to build your list.

    ‘
    );
    return;
    }

    container.innerHTML = followedAuthors
    .map(function (author) {
    return (
    ‘

    ‘ +
    ” +
    ‘

    ‘ +
    ‘‘ +
    ‘Remove this writer from your followed list.‘ +
    ‘

    ‘ +
    ‘

    ‘
    );
    })
    .join(”);

    bindEvents(container);
    renderWidgets(container);
    }

    async function refresh(scope, options) {
    const forceFetch = !!(options && options.force);

    if (!hasFollowWidgets(scope)) {
    return;
    }

    // Wipe the cached map BEFORE the first render so a user-switch can’t
    // momentarily display the previous user’s “Following” state.
    discardCacheIfTokenChanged();

    renderWidgets(scope);

    const manageContainer = document.querySelector(‘[data-author-follow-manage-list]’);
    const managePreferencesContainer = document.querySelector(‘[data-author-follow-manage-preferences]’);
    const hasToken = !!getBearerToken();

    if (!isPianoIdentityReady() && !hasToken) {
    renderWidgets(scope);
    renderManagePreferences(managePreferencesContainer);
    renderManageList(manageContainer);
    return;
    }

    if (!hasToken) {
    renderManagePreferences(managePreferencesContainer);
    renderManageList(manageContainer);
    return;
    }

    try {
    await loadFollowedAuthors(forceFetch);
    renderWidgets(scope);
    renderManagePreferences(managePreferencesContainer);
    renderManageList(manageContainer);
    } catch (error) {
    console.warn(‘Unable to load followed authors.’, error);
    if (error && error.code === ‘AUTH_REQUIRED’) {
    renderWidgets(scope);
    renderManagePreferences(managePreferencesContainer);
    renderManageList(manageContainer);
    }
    }
    }

    function startLoginPoll() {
    if (loginPoll) {
    clearInterval(loginPoll);
    }

    let attempts = 0;
    loginPoll = setInterval(function () {
    attempts += 1;
    if (getBearerToken() || isLoggedIn() || attempts > 25) {
    clearInterval(loginPoll);
    loginPoll = null;
    refresh(document, { force: true });
    }
    }, 1000);
    }

    function stopPianoReadyPoll() {
    if (pianoReadyPoll) {
    clearInterval(pianoReadyPoll);
    pianoReadyPoll = null;
    }
    }

    function startPianoReadyPoll() {
    stopPianoReadyPoll();

    let attempts = 0;
    pianoReadyPoll = setInterval(function () {
    attempts += 1;
    if (isPianoIdentityReady() || getBearerToken() || attempts > 40) {
    stopPianoReadyPoll();
    // Non-forced: if bindPianoInitRefresh already fetched, the TTL
    // dedupes this call. If it lost the race, this call wins.
    refresh(document);
    }
    }, 500);
    }

    function bindPianoInitRefresh() {
    if (pianoInitBound) {
    return;
    }

    pianoInitBound = whenPianoReady(function () {
    // The Piano init callback is the canonical “identity is ready” signal;
    // cancel the fallback poll so it can’t issue a redundant second fetch.
    stopPianoReadyPoll();
    refresh(document, { force: true });
    });
    }

    async function handleWidgetClick(widget, button) {
    const staffId = widget.dataset.staffId;

    if (!getBearerToken()) {
    setButtonState(button, isPianoIdentityReady() ? ‘signin’ : ‘pending-auth’);
    if (typeof window.showPianoLogin === ‘function’) {
    window.showPianoLogin();
    startLoginPoll();
    }
    return;
    }

    // If the identity changed since the cache was last filled, drop the stale
    // map before the follow/unfollow decision below — otherwise the click
    // could issue the wrong action against the previous user’s state.
    discardCacheIfTokenChanged();

    setButtonState(button, ‘loading’);

    try {
    if (followedAuthorsMap.has(String(staffId))) {
    await apiRequest(apiBaseUrl + “https://www.washingtontimes.com/” + staffId, { method: ‘DELETE’ });
    followedAuthorsMap.delete(String(staffId));
    removePushlyFollowedAuthorId(staffId);
    } else {
    const author = await apiRequest(apiBaseUrl + “https://www.washingtontimes.com/” + staffId, {
    method: ‘PUT’,
    body: JSON.stringify({
    push_enabled: followDeliveryPreferences.push_enabled,
    email_fallback_enabled: followDeliveryPreferences.email_fallback_enabled,
    }),
    });
    followedAuthorsMap.set(String(staffId), author);
    appendPushlyFollowedAuthorId(staffId);
    }

    saveStoredFollowDeliveryPreferences(
    deriveFollowDeliveryPreferences(Array.from(followedAuthorsMap.values())),
    );
    syncPushlyFollowedAuthorsProfile();
    renderManagePreferences(document.querySelector(‘[data-author-follow-manage-preferences]’));
    renderWidgets(document);
    renderManageList(document.querySelector(‘[data-author-follow-manage-list]’));
    } catch (error) {
    console.warn(‘Unable to update followed author.’, error);
    if (error && error.code === ‘AUTH_REQUIRED’) {
    setButtonState(button, ‘signin’);
    }
    renderWidgets(document);
    }
    }

    function bindEvents(scope) {
    const root = scope || document;
    root.querySelectorAll(‘[data-author-follow-widget]’).forEach(function (widget) {
    if (widget.dataset.followWidgetBound === ‘true’) {
    return;
    }
    widget.dataset.followWidgetBound = ‘true’;

    const button = widget.querySelector(‘[data-author-follow-button]’);
    if (!button) {
    return;
    }

    button.addEventListener(‘click’, function () {
    handleWidgetClick(widget, button);
    });
    });

    root.querySelectorAll(‘[data-author-follow-manage-preferences]’).forEach(function (container) {
    if (container.dataset.followGlobalPreferencesBound === ‘true’) {
    return;
    }
    container.dataset.followGlobalPreferencesBound = ‘true’;

    async function handlePreferenceChange() {
    const pushInput = container.querySelector(‘[data-author-follow-global-pref=”push”]’);
    const emailInput = container.querySelector(‘[data-author-follow-global-pref=”email”]’);
    if (!pushInput || !emailInput) {
    return;
    }

    const previousPreferences = {
    push_enabled: followDeliveryPreferences.push_enabled,
    email_fallback_enabled: followDeliveryPreferences.email_fallback_enabled,
    };
    const payload = {
    push_enabled: !!pushInput.checked,
    email_fallback_enabled: !!emailInput.checked,
    };
    // Drop a stale map if the identity changed before iterating — we
    // don’t want to issue follow updates against the previous user’s
    // authors with the current user’s bearer token.
    discardCacheIfTokenChanged();
    const followedAuthors = Array.from(followedAuthorsMap.values());

    saveStoredFollowDeliveryPreferences(payload);
    managePreferencesPending = true;
    pushInput.disabled = true;
    emailInput.disabled = true;

    try {
    await Promise.all(
    followedAuthors.map(function (author) {
    return updateFollowPreferences(author.id, payload);
    }),
    );
    renderManagePreferences(container);
    renderWidgets(document);
    renderManageList(document.querySelector(‘[data-author-follow-manage-list]’));
    } catch (error) {
    console.warn(‘Unable to update author follow preferences.’, error);
    saveStoredFollowDeliveryPreferences(previousPreferences);
    pushInput.checked = previousPreferences.push_enabled;
    emailInput.checked = previousPreferences.email_fallback_enabled;
    } finally {
    managePreferencesPending = false;
    pushInput.disabled = false;
    emailInput.disabled = false;
    }
    }

    container.addEventListener(‘change’, function (event) {
    const target = event.target;
    if (!target || !target.matches(‘[data-author-follow-global-pref]’)) {
    return;
    }
    handlePreferenceChange();
    });
    });
    }

    function init(scope) {
    const root = scope || document;
    if (!hasFollowWidgets(root)) {
    return;
    }
    bindEvents(root);
    renderWidgets(root);
    bindPianoInitRefresh();
    startPianoReadyPoll();
    refresh(root);
    }

    window.WTAuthorFollow = {
    init: init,
    refresh: refresh,
    };

    document.addEventListener(‘DOMContentLoaded’, function () {
    init(document);
    });

    window.addEventListener(‘focus’, function () {
    if (hasFollowWidgets(document)) {
    refresh(document);
    }
    });
    document.addEventListener(‘visibilitychange’, function () {
    if (!document.hidden && hasFollowWidgets(document)) {
    refresh(document);
    }
    });
    } else {
    window.WTAuthorFollow.init(document);
    }
    })();


    FILE – Former President Donald Trump listens as Sen. Lindsey Graham, R-S.C., speaks at a campaign event at the South Carolina Statehouse, Jan. 28, 2023, in Columbia, S.C. (AP Photo/Alex Brandon, File)


    FILE – Former President Donald Trump …

    more >

    President Trump urged lawmakers on Sunday to add Iran to a bill that would impose new sanctions on countries buying Russian oil and natural gas.

    The bill, which has the support of more than 60 senators among both parties, was sponsored by the late Sen. Lindsey Graham, South Carolina Republican.

    “Republicans should add Iran to the Russian sanctions bill. That’s what Lindsey wanted to do and it was going to happen. Important,” Mr. Trump posted on Truth Social.

    If passed, the bill would impose mandatory sanctions on Russia, its allies and buyers of Russian energy. The White House has pushed to broaden the scope of sanctions to include Iran and Hezbollah, a militant proxy sponsored by Tehran.

    Republicans and Democrats have expressed optimism that the bill could become law this summer.

    Sanctions essentially cut individuals and companies off from the Western financial system, prohibiting them from doing business with U.S. companies or putting their money in U.S. financial institutions.

    Any funds currently held in U.S. institutions would be frozen. Because the U.S. dollar is the main currency for global transactions, it would have a financial impact on sanctioned entities.

    The use of sanctions soared under President Joseph R. Biden following Russia’s invasion of Ukraine in 2022, reaching an astounding 3,000 in 2024. However, they declined under Mr. Trump, who relied on tariffs to gain leverage over foreign entities.

    Mr. Trump has expressed concern over sanctions, saying he believes it moves countries and businesses away from the dollar.

    Latest Video

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email Telegram Copy Link
    News Desk
    • Website

    News Desk is the dedicated editorial force behind News On Click. Comprised of experienced journalists, writers, and editors, our team is united by a shared passion for delivering high-quality, credible news to a global audience.

    Related Posts

    US Politics

    Minnesota’s sanctuary policies survive DOJ challenge

    July 20, 2026
    US Politics

    Lindsey Graham’s sister running for a full term with Trump’s endorsement

    July 20, 2026
    US Politics

    Florida GOP lawmaker and governor candidate says AI data center legislation keeps utility costs down

    July 20, 2026
    US Politics

    Senators demand ICE answers and body cameras after 2 fatal shootings in Maine and Houston

    July 20, 2026
    US Politics

    N.J. lawmakers demand biometric checks for online gamblers

    July 20, 2026
    US Politics

    Elizabeth Warren backs Abdul El-Sayed in Democratic primary for Michigan’s U.S. Senate race

    July 20, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Don't Miss

    Cubs Designate Drew Pomeranz For Assignment

    News DeskJuly 20, 20260

    The Cubs announced that right-hander Jameson Taillon has been reinstated from the 15-day injured list.…

    Nuevo León leads all Mexican states in announced investments

    July 20, 2026

    Amazon mistakenly hits AWS users with billion dollar bills

    July 20, 2026

    Samsung Just Unveiled A Galaxy Credit Card Ahead Of Unpacked

    July 20, 2026
    Tech news by Newsonclick.com
    Top Posts

    Sharon Osbourne Hospitalized Before Father’s Day Without Ozzy

    June 20, 2026

    Kamala Harris Honors Juneteenth With a Call to Finish America’s Long-Delayed Promise

    June 20, 2026

    Taylor Swift Advised To Have ‘Fun’ Amid Rumors Of Wedding Planning ‘Pressure’

    June 20, 2026

    Woman dead after shooting inside downtown Toronto apartment

    June 20, 2026
    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    Editors Picks

    Cubs Designate Drew Pomeranz For Assignment

    July 20, 2026

    Nuevo León leads all Mexican states in announced investments

    July 20, 2026

    Amazon mistakenly hits AWS users with billion dollar bills

    July 20, 2026

    Samsung Just Unveiled A Galaxy Credit Card Ahead Of Unpacked

    July 20, 2026
    About Us

    NewsOnClick.com is your reliable source for timely and accurate news. We are committed to delivering unbiased reporting across politics, sports, entertainment, technology, and more. Our mission is to keep you informed with credible, fact-checked content you can trust.

    We're social. Connect with us:

    Facebook X (Twitter) Instagram Pinterest YouTube
    Latest Posts

    Cubs Designate Drew Pomeranz For Assignment

    July 20, 2026

    Nuevo León leads all Mexican states in announced investments

    July 20, 2026

    Amazon mistakenly hits AWS users with billion dollar bills

    July 20, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    Facebook X (Twitter) Instagram Pinterest
    • About Us
    • Editorial Policy
    • Privacy Policy
    • Terms and Conditions
    • Disclaimer
    • Advertise
    • Contact Us
    © 2026 Newsonclick.com || Designed & Powered by ❤️ Trustmomentum.com.

    Type above and press Enter to search. Press Esc to cancel.