// Angular Core
import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';
import { environment } from 'src/environments/environment';

@Component({
  standalone: false,
  selector: 'app-shipping-option',
  templateUrl: './shipping-option.component.html',
  styleUrls: ['./shipping-option.component.scss'],
  encapsulation: ViewEncapsulation.None,
})
export class ShippingOptionComponent implements OnInit {

  @Input() shippingInfo!: any;
  @Input() items!: any;
  @Input() imgStyle?: string = 'cart-notice-img';
  imgUrl: string = environment.imageUrl;

  constructor() { }

  ngOnInit(): void {
    this.getImage();
  }

  /**
   * Get shipping image url basing on whether the buyer
   * has met the overnight shipping minimum order.
   * Return airplane icon if met and truck icon if not.
   * @returns {String}
   */
  getImage() {
    var imgUrl = this.imgUrl+'/cargo-truck-sm.png';
    if (typeof(this.shippingInfo) !== 'undefined' && this.shippingInfo.shipping_methods.O0.status !== 'Not Available' &&
            parseInt(this.shippingInfo.shipping_methods.O0.minOrderForFree) <= this.shippingInfo.supplier_total) {
        imgUrl = this.imgUrl+'/airplane-icon.png';
    }
    
    return imgUrl;
  };

  // Trackby function for track looping items
  trackByFn(index:number, item:any){
    return item
  }
}
