seleccion-articulos.component.html 8.73 KB
<div class="h-92 bg-white fade-in-left">
  <!-- PUBLICIDADES -->
  <app-header-publicidad></app-header-publicidad>

  <div class="row mx-0 align-items-end"
       [ngClass]="boxCarrito.classList.contains('media-pantalla')
                  ? 'h-68' : 'h-80'">
    <!-- CABECERA -->
    <div class="row w-100 mx-3 h-auto border border-primary rounded-sm">
      <div class="col-12 p-2 align-self-center">
        <div class="px-3">
          <p class="h6 text-truncate">SELECCIONÁ TÚ COMIDA Y/O BEBIDA</p>
        </div>
      </div>
    </div>
    <!-- CUERPO -->
    <div class="row w-100 mr-4 h-50 h-md-70" id="content">
      <div class="col-12 h-100 px-0 py-3">
        <div class="row mx-0 h-100">
          <app-filtro-categorias
            class="col-5 col-sm-3 col-xl-2 h-100"
            #filtroCategorias
            (getProductos)="getProductos()"
            (setProductos)="setProductos()"
            (filterItems)="filterItems()">
          </app-filtro-categorias>
          <!-- LISTA DE ARTICULOS -->
          <div
            class="col-7 col-sm-9 col-xl-10 pb-3 h-100 align-self-center scroll-y-visible"
            (scroll)="scrollEvent($event)">
            <!-- SPINNER -->
            <div
              class="d-flex justify-content-center"
              *ngIf="loading">
              <div class="spinner-border text-primary mt-5" role="status">
                <span class="sr-only">Loading...</span>
              </div>
            </div>
            <div class="row row-cols-1 row-cols-sm-3 row-cols-xl-6">
              <!-- ARTICULO -->
              <div
                *ngFor="let articulo of auxArticulos | slice:0:showQuantity;"
                [hidden]="validarFecha(articulo.FECHA_VIGENCIA_DESDE, articulo.FECHA_VIGENCIA_HASTA)"
                class="col px-2 my-1 my-md-3 h-auto">
                <div
                  class="swing-in-top-fwd btn-effect card h-auto"
                  (click)="selectArticulo(articulo)">
                  <img
                    draggable="false"
                    ondragstart="return false;"
                    (contextmenu)="false"
                    *ngIf="articulo.ExiVta < 1"
                    class="w-50 position-fixed right-0"
                    src="assets/img/sin-stock.svg">
                  <img
                    draggable="false"
                    ondragstart="return false;"
                    (contextmenu)="false"
                    src="{{urlImagenes}}{{articulo.imagenes[0].imagen}}"
                    onerror="this.src='assets/img/imagen-no-encontrada.jpg'"
                    class="card-img-top w-100 h-auto h-md-55 rounded-sm">
                  <div class="row mx-0 py-1 h-auto justify-content-center">
                    <p class="col-12 px-1 h6 h-auto text-primary text-center min-h-60">
                     {{articulo.MKT_DESC ? articulo.MKT_DESC.toUpperCase() : articulo.DetArt.toUpperCase()}}
                    </p>
                    <div class="col-12 px-1 align-self-end h-auto">
                      <div class="row mx-0 justify-content-between bg-primary badge-pill">
                        <div class="col px-0 align-self-center text-white text-right">
                          {{articulo.PreVen | currency}}
                        </div>
                        <div class="col-5 px-0">
                          <img
                            draggable="false"
                            ondragstart="return false;"
                            (contextmenu)="false"
                            class="d-block ml-auto py-1 icon-30"
                            src="assets/img/ir.svg">
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <!-- BOTON VER MAS -->
            <div class="row mx-0">
              <div
                *ngIf="showQuantity <= auxArticulos.slice(0, showQuantity).length"
                class="col-12 px-0 mb-2">
                <button
                  (click)="increaseShow()"
                  class="btn btn-block btn-outline-primary">
                  Ver Más
                </button>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
    <!-- FOOTER CARRITO DE COMPRAS -->
    <div class="row w-90 mx-auto h-auto justify-content-center">
      <div class="h-75 px-0 border border-primary rounded" #boxCarrito
           [ngClass]="boxCarrito.classList.contains('media-pantalla')
                      ? 'col-8' : 'col-12'" id="boxCarrito">
        <!-- CABECERA -->
        <div class="row mx-0 h-15 border-bottom border-primary">
          <p class="col align-self-center text-truncate"><small>ARTÍCULOS EN TÚ CARRITO DE COMPRAS</small></p>
        </div>
        <!-- CUERPO -->
        <div class="row h-85 mx-0 justify-content-around">
          <!-- BOTON SCROLL IZQUIERDA -->
          <div *ngIf="articuloService.carrito.length" class="col-auto btn-effect h-20 align-self-center">
            <img
              draggable="false"
              ondragstart="return false;"
              (contextmenu)="false"
              class="icon-30 rotate-180-neg"
              src="assets/img/ir-fondo-color.svg"
              (mousedown)="scrollX(templateCarrito, -100)"
              (mouseup)="mouseup()"
              (mouseleave)="mouseup()">
          </div>
          <!-- CARRITO -->
          <div class="col-6 col-sm-8 col-lg-10 h-100">
            <div
              #templateCarrito
              class="row flex-row flex-nowrap h-100 mx-0 my-2 scroll-x"
              (scroll)="scrollEvent($event)">
              <!-- ARTICULOS -->
              <div
                class="col-10 col-sm-4 col-lg-2 px-2 px-xl-4 align-self-center border-right border-primary"
                *ngFor="let articulo of articuloService.carrito; let i = index;"
                @EnterLeaveY>
                <img
                  class="btn-effect icon-20 mr-2 position-absolute right-0"
                  src="assets/img/icono-cancelar-color.svg"
                  (click)="deleteArticulo(i)">
                <img
                  draggable="false"
                  ondragstart="return false;"
                  (contextmenu)="false"
                  class="d-block img-fluid p-2 mx-auto rounded w-100 h-auto"
                  src="{{urlImagenes}}{{articulo.imagenes[0].imagen}}"
                  onerror="this.src='assets/img/imagen-no-encontrada.jpg'">
                <p class="d-block mt-auto text-center text-primary text-truncate">
                  <small>{{articulo.MKT_DESC ? articulo.MKT_DESC.toUpperCase() : articulo.DetArt.toUpperCase()}}</small>
                </p>
                <app-articulo-cantidad [articulo]="articulo"></app-articulo-cantidad>
              </div>
              <!-- MENSAJE DE ADVERTENCIA -->
              <div *ngIf="!articuloService.carrito.length" class="col h-100">
                <p class="text-center py-5">No hay artículos en el carrito</p>
              </div>
            </div>
          </div>
          <!-- BOTON SCROLL DERECHA -->
          <div *ngIf="articuloService.carrito.length"
               class="col-auto btn-effect h-20 align-self-center d-contents">
            <img
              draggable="false"
              ondragstart="return false;"
              (contextmenu)="false"
              class="icon-30"
              src="assets/img/ir-fondo-color.svg"
              (mousedown)="scrollX(templateCarrito, 100)"
              (mouseup)="mouseup()"
              (mouseleave)="mouseup()">
          </div>
        </div>
      </div>
      <!-- TOTAL-->
      <div
        class="col-auto mt-2 ml-auto h-20">
        <div class="row mx-0">
          <p class="col-auto font-weight-bold align-self-center text-primary py-2 h3">TOTAL</p>
          <div class="col-auto align-self-center bg-primary badge-pill">
            <p class="text-center font-weight-bold text-white py-2 h3 px-2">{{articuloService.total | currency}}</p>
          </div>
        </div>
      </div>

      <!-- VER CARRITO -->
      <div
        class="col-auto px-0 h-20"
        *ngIf="articuloService.carrito.length"
        [ngClass]="boxCarrito.classList.contains('media-pantalla') ? 'ml-auto' : 'mt-2'">
        <div
          class="btn-effect col-auto px-0 align-self-center bg-white"
          [routerLink]="['/carrito']">
          <div class="row mx-0 bg-light">
            <div class="col-auto px-0 bg-primary">
              <img
                draggable="false"
                ondragstart="return false;"
                (contextmenu)="false"
                class="p-2 icon-60"
                src="assets/img/carrito.svg">
            </div>
            <div class="col-auto align-self-center text-primary d-none d-sm-block">PAGAR</div>
          </div>
        </div>
      </div>

    </div>
  </div>

</div>