import {Component} from '@angular/core';
import {RouterOutlet} from '@angular/router';
import {MatomoInjector} from 'ngx-matomo';
import {animate, query, style, transition, trigger} from '@angular/animations';

export const routerTransition = trigger('routerTransition', [
  transition('* <=> *', [
    // Initial state of new route
    query(':enter',
      style({
        position: 'fixed',
        width: '100%',
        // transform: 'translateX(-100%)'
        opacity: 0
      }),
      {optional: true}),

    // move page off screen right on leave
    query(':leave',
      animate('300ms ease-in-out',
        style({
          position: 'fixed',
          width: '100%',
          // transform: 'translateX(100%)'
          opacity: 0
        })
      ),
      {optional: true}),

    // move page in screen from left to right
    query(':enter',
      animate('300ms ease-in-out',
        style({
          opacity: 1,
          // transform: 'translateX(0%)'
        })
      ),
      {optional: true}),
  ])
]);

@Component({
  selector: 'app-root',
  animations: [routerTransition],
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
    constructor(private matomoInjector: MatomoInjector) {
        this.matomoInjector.init('https://cameroncordes.me/piwik/', 1);
    }

  getState(outlet: RouterOutlet) {
    return outlet.activatedRouteData.state;
  }
}

