import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';

@Component({
  selector: 'app-consent',
  standalone: true,
  imports: [CommonModule, FormsModule],
  templateUrl: './consent.component.html',
  styleUrls: ['./consent.component.css']
})
export class ConsentComponent implements OnInit {
  consentGiven = false;
  isIosDevice = false;

  constructor(
    private router: Router,
  ) {}

  ngOnInit(): void {
    this.isIosDevice = this.isIOS();
    
    if (this.isIosDevice) {
      console.log("iOS device detected. Study will be disabled.");
    }
    this.preloadTestSuite();
  }

  preloadTestSuite(): void {
    import('../test-suite/test-suite.component')
      .then(() => {
      })
      .catch(err => {
      });
  }


  isIOS(): boolean {
    const win = window as any;
    return /iPad|iPhone|iPod/.test(navigator.userAgent) && !win.MSStream;
  }


  onConsentChange(event: Event): void {
    const target = event.target as HTMLInputElement;
    this.consentGiven = target.checked;
  }

  startTestSuite(): void {
    if (this.consentGiven && !this.isIosDevice) {
      this.router.navigate(['/test-suite']);
    }
  }
}
