2A News

Anti-Gunners Horrified That ‘Vampire Rule’ is Dead

Reading Time: 2:5 min

The U.S. Supreme Court on Thursday in Wolford v. Lopez returned sanity to Hawaii’s gun control apparatus by emphatically burying the so-called “vampire rule.” The 6-3 majority struck down the…

View post

Injunction Issued Against Virginia’s Pending ‘Assault Firearms’ Ban

Reading Time: 2:0 min

On the same day that the U.S. Supreme Court issued a key ruling protecting gun rights from Hawaii lawmakers, their Virginia colleagues suffered their own setback at the hands of…

View post

Victory! Supreme Court Rejects Hawaii’s ‘Vampire Rule, Spirit of Aloha’

Reading Time: 4:5 min

The U.S. Supreme Court on Thursday handed a resounding victory to law-abiding gun owners and everyone who believes in the Constitution and the rule of law. In a vitally important…

View post

Trump Endorses Nationwide Right-to-Carry Legislation

Reading Time: 1:55 min

President Donald Trump (R) surprised the Second Amendment community on Tuesday by announcing to a Pennsylvania audience that the White House is “working” on legislation to expand constitutional carry rights…

View post

DOJ’s Dhillon Warns California Leaders Over Glock Ban

Reading Time: 3:29 min

With the state’s controversial new “Glock ban” measure set to take effect on July 1, California officials on Wednesday received a shot across the bow that they must have expected.…

View post

ATF Announces Updated Guidelines on Guns and Marijuana ‘Soon’

Reading Time: 2:4 min

The U.S. Supreme Court last week provided gun-owning Americans with a much-needed reversal when it ruled the federal law banning marijuana users from firearm ownership and possession violates Second Amendment…

View post
<script>
  /*Source: https://github.com/Krzysztof-Antosik/Two-direction-Sticky-Sidebar*/
  
  // Verificar el ancho de pantalla al cargar y redimensionar
  function checkScreenWidth() {
    if (window.innerWidth <= 767) {
      // Si la pantalla es menor o igual a 676px, no ejecutar el código
      return;
    }

    const stickyElement = document.querySelector('.fb-sidebar__aside');
    const startPosition = stickyElement.getBoundingClientRect().top;

    let endScroll = window.innerHeight - stickyElement.offsetHeight - 500;
    let currPos = window.scrollY;
    let screenHeight = window.innerHeight;
    let stickyElementHeight = stickyElement.offsetHeight;
    let topGap = 40;
    let bottomGap = 40;

    setTimeout(() => {
      if (stickyElement.hasAttribute('data-top-gap')) {
        const dataTopGap = stickyElement.getAttribute('data-top-gap');
        topGap = dataTopGap === 'auto' ? startPosition : parseInt(dataTopGap);
      }

      if (stickyElement.hasAttribute('data-bottom-gap')) {
        bottomGap = parseInt(stickyElement.getAttribute('data-bottom-gap'));
      }
    }, 100);

    stickyElement.style.position = 'sticky';
    stickyElement.style.top = `${topGap}px`;
    stickyElement.style.height = 'fit-content';

    function positionStickySidebar() {
      endScroll = window.innerHeight - stickyElement.offsetHeight - bottomGap;
      const stickyElementTop = parseInt(stickyElement.style.top.replace('px', ''));

      if (stickyElementHeight + topGap + bottomGap > screenHeight) {
        if (window.scrollY < currPos) {
          if (stickyElementTop < topGap) {
            stickyElement.style.top = `${stickyElementTop + currPos - window.scrollY}px`;
          } else if (stickyElementTop >= topGap && stickyElementTop !== topGap) {
            stickyElement.style.top = `${topGap}px`;
          }
        } else {
          if (stickyElementTop > endScroll) {
            stickyElement.style.top = `${stickyElementTop + currPos - window.scrollY}px`;
          } else if (stickyElementTop < endScroll && stickyElementTop !== endScroll) {
            stickyElement.style.top = `${endScroll}px`;
          }
        }
      } else {
        stickyElement.style.top = `${topGap}px`;
      }
      currPos = window.scrollY;
    }

    function stickyElementToMe() {
      stickyElement.style.top = `${topGap}px`;
    }

    function updateSticky() {
      screenHeight = window.innerHeight;
      stickyElementHeight = stickyElement.offsetHeight;
      positionStickySidebar();
    }

    setTimeout(() => {
      window.addEventListener('resize', () => {
        currPos = window.scrollY;
        updateSticky();
      });

      document.addEventListener('scroll', updateSticky, {
        capture: true,
        passive: true
      });
    }, 1000);
  }

  // Verificar el ancho de pantalla al cargar y redimensionar
  window.addEventListener('load', checkScreenWidth);
  window.addEventListener('resize', checkScreenWidth);
</script>