import { Component, OnInit } from '@angular/core';
import { NgbActiveModal, NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';
import { ModalInterface } from 'src/app/interfaces/modal-interface';
import { DataTransmitterService } from 'src/app/services/dataTransmitter/data-transmitter.service';

@Component({
  standalone: false,
  selector: 'app-confirm-contact-method-popup',
  templateUrl: './confirm-contact-method-popup.component.html',
  styleUrls: ['./confirm-contact-method-popup.component.scss']
})
export class ConfirmContactMethodPopupComponent implements OnInit, ModalInterface {

    orderContactMethodConfig = {
        showHeader: true,
        title: 'You have selected a Phone number, do you prefer calling or text messaging?'
    };

    modalComponent!: NgbModalRef;

    contactMethod!: string;
    
    showErrorMsg: boolean = false;

    closeContactBtnDisabled: boolean = false;

    constructor(public activeModal: NgbActiveModal, public modalService: NgbModal, private dataTransmitter: DataTransmitterService) { }

    ngOnInit(): void {
    }

    openModal(): void {
        this.modalComponent = this.modalService?.open(ConfirmContactMethodPopupComponent, { size: 'sm' });
    }

    closeModal(): void {
        if (this.contactMethod === "Text" || this.contactMethod === "Phone") {
            this.modalService.dismissAll();
            return;
        }
        this.showErrorMsg = true;
    }

    setData(data: any): void {
        this.modalComponent.componentInstance.contactMethod = data.contactMethod;
    }

    setOrderContactMethod (contactMethod: string): void {
        this.contactMethod = contactMethod;
        this.showErrorMsg = false;
        this.dataTransmitter.orderContactMethodChange.next(contactMethod);
    }   
}