Untitled

 avatar
unknown
plain_text
3 years ago
3.4 kB
4
Indexable
/**
 * External Dependencies
 */
import 'jquery';
import 'bootstrap';
import { gsap } from "gsap";
import { ScrollToPlugin } from "gsap/ScrollToPlugin";
import { ScrollTrigger } from "gsap/ScrollTrigger";
import { Power4, Linear } from "gsap";
import barba from '@barba/core';

//page specific code
import Single from './components/single';
import Home from './components/home';
import News from './components/news';
import Global from './global';
import global from './global';



gsap.registerPlugin(ScrollToPlugin, ScrollTrigger);


$(document).ready(() => {

  Global.init()


  barba.init({
    views: [
      {
        namespace: 'home',
        beforeEnter(data) {
          $('footer').hide()
          $('body').addClass('overflow')
          $('#menu-item-74').addClass('active')

          if (data.current.namespace === '') {
            Home.animation()
          } else {
            Home.noAnimation()
          }

        },
        beforeLeave(data) {
          $('#menu-item-74').removeClass('active')

          //kill animation
          // Home.killAnimations()

          const leave = gsap.timeline();

          leave
            .set('.icons', { autoAlpha: 0 })
            .set('.focus', { autoAlpha: 0 })
            .to('.main-text', 0.5, { autoAlpha: 0 })
            .to('.circle', 0.5, { scale: 0, autoAlpha: 0 }, '-=0.5')
            .to('.glow', 0.5, { scale: 0, autoAlpha: 0, display:'none' }, '-=0.5')
            .to('.sign', 0.5, { autoAlpha: 0, display: 'none' }, '-=0.5')
            .set('.black-hole', { zIndex: 99, autoAlpha: 1, xPercent: -50, yPercent: -50, left: "50%", top: "50%"})
            // .to('.black-hole', 1.5, { scale: 1000, ease: Power4.easeIn })
            .to('.black-hole', {
              duration: 1,
              width: '5000px',
              height: '5000px',
              ease: Power4.easeIn
          })


          return leave
        },
        afterLeave() {
          Home.killAnimations()
        }
      },
      {
        namespace: 'single-company',
        beforeEnter(data) {
          ScrollTrigger.refresh(true);
          Single.init()
          $('footer').show()
          $('body').removeClass('overflow')
          $('.menu-item').removeClass('active')
        },
        beforeLeave(data) {
          Single.reset()
        },
      },
      {
        namespace: 'news',
        beforeEnter(data) {
          
          ScrollTrigger.refresh(true);
          News.init()
          $('#menu-item-75').addClass('active')

          $('footer').show()
          $('body').removeClass('overflow')
        },
        beforeLeave() {
          $('#menu-item-75').removeClass('active')

        }
      }
    ],
    transitions: [{
      name: 'opacity-transition',
      leave(data) {
        PageTransitionIn(data.current.container)
      },
      enter(data) {
        PageTransitionOut(data.next.container)
      },
      afterEnter() {
        if ($(window).scrollTop() > 100) {
          gsap.to(window, 1, { delay: 1, scrollTo: { y: 0 }, ease: Power4.easeOut });
        }
      }
    }],
    // debug: true
  });



});


function PageTransitionIn(container) {
  return gsap.to(container, 1, {
    autoAlpha: 0,
    ease: Power4.easeOut
  });
}

function PageTransitionOut(container) {
  return gsap.from(container, 2, {
    autoAlpha: 0,
    delay: 0.5,
    ease: Power4.easeOut
  });
}
Editor is loading...