import { Component, OnInit, ViewChild } from '@angular/core';
import { IonSlides, ModalController, NavParams } from '@ionic/angular';
import { ImageCroppedEvent } from 'ngx-image-cropper';
import { PublicationsService } from 'src/app/services/publications.service';
import { GroupIconsPage } from '../group-icons/group-icons.page';
import { Share } from '@capacitor/share';
import { Router } from '@angular/router';
import { Directory, Filesystem } from '@capacitor/filesystem';

@Component({
  selector: 'app-preview-camera',
  templateUrl: './preview-camera.page.html',
  styleUrls: ['./preview-camera.page.scss'],
})
export class PreviewCameraPage implements OnInit {

  constructor( private modalController: ModalController,
    private navParams:NavParams,
    public router: Router,
    private publicService: PublicationsService) { }

 
@ViewChild(IonSlides) slides : IonSlides
  image: any;
  name: string
  _updatedAt: string


  // myimage: null
  // croppedImageBase64: any

// @Input('img') img: any
// @Input() username: string;
// @Input() date: string;

  slideOpts = {
  zoom: true

  }

ngOnInit() {
  this.image = this.navParams.get('image')
  this.name = this.navParams.get('username')
  this._updatedAt = this.navParams.get('_updatedAt')
  console.log(this.image)
  // this.image = this.myimage
}

ionViewDidEnter(){
  this.slides.update()
}

async zoom(zoomIn: boolean){
  const slider = await this.slides.getSwiper() //is swipper =!
  const zoom = slider.zoom
  zoomIn ? zoom.in(): zoom.out()
  }

close(){
  this.modalController.dismiss()
    }

// imageCropped(ev: ImageCroppedEvent){
//     this.croppedImageBase64 = ev.base64
//   }


// async grupo(){
//   const modal = await this.modalController.create({
//     component:   GroupIconsPage,
//     cssClass: 'transparent-modal',
//   });
//   modal.present();
//   }

async getIconGallery(){

    const modal = await this.modalController.create({
      component: GroupIconsPage ,
      animated: true,
      cssClass: 'transparent-modal',
            });
    modal.present();
  }

  openChat(){

    
  }

  clear() {
     this.getIconGallery()
   
  }

  openChatVideo(){

  }
  deleteImage(){
    document.addEventListener('DOMContentLoaded', ()=>{
      document.querySelector('img').addEventListener('click',removeImage)
    })
    function removeImage(ev){
      console.log(ev.target, ev.currentTarget)
      let img = ev.currentTarget
      let src = ev.target.closest('.img')
      src?.parentElement.removeChild(src)
     
    }
  }


async getIconShare(){

  
  await Share.share({
    title: 'See cool stuff',
    text: 'Really awesome thing you need to see right meow',
    url: "https://www.google.com/search?q=joao+louren%C3%A7o&rlz=1C1SQJL_pt-PTAO977AO977&sxsrf=AOaemvIEvXz_WiqNNapjaoE42Q8b71jtiA:1638355797910&source=lnms&tbm=isch&sa=X&sqi=2&ved=2ahUKEwjo9uX6tsL0AhXTlWoFHX1XAtcQ_AUoAXoECAMQAw&biw=1920&bih=937&dpr=1#imgrc=lH5UYZyhPKBhHM",
    dialogTitle: 'Share with buddies',
  });
  
}

redirPage(){
  this.router.navigateByUrl('/chat')
}

async deleteFile(entry){
  if(entry.isFile){
    await Filesystem.deleteFile({
      directory: Directory.Documents,
      path: this.image.src + '/' + entry.name
    })
  }else{
    await Filesystem.rmdir({
      directory: Directory.Documents,
      path: this.image.src + '/' + entry.name,
      recursive:true //remove all file as well
    })
  }

}
}


