Commit 6215ca50b443d771d3c5da4848bc04bb029ad610
Exists in
develop
solving merge
Showing
23 changed files
Show diff stats
src/app/modules/carrito/carrito.component.html
... | ... | @@ -24,7 +24,7 @@ |
24 | 24 | <div |
25 | 25 | class="col-12 col-xl-6 p-2 h-50 h-md-25 h-xl-40 text-center text-truncate carrito-articulo" |
26 | 26 | *ngFor="let articulo of articuloService.carrito; let i = index;" |
27 | - @EnterLeave> | |
27 | + @EnterLeaveX> | |
28 | 28 | <!-- ARTICULO --> |
29 | 29 | <div class="h-100 border border-primary rounded-sm"> |
30 | 30 | <div class="row align-items-center mx-0 h-100"> |
... | ... | @@ -36,10 +36,10 @@ |
36 | 36 | (contextmenu)="false" |
37 | 37 | class="d-none d-md-block mx-auto h-55 rounded-sm shadow-sm" |
38 | 38 | src="{{urlImagenes}}{{articulo.imagenes[0].imagen}}" |
39 | - onerror="this.src='assets/img/image-not-found.jpg'"> | |
39 | + onerror="this.src='assets/img/imagen-no-encontrada.jpg'"> | |
40 | 40 | <div class="row mx-0 h-100 h-md-45"> |
41 | 41 | <p class="col text-primary text-truncate align-self-center"> |
42 | - <small>{{articulo.DetArt}}</small> | |
42 | + <small>{{articulo.MKT_DESC ? articulo.MKT_DESC.toUpperCase() : articulo.DetArt.toUpperCase()}}</small> | |
43 | 43 | </p> |
44 | 44 | </div> |
45 | 45 | </div> |
src/app/modules/carrito/carrito.component.ts
... | ... | @@ -2,28 +2,16 @@ import { Component, OnInit, OnDestroy, HostListener } from '@angular/core'; |
2 | 2 | import { Location } from '@angular/common'; |
3 | 3 | import { ArticuloService } from 'src/app/services/articulo/articulo.service'; |
4 | 4 | import { APP_SETTINGS } from 'src/etc/AppSettings'; |
5 | -import { trigger, state, style, transition, animate } from '@angular/animations'; | |
6 | -import { IArticulo } from 'src/app/interfaces/IArticulo'; | |
7 | 5 | import { Router } from '@angular/router'; |
8 | 6 | import { BsModalRef } from 'ngx-bootstrap/modal/public_api'; |
9 | 7 | import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive-screen.service'; |
8 | +import { ANIMATIONS } from 'src/app/utils/animations'; | |
10 | 9 | |
11 | 10 | @Component({ |
12 | 11 | selector: 'app-carrito', |
13 | 12 | templateUrl: './carrito.component.html', |
14 | 13 | styleUrls: ['./carrito.component.scss'], |
15 | - animations: [ | |
16 | - trigger('EnterLeave', [ | |
17 | - state('flyIn', style({ transform: 'translateX(0)' })), | |
18 | - transition(':enter', [ | |
19 | - style({ transform: 'translateX(-100%)' }), | |
20 | - animate('1s ease-in') | |
21 | - ]), | |
22 | - transition(':leave', [ | |
23 | - animate('1s ease-out', style({ transform: 'translateX(-100%)' })) | |
24 | - ]) | |
25 | - ]) | |
26 | - ] | |
14 | + animations: [ANIMATIONS.EnterLeaveX] | |
27 | 15 | }) |
28 | 16 | export class CarritoComponent implements OnInit, OnDestroy { |
29 | 17 | urlImagenes = `${APP_SETTINGS.apiDeboSuite}/imagenes/`; |
src/app/modules/forma-pago/forma-pago.component.html
1 | 1 | <div class="h-92 bg-white fade-in-left"> |
2 | - <div class="row mx-0 h-15"> | |
2 | + <div class="row mx-0 h-20"> | |
3 | 3 | <div class="col-12 px-0 h-80 my-auto"> |
4 | 4 | <img |
5 | 5 | draggable="false" |
... | ... | @@ -9,65 +9,74 @@ |
9 | 9 | src="assets/img/logo-spot.svg"> |
10 | 10 | </div> |
11 | 11 | </div> |
12 | - <div class="h-85"> | |
13 | - <div class="row mt-5 mx-3 h-auto border border-primary rounded-sm"> | |
12 | + <div class="h-100"> | |
13 | + <div class="h-10"></div> | |
14 | + <div class="row mt-5 mx-3 h-auto"> | |
14 | 15 | <div class="col-12 px-0 py-2 align-self-center"> |
15 | 16 | <div class="px-3 text-center"> |
16 | - <p class="h6 text-truncate">SELECCIONA UNA FORMA DE PAGO</p> | |
17 | + <p class="h4 text-truncate">SELECCIONA UNA FORMA DE PAGO</p> | |
17 | 18 | </div> |
18 | 19 | </div> |
19 | 20 | </div> |
20 | 21 | <!-- OPCION PAGO ELECTRONICO --> |
21 | - <div class="row mt-5 h-auto justify-content-center mx-0 reduce-card-1"> | |
22 | - <div class="col-auto px-0 h-auto align-self-start"> | |
23 | - <div | |
24 | - class="btn-effect col-auto align-self-center px-0 bg-white" | |
25 | - (click)="medioPago(9)"> | |
26 | - <div class="row mx-0 bg-primary badge-pill"> | |
27 | - <div class="col-auto p-0"> | |
28 | - <img | |
29 | - draggable="false" | |
30 | - ondragstart="return false;" | |
31 | - (contextmenu)="false" | |
32 | - class="p-1 icon-50" | |
33 | - src="assets/img/icono-plato.svg"> | |
34 | - </div> | |
35 | - <div class="col-auto align-self-center text-white">Pago electrรณnico</div> | |
36 | - <div class="col-auto align-self-center p-0"> | |
37 | - <img | |
38 | - draggable="false" | |
39 | - ondragstart="return false;" | |
40 | - (contextmenu)="false" | |
41 | - class="p-1 icon-30" | |
42 | - src="assets/img/ir.svg"> | |
22 | + <div class="row mt-5 h-auto justify-content-center mx-0"> | |
23 | + <div class="col-5 px-0 h-auto align-self-start reduce-card-1"> | |
24 | + <div class="row justify-content-between"> | |
25 | + <div class="col-12"> | |
26 | + <div | |
27 | + class="btn-effect col-auto align-self-center px-0 bg-white" | |
28 | + (click)="medioPago(9)"> | |
29 | + <div class="row mx-0 bg-primary badge-pill heigth-80"> | |
30 | + <div class="col-2 p-0"> | |
31 | + <img | |
32 | + draggable="false" | |
33 | + ondragstart="return false;" | |
34 | + (contextmenu)="false" | |
35 | + class="pt-3 pl-2 icon-50" | |
36 | + src="assets/img/icono-pago-electronico.svg"> | |
37 | + </div> | |
38 | + <div class="col-8 align-self-center text-center text-white h4">Pago electrรณnico</div> | |
39 | + <div class="col-1 align-self-center p-0"> | |
40 | + <img | |
41 | + draggable="false" | |
42 | + ondragstart="return false;" | |
43 | + (contextmenu)="false" | |
44 | + class="p-1 icon-50" | |
45 | + src="assets/img/ir.svg"> | |
46 | + </div> | |
47 | + </div> | |
43 | 48 | </div> |
44 | 49 | </div> |
45 | 50 | </div> |
46 | 51 | </div> |
47 | 52 | </div> |
48 | 53 | <!-- OPCION PAGO CON TARJETA --> |
49 | - <div class="row mt-5 h-auto justify-content-center mx-0 reduce-card-2"> | |
50 | - <div class="col-auto px-0 h-auto align-self-start"> | |
51 | - <div | |
52 | - class="btn-effect col-auto align-self-center px-0 bg-white" | |
53 | - (click)="medioPago(4)"> | |
54 | - <div class="row mx-0 bg-primary badge-pill"> | |
55 | - <div class="col-auto p-0"> | |
56 | - <img | |
57 | - draggable="false" | |
58 | - ondragstart="return false;" | |
59 | - (contextmenu)="false" | |
60 | - class="p-1 icon-50" | |
61 | - src="assets/img/icono-take-away.svg"> | |
62 | - </div> | |
63 | - <div class="col-auto align-self-center text-white">Pago con tarjeta</div> | |
64 | - <div class="col-auto align-self-center p-0"> | |
65 | - <img | |
66 | - draggable="false" | |
67 | - ondragstart="return false;" | |
68 | - (contextmenu)="false" | |
69 | - class="p-1 icon-30" | |
70 | - src="assets/img/ir.svg"> | |
54 | + <div class="row mt-5 h-auto justify-content-center mx-0"> | |
55 | + <div class="col-5 px-0 h-auto align-self-start reduce-card-1"> | |
56 | + <div class="row justify-content-between"> | |
57 | + <div class="col-12"> | |
58 | + <div | |
59 | + class="btn-effect col-auto align-self-center px-0 bg-white" | |
60 | + (click)="medioPago(4)"> | |
61 | + <div class="row mx-0 bg-primary badge-pill heigth-80"> | |
62 | + <div class="col-2 p-0"> | |
63 | + <img | |
64 | + draggable="false" | |
65 | + ondragstart="return false;" | |
66 | + (contextmenu)="false" | |
67 | + class="pt-4 pl-2 icon-50" | |
68 | + src="assets/img/icono-pago-tarjeta.svg"> | |
69 | + </div> | |
70 | + <div class="col-8 align-self-center text-center text-white h4">Pago con tarjeta</div> | |
71 | + <div class="col-2 align-self-center p-0"> | |
72 | + <img | |
73 | + draggable="false" | |
74 | + ondragstart="return false;" | |
75 | + (contextmenu)="false" | |
76 | + class="p-1 icon-50" | |
77 | + src="assets/img/ir.svg"> | |
78 | + </div> | |
79 | + </div> | |
71 | 80 | </div> |
72 | 81 | </div> |
73 | 82 | </div> |
src/app/modules/opcion-pedido/opcion-pedido.component.scss
src/app/modules/seleccion-articulos/filtro-categorias/filtro-categorias.component.html
... | ... | @@ -41,7 +41,7 @@ |
41 | 41 | (contextmenu)="false" |
42 | 42 | class="col-12 img-fluid align-self-end d-none d-sm-block rounded-circle" |
43 | 43 | src="{{urlImagenes}}{{categoria.path_imagen}}" |
44 | - onerror="this.src='assets/img/image-not-found.jpg'"> | |
44 | + onerror="this.src='assets/img/imagen-no-encontrada.jpg'"> | |
45 | 45 | <small class="col-12 px-1 my-1 h-100 h-md-25 align-self-end text-center text-truncate">{{categoria.detalle}}</small> |
46 | 46 | </div> |
47 | 47 | </div> |
src/app/modules/seleccion-articulos/filtro-categorias/filtro-categorias.component.ts
1 | -import { Component, OnInit, Input, HostListener, Output, EventEmitter } from '@angular/core'; | |
1 | +import { Component, OnInit, HostListener, Output, EventEmitter } from '@angular/core'; | |
2 | 2 | import { ICategoria } from 'src/app/interfaces/ICategoria'; |
3 | 3 | import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive-screen.service'; |
4 | 4 | import { CategoriaService } from 'src/app/services/categoria/categoria.service'; |
src/app/modules/seleccion-articulos/seleccion-articulos.component.html
... | ... | @@ -39,18 +39,14 @@ |
39 | 39 | ondragstart="return false;" |
40 | 40 | (contextmenu)="false" |
41 | 41 | src="{{urlImagenes}}{{articulo.imagenes[0].imagen}}" |
42 | - onerror="this.src='assets/img/image-not-found.jpg'" | |
42 | + onerror="this.src='assets/img/imagen-no-encontrada.jpg'" | |
43 | 43 | class="card-img-top h-30 h-md-55 rounded-sm"> |
44 | 44 | <div class="row mx-0 py-1 h-auto justify-content-center"> |
45 | - <p | |
46 | - [ngClass]="{'text-primary': articulo.PRO, 'text-secondary': !articulo.PRO}" | |
47 | - class="col-12 px-1 h6 h-auto text-center min-h-60"> | |
48 | - {{articulo.DetArt.toUpperCase()}} | |
45 | + <p class="col-12 px-1 h6 h-auto text-primary text-center min-h-60"> | |
46 | + {{articulo.MKT_DESC ? articulo.MKT_DESC.toUpperCase() : articulo.DetArt.toUpperCase()}} | |
49 | 47 | </p> |
50 | 48 | <div class="col-12 px-1 align-self-end h-auto"> |
51 | - <div | |
52 | - [ngClass]="{'bg-primary': articulo.PRO, 'bg-secondary': !articulo.PRO}" | |
53 | - class="row mx-0 justify-content-between badge-pill"> | |
49 | + <div class="row mx-0 justify-content-between bg-primary badge-pill"> | |
54 | 50 | <div class="col px-0 align-self-center text-white text-right"> |
55 | 51 | {{articulo.PreVen | currency}} |
56 | 52 | </div> |
... | ... | @@ -117,7 +113,7 @@ |
117 | 113 | <div |
118 | 114 | class="col-10 col-sm-4 col-lg-2 px-2 px-xl-4 align-self-center border-right border-primary" |
119 | 115 | *ngFor="let articulo of articuloService.carrito; let i = index;" |
120 | - @EnterLeave> | |
116 | + @EnterLeaveY> | |
121 | 117 | <img |
122 | 118 | class="btn-effect icon-20 mr-2 position-absolute right-0" |
123 | 119 | src="assets/img/icono-cancelar-color.svg" |
... | ... | @@ -128,9 +124,9 @@ |
128 | 124 | (contextmenu)="false" |
129 | 125 | class="d-block img-fluid p-2 mx-auto rounded" |
130 | 126 | src="{{urlImagenes}}{{articulo.imagenes[0].imagen}}" |
131 | - onerror="this.src='assets/img/image-not-found.jpg'"> | |
127 | + onerror="this.src='assets/img/imagen-no-encontrada.jpg'"> | |
132 | 128 | <p class="d-block mt-auto text-center text-primary text-truncate"> |
133 | - <small>{{articulo.DetArt}}</small> | |
129 | + <small>{{articulo.MKT_DESC ? articulo.MKT_DESC.toUpperCase() : articulo.DetArt.toUpperCase()}}</small> | |
134 | 130 | </p> |
135 | 131 | <app-articulo-cantidad [articulo]="articulo"></app-articulo-cantidad> |
136 | 132 | </div> |
src/app/modules/seleccion-articulos/seleccion-articulos.component.ts
1 | -import { Component, OnInit, OnDestroy, HostListener, ViewChild, ViewChildren, AfterViewInit } from '@angular/core'; | |
1 | +import { Component, OnInit, OnDestroy, HostListener, ViewChild, AfterViewInit } from '@angular/core'; | |
2 | 2 | import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal'; |
3 | 3 | import { ArticuloService } from 'src/app/services/articulo/articulo.service'; |
4 | 4 | import { IArticulo } from 'src/app/interfaces/IArticulo'; |
5 | 5 | import { APP_SETTINGS } from 'src/etc/AppSettings'; |
6 | 6 | import { ICategoria } from 'src/app/interfaces/ICategoria'; |
7 | 7 | import { ISinonimo } from 'src/app/interfaces/ISinonimo'; |
8 | -import { CategoriaService } from 'src/app/services/categoria/categoria.service'; | |
9 | 8 | import { PromocionComponent } from 'src/app/shared/promocion/promocion.component'; |
10 | 9 | import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive-screen.service'; |
11 | 10 | import { SinonimoService } from 'src/app/services/sinonimo/sinonimo.service'; |
12 | 11 | import { SinonimoComponent } from 'src/app/shared/sinonimo/sinonimo.component'; |
13 | -import { trigger, state, style, transition, animate } from '@angular/animations'; | |
14 | 12 | import { FiltroCategoriasComponent } from './filtro-categorias/filtro-categorias.component'; |
15 | 13 | import * as _ from 'lodash'; |
14 | +import { ANIMATIONS } from 'src/app/utils/animations'; | |
16 | 15 | |
17 | 16 | @Component({ |
18 | 17 | selector: 'app-seleccion-articulos', |
19 | 18 | templateUrl: './seleccion-articulos.component.html', |
20 | 19 | styleUrls: ['./seleccion-articulos.component.scss'], |
21 | - animations: [ | |
22 | - trigger('EnterLeave', [ | |
23 | - state('flyIn', style({ transform: 'translateY(0)' })), | |
24 | - transition(':enter', [ | |
25 | - style({ transform: 'translateY(-100%)' }), | |
26 | - animate('0.5s ease-in') | |
27 | - ]), | |
28 | - transition(':leave', [ | |
29 | - animate('0.5s ease-out', style({ transform: 'translateY(-100%)' })) | |
30 | - ]) | |
31 | - ]) | |
32 | - ] | |
20 | + animations: [ANIMATIONS.EnterLeaveY] | |
33 | 21 | }) |
34 | 22 | export class SeleccionArticulosComponent implements OnInit, AfterViewInit, OnDestroy { |
35 | 23 | showSpinner = true; |
... | ... | @@ -46,7 +34,6 @@ export class SeleccionArticulosComponent implements OnInit, AfterViewInit, OnDes |
46 | 34 | |
47 | 35 | constructor( |
48 | 36 | public articuloService: ArticuloService, |
49 | - private categoriaService: CategoriaService, | |
50 | 37 | private sinonimoService: SinonimoService, |
51 | 38 | private modalService: BsModalService, |
52 | 39 | private inactiveScreen: InactiveScreenService, |
... | ... | @@ -127,13 +114,13 @@ export class SeleccionArticulosComponent implements OnInit, AfterViewInit, OnDes |
127 | 114 | getSinonimos(articulo: IArticulo) { |
128 | 115 | this.sinonimoService.getSinonimos(articulo.CodSec, articulo.CodArt) |
129 | 116 | .subscribe((res: any[]) => { |
130 | - const sinonimos = []; | |
131 | - const gruposArticulos = _.groupBy(res[0].productos, 'ID_SIN'); | |
132 | - Object.keys(gruposArticulos).forEach(key => { | |
133 | - sinonimos.push({ productos: gruposArticulos[key] }); | |
134 | - }); | |
135 | - res = sinonimos; | |
136 | 117 | if (res.length) { |
118 | + const sinonimos = []; | |
119 | + const gruposArticulos = _.groupBy(res[0].productos, 'ID_SIN'); | |
120 | + Object.keys(gruposArticulos).forEach(key => { | |
121 | + sinonimos.push({ productos: gruposArticulos[key] }); | |
122 | + }); | |
123 | + res = sinonimos; | |
137 | 124 | this.openModalSinonimos(res, articulo); |
138 | 125 | } else { |
139 | 126 | this.articuloService.setArticulo(articulo); |
src/app/shared/confirmacion/confirmacion.component.html
... | ... | @@ -10,7 +10,7 @@ |
10 | 10 | ondragstart="return false;" |
11 | 11 | (contextmenu)="false" |
12 | 12 | src="{{urlImagenes}}{{imagenPath}}" |
13 | - onerror="this.src='assets/img/image-not-found.jpg'" | |
13 | + onerror="this.src='assets/img/imagen-no-encontrada.jpg'" | |
14 | 14 | class="card-img-top img-fluid rounded-circle"> |
15 | 15 | </div> |
16 | 16 | </div> |
src/app/shared/footer/footer.component.html
src/app/shared/header-publicidad/header-publicidad.component.ts
... | ... | @@ -72,7 +72,7 @@ export class HeaderPublicidadComponent implements OnInit { |
72 | 72 | { |
73 | 73 | initialState: { |
74 | 74 | titleMessage: articulo.DET_LAR, |
75 | - imagenPath: articulo.imagenes.length ? articulo.imagenes[0].imagen : 'assets/img/image-not-found.jpg', | |
75 | + imagenPath: articulo.imagenes.length ? articulo.imagenes[0].imagen : 'assets/img/imagen-no-encontrada.jpg', | |
76 | 76 | footerMessageFirst: `ยฟDESEA AGREGAR ESTE ARTรCULO`, |
77 | 77 | footerMessageSecond: `a su carrito?`, |
78 | 78 | footerConfirmation: articulo.PreVen, |
src/app/shared/promocion/promocion.component.html
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | ondragstart="return false;" |
35 | 35 | (contextmenu)="false" |
36 | 36 | src="{{urlImagenes}}{{articulosPromo[0].imagenes[0].imagen}}" |
37 | - onerror="this.src='assets/img/image-not-found.jpg'" | |
37 | + onerror="this.src='assets/img/imagen-no-encontrada.jpg'" | |
38 | 38 | class="card-img-top img-fluid rounded-circle"> |
39 | 39 | </div> |
40 | 40 | </div> |
src/app/shared/promocion/promocion.component.ts
... | ... | @@ -9,6 +9,7 @@ import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive |
9 | 9 | import { SinonimoService } from 'src/app/services/sinonimo/sinonimo.service'; |
10 | 10 | import { ISinonimo } from 'src/app/interfaces/ISinonimo'; |
11 | 11 | import { SinonimoComponent } from '../sinonimo/sinonimo.component'; |
12 | +import * as _ from 'lodash'; | |
12 | 13 | |
13 | 14 | @Component({ |
14 | 15 | selector: 'app-promocion', |
... | ... | @@ -40,6 +41,12 @@ export class PromocionComponent implements OnInit { |
40 | 41 | this.sinonimoService.getSinonimos(promo.CodSec, promo.CodArt) |
41 | 42 | .subscribe((res: ISinonimo[]) => { |
42 | 43 | if (res.length) { |
44 | + const sinonimos = []; | |
45 | + const gruposArticulos = _.groupBy(res[0].productos, 'ID_SIN'); | |
46 | + Object.keys(gruposArticulos).forEach(key => { | |
47 | + sinonimos.push({ productos: gruposArticulos[key] }); | |
48 | + }); | |
49 | + res = sinonimos; | |
43 | 50 | this.openModalSinonimos(res, promo); |
44 | 51 | } else { |
45 | 52 | promo.cantidad = 1; |
src/app/shared/sinonimo/sinonimo.component.html
1 | 1 | <div class="bg-primary rounded text-white"> |
2 | 2 | <div class="modal-header"> |
3 | - <p class="h4">Elige una opciรณn</p> | |
3 | + <p class="h4 col-6 px-0 align-self-center">Eliga opciones {{sinonimos.length}}</p> | |
4 | + <div class="col-6 text-right"> | |
5 | + <p *ngFor="let s of sinonimos; let i = index"> | |
6 | + <span | |
7 | + class="pr-2 btn-effect" | |
8 | + (click)="scrollTo(i)"> | |
9 | + Ir a opciรณn {{i+1}}</span> | |
10 | + <i class="far fa-hand-point-left"></i> | |
11 | + </p> | |
12 | + </div> | |
4 | 13 | </div> |
5 | 14 | |
6 | 15 | <div class="modal-body lista-sinonimos scroll-y-visible my-2 mr-2"> |
7 | 16 | <div *ngFor="let s of sinonimos; let i = index"> |
8 | - <br> | |
17 | + <div [id]="i"></div> | |
18 | + <hr [hidden]="i === 0" class="bg-white"> | |
9 | 19 | <div *ngFor="let articulo of s.productos"> |
10 | 20 | <div class="custom-control custom-checkbox"> |
11 | 21 | <input |
src/app/shared/sinonimo/sinonimo.component.ts
... | ... | @@ -4,6 +4,7 @@ import { IArticulo } from 'src/app/interfaces/IArticulo'; |
4 | 4 | import { BsModalRef } from 'ngx-bootstrap/modal'; |
5 | 5 | import { Subject, forkJoin } from 'rxjs'; |
6 | 6 | import { ArticuloService } from 'src/app/services/articulo/articulo.service'; |
7 | +import { element } from 'protractor'; | |
7 | 8 | |
8 | 9 | @Component({ |
9 | 10 | selector: 'app-sinonimo', |
... | ... | @@ -73,4 +74,9 @@ export class SinonimoComponent implements OnInit { |
73 | 74 | }, err => console.error(err)); |
74 | 75 | } |
75 | 76 | |
77 | + scrollTo(index: number) { | |
78 | + const element = document.getElementById(index.toString()); | |
79 | + element.scrollIntoView({ behavior: "smooth", block: "center" }); | |
80 | + } | |
81 | + | |
76 | 82 | } |
src/app/utils/animations.ts
... | ... | @@ -0,0 +1,24 @@ |
1 | +import { trigger, state, style, transition, animate } from '@angular/animations'; | |
2 | + | |
3 | +export const ANIMATIONS = { | |
4 | + EnterLeaveY: trigger('EnterLeaveY', [ | |
5 | + state('flyIn', style({ transform: 'translateY(0)' })), | |
6 | + transition(':enter', [ | |
7 | + style({ transform: 'translateY(-100%)' }), | |
8 | + animate('0.5s ease-in') | |
9 | + ]), | |
10 | + transition(':leave', [ | |
11 | + animate('0.5s ease-out', style({ transform: 'translateY(-100%)' })) | |
12 | + ]) | |
13 | + ]), | |
14 | + EnterLeaveX: trigger('EnterLeaveX', [ | |
15 | + state('flyIn', style({ transform: 'translateX(0)' })), | |
16 | + transition(':enter', [ | |
17 | + style({ transform: 'translateX(-100%)' }), | |
18 | + animate('1s ease-in') | |
19 | + ]), | |
20 | + transition(':leave', [ | |
21 | + animate('1s ease-out', style({ transform: 'translateX(-100%)' })) | |
22 | + ]) | |
23 | + ]) | |
24 | +}; |
src/assets/img/icono-pago-electronico.svg
... | ... | @@ -0,0 +1,18 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |
3 | +<!-- Creator: CorelDRAW X7 --> | |
4 | +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="29.7016mm" height="29.6264mm" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
5 | +viewBox="0 0 677 675" | |
6 | + xmlns:xlink="http://www.w3.org/1999/xlink"> | |
7 | + <defs> | |
8 | + <style type="text/css"> | |
9 | + <![CDATA[ | |
10 | + .fil0 {fill:#F4B223} | |
11 | + ]]> | |
12 | + </style> | |
13 | + </defs> | |
14 | + <g id="Capa_x0020_1"> | |
15 | + <metadata id="CorelCorpID_0Corel-Layer"/> | |
16 | + <path class="fil0" d="M0 656c9,11 6,19 32,19 16,0 34,3 44,-7 11,-12 -7,-8 32,-19 12,-4 30,-10 41,-12 7,-4 27,-9 36,-11 12,-4 26,-7 38,-11 27,-9 36,-27 51,-45 27,-35 56,-73 83,-108 5,-5 7,-9 11,-14l32 -41c18,-23 35,-36 12,-61 -8,-7 -13,-19 -32,-16 -11,2 -20,14 -27,20 -2,1 -5,3 -7,5l-25 23c-4,4 -14,14 -19,16 -14,-6 -25,-32 -31,-51 -11,-34 -10,-31 -3,-66 3,-11 6,-22 8,-34 2,-7 11,-29 -5,-27 -8,1 -9,16 -12,29 -12,55 -20,53 -5,100 7,21 16,41 28,55 3,4 18,16 28,10 6,-4 14,-13 21,-19 5,-3 6,-6 11,-9l32 -29c4,-3 6,-9 14,-7 1,1 18,16 18,23 0,6 -38,52 -44,59l-71 92c-5,8 -12,16 -18,24 -24,31 -29,46 -64,57 -21,7 -42,13 -63,19 -21,6 -42,14 -63,19 0,-30 0,-61 0,-91 0,-19 -3,-71 4,-85l127 -254 30 -36c6,-8 13,-17 20,-25 4,-5 19,-21 16,-28 -8,-11 -14,-2 -19,4l-59 75c-7,9 -115,227 -122,241 -9,-9 -10,-12 -28,-12 -11,0 -29,-2 -38,3 -19,9 -13,42 -13,66 0,24 1,146 -1,159zm520 -97c15,-25 6,-34 0,-49 33,1 73,0 107,0 24,1 15,-13 11,-15 -4,-3 -222,-1 -263,-1 -13,0 -28,-4 -25,11 3,9 34,5 49,5 18,0 36,0 54,0 -11,26 -11,23 0,50 -16,0 -115,1 -124,-2 -7,-3 -10,-10 -17,-8 -10,2 -9,17 15,24 12,4 269,2 304,2 15,0 23,-3 33,-12 12,-12 12,-26 12,-46l0 -409c0,-48 12,-109 -45,-109l-255 0c-36,0 -64,-4 -76,26 -6,15 -3,81 -3,101 0,68 0,136 0,204 0,8 0,18 0,26 0,8 6,15 14,8 5,-4 3,-38 3,-48 0,-34 0,-68 0,-102l0 -153c0,-50 10,-45 57,-45l255 0c42,0 33,25 33,68l0 410c0,11 2,42 -2,49 -5,14 -17,16 -35,16 -17,0 -34,0 -51,0 -15,0 -37,1 -51,-1zm-503 -101l0 179c0,23 -3,21 32,21 21,0 18,-2 18,-22l0 -178c0,-17 -8,-13 -24,-13 -17,0 -26,-4 -26,13zm494 -280l0 54c0,19 5,15 42,15 49,0 41,12 41,-69 0,-17 -8,-13 -41,-13 -34,0 -42,-5 -42,13zm-51 67c3,-11 2,-27 2,-40 0,-47 7,-40 -43,-40 -47,0 -40,-7 -40,42 0,8 -2,34 3,38 5,4 72,3 78,0zm-116 -163l287 1c16,0 16,-17 0,-17l-287 0c-8,0 -14,0 -14,8 0,8 6,8 14,8zm183 148l50 1 0 -50 -49 0 -1 49zm-131 0l49 0 0 -49 -49 0 0 49zm2 83l47 0c0,15 0,31 0,46 0,7 -1,16 5,19 9,4 12,-4 12,-12 0,-14 0,-27 0,-41 0,-34 10,-29 -71,-29 -7,0 -13,4 -11,12 2,7 10,5 18,5zm80 -33c0,23 -3,36 15,31 3,-8 2,-18 2,-29 0,-16 0,-19 -16,-19l-75 0c-9,0 -26,-3 -24,10 1,10 19,7 28,7 21,0 51,-2 70,0zm33 82l-16 0c0,-19 3,-39 -15,-31 -3,9 -2,17 -2,27 0,10 -2,19 9,21 6,1 20,0 27,0 13,0 14,-4 14,-16l0 -51c0,-8 0,-15 -9,-16 -9,0 -8,9 -8,17 0,17 0,33 0,49zm-29 149c-12,2 -22,14 -20,29 2,12 15,22 30,19 31,-7 21,-54 -10,-48zm96 -168c21,10 16,-17 16,-41 0,-10 4,-37 -8,-38 -14,-2 -9,24 -9,34 0,13 -1,35 1,45zm-98 -98c13,5 15,-1 15,-14l0 -51c0,-8 -1,-18 -12,-15 -7,2 -5,15 -5,24 0,15 -2,44 2,56zm-33 -210c-6,20 13,15 30,15 9,0 43,1 48,-3 5,-5 2,-13 -5,-14 -5,-1 -19,0 -25,0 -10,0 -42,-1 -48,2zm66 244c10,2 21,0 31,1 0,11 -1,22 2,31 13,5 15,-1 15,-14 -1,-38 5,-34 -34,-34 -13,0 -19,3 -14,16zm48 83c0,-7 0,-18 0,-24 -1,-7 -8,-12 -14,-7 -4,4 -4,41 -1,45 4,4 41,4 45,1 6,-6 1,-14 -5,-15 -5,-1 -19,0 -25,0z"/> | |
17 | + </g> | |
18 | +</svg> |
src/assets/img/icono-pago-tarjeta.svg
... | ... | @@ -0,0 +1,20 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |
3 | +<!-- Creator: CorelDRAW X7 --> | |
4 | +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="40.8317mm" height="28.4598mm" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
5 | +viewBox="0 0 6182 4309" | |
6 | + xmlns:xlink="http://www.w3.org/1999/xlink"> | |
7 | + <defs> | |
8 | + <style type="text/css"> | |
9 | + <![CDATA[ | |
10 | + .fil0 {fill:#F4B223} | |
11 | + ]]> | |
12 | + </style> | |
13 | + </defs> | |
14 | + <g id="Capa_x0020_1"> | |
15 | + <metadata id="CorelCorpID_0Corel-Layer"/> | |
16 | + <path class="fil0" d="M255 1396l1430 0 0 -1141c0,-141 115,-255 255,-255l3987 0c141,0 255,114 255,255 0,801 0,1602 0,2403 0,140 -115,254 -255,254l-1431 0 0 1141c0,141 -114,256 -254,256l-3987 0c-140,0 -255,-115 -255,-256 0,-801 0,-1601 0,-2402 0,-140 114,-255 255,-255zm1551 0l2436 0c140,0 254,115 254,255l0 1141 1431 0c74,0 135,-61 135,-134l0 -1737 -4256 0 0 475zm4256 -595l0 -209 -4256 0 0 209 4256 0zm0 -329l0 -217c0,-74 -61,-135 -135,-135l-3987 0c-74,0 -134,61 -134,135l0 217 4256 0zm-5942 1395l4256 0 0 -216c0,-74 -61,-134 -134,-134l-3987 0c-74,0 -135,60 -135,134l0 216zm4256 451l-4256 0 0 1735c0,74 61,135 135,135l3987 0c73,0 134,-61 134,-135l0 -1735zm0 -330l-4256 0 0 209 4256 0 0 -209z"/> | |
17 | + <path class="fil0" d="M595 2984l919 0 0 361 -982 0 0 -361 63 0zm794 125l-731 0 0 111 731 0 0 -111z"/> | |
18 | + <polygon class="fil0" points="514,3843 2095,3843 2095,3963 514,3963 "/> | |
19 | + </g> | |
20 | +</svg> |
src/assets/img/icono-silla-de-ruedas.svg
... | ... | @@ -0,0 +1,21 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |
3 | +<!-- Creator: CorelDRAW X7 --> | |
4 | +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="19.7986mm" height="18.7181mm" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" | |
5 | +viewBox="0 0 176 166" | |
6 | + xmlns:xlink="http://www.w3.org/1999/xlink"> | |
7 | + <defs> | |
8 | + <style type="text/css"> | |
9 | + <![CDATA[ | |
10 | + .fil0 {fill:#CFD1D2} | |
11 | + ]]> | |
12 | + </style> | |
13 | + </defs> | |
14 | + <g id="Capa_x0020_1"> | |
15 | + <metadata id="CorelCorpID_0Corel-Layer"/> | |
16 | + <path class="fil0" d="M119 148c0,4 3,8 7,8 5,0 8,-4 8,-8 0,-4 -3,-8 -8,-8 -4,0 -7,4 -7,8l0 0zm10 0c0,2 -1,3 -3,3 -1,0 -2,-1 -2,-3 0,-1 1,-2 2,-2 2,0 3,1 3,2l0 0zm0 0z"/> | |
17 | + <path class="fil0" d="M49 78c-21,0 -39,18 -39,39 0,22 18,39 39,39 21,0 39,-17 39,-39 0,-21 -18,-39 -39,-39l0 0zm0 73c-19,0 -34,-15 -34,-34 0,-18 15,-34 34,-34 18,0 33,16 33,34 0,19 -15,34 -33,34l0 0zm0 0z"/> | |
18 | + <path class="fil0" d="M49 107c-6,0 -10,4 -10,10 0,6 4,10 10,10 6,0 10,-4 10,-10 0,-6 -4,-10 -10,-10l0 0zm0 15c-3,0 -5,-2 -5,-5 0,-3 2,-5 5,-5 3,0 5,2 5,5 0,3 -2,5 -5,5l0 0zm0 0z"/> | |
19 | + <path class="fil0" d="M173 135l-20 0 -6 -31c-2,-6 -7,-10 -13,-10l-5 0 0 -39c0,-7 -6,-13 -13,-13l-8 0c-1,-6 -6,-10 -13,-10l-38 0 0 -19c0,-7 -6,-13 -13,-13l-36 0c-2,0 -5,1 -6,3 -2,1 -2,3 -2,6 1,4 4,7 8,7l33 0 0 53c-23,3 -41,24 -41,48 0,27 22,49 49,49 27,0 49,-22 49,-49 0,-6 -1,-12 -4,-18l30 0 0 16 -18 0c-2,0 -3,1 -3,2 0,2 1,3 3,3l18 0 0 10c-9,2 -16,9 -16,18 0,10 8,18 18,18 10,0 18,-8 18,-18 0,-9 -6,-16 -15,-18l0 -31 5 0c4,0 7,3 8,6l6 33c0,0 0,0 0,0l2 11c0,1 1,2 3,2l20 0c2,0 3,-1 3,-3l0 -10c0,-2 -1,-3 -3,-3l0 0zm-34 13c0,7 -6,13 -13,13 -7,0 -13,-6 -13,-13 0,-7 6,-13 13,-13 7,0 13,6 13,13l0 0zm-44 -111c4,0 7,2 8,5l-46 0 0 -5 38 0zm-87 -27c-1,0 -3,-1 -3,-2 0,-1 0,-1 1,-2 0,0 1,-1 2,-1l33 0 0 5 -33 0zm38 -4c3,1 6,4 6,7l0 55c-1,0 -2,0 -3,0 -1,0 -2,0 -3,0l0 -62 0 0zm3 155c-24,0 -44,-20 -44,-44 0,-24 20,-44 44,-44 24,0 44,20 44,44 0,24 -20,44 -44,44l0 0zm43 -67c-7,-13 -20,-23 -35,-25l0 -6 49 0c1,0 2,-1 2,-3 0,-1 -1,-2 -2,-2l-49 0 0 -11 59 0c4,0 8,4 8,8l0 3 -8 0c-1,0 -3,1 -3,2 0,2 2,3 3,3l8 0 0 31 -32 0zm79 52l-16 0 -1 -6 17 0 0 6zm0 0z"/> | |
20 | + </g> | |
21 | +</svg> |
src/assets/img/image-not-found.jpg
41.5 KB
src/assets/img/imagen-no-encontrada.jpg
30.5 KB
src/scss/height-width.scss
src/scss/styles-bootstrap.scss
... | ... | @@ -40,21 +40,35 @@ $border-radius-sm: 0.5rem; |
40 | 40 | height: 100% !important; |
41 | 41 | } |
42 | 42 | |
43 | +.custom-checkbox .custom-control-label::before { | |
44 | + border-radius: 50% !important; | |
45 | +} | |
46 | + | |
43 | 47 | .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before { |
44 | 48 | background-color: $primary !important; |
45 | 49 | } |
46 | 50 | |
47 | -.custom-control-input:checked ~ .custom-control-label::before { | |
48 | - border-color: $primary !important; | |
49 | - background-color: $primary !important; | |
51 | +.custom-checkbox .custom-control-input:checked:focus ~ .custom-control-label::before { | |
52 | + box-shadow: none !important; | |
53 | +} | |
54 | +.custom-checkbox .custom-control-input:focus ~ .custom-control-label::before { | |
55 | + box-shadow: none !important; | |
50 | 56 | } |
51 | 57 | |
52 | 58 | .custom-control-input:checked ~ .custom-control-label::before { |
53 | - color: #fff; | |
54 | - border-color: $primary !important; | |
59 | + background-color: white !important; | |
60 | + border-color: white !important; | |
61 | + border-width: 2px; | |
62 | +} | |
63 | + | |
64 | +.custom-checkbox .custom-control-input:active ~ .custom-control-label::before { | |
55 | 65 | background-color: $primary !important; |
56 | 66 | } |
57 | 67 | |
68 | +.modal { | |
69 | + background-color: #0000004d; | |
70 | +} | |
71 | + | |
58 | 72 | .modal-promo > div { |
59 | 73 | border: none !important; |
60 | 74 | border-radius: $border-radius; |