feat(event-detail): disable cancel button when no items are selected
This commit is contained in:
@@ -95,7 +95,7 @@
|
||||
</div>
|
||||
<div class="event-detail__total"><span>Total</span><strong>{{ formatPrice(total()) }}</strong></div>
|
||||
<div class="event-detail__buttons">
|
||||
<app-button variant="cancel" (click)="cancel()">Cancelar</app-button>
|
||||
<app-button variant="cancel" [disabled]="!hasSelectedItems()" (click)="cancel()">Cancelar</app-button>
|
||||
<app-button variant="primary" [disabled]="total() === 0 || submitting()" (click)="buyNow()">
|
||||
{{ submitting() ? 'Procesando…' : 'Comprar' }}
|
||||
</app-button>
|
||||
|
||||
@@ -56,6 +56,9 @@ export class EventDetailPageComponent {
|
||||
const choice = this.resolveChoice(product);
|
||||
return sum + (choice ? choice.price * this.quantityFor(product.id) : 0);
|
||||
}, 0));
|
||||
protected readonly hasSelectedItems = computed(() =>
|
||||
Object.values(this.quantities()).some((quantity) => quantity > 0),
|
||||
);
|
||||
|
||||
constructor() {
|
||||
this.route.paramMap.pipe(
|
||||
@@ -131,7 +134,7 @@ export class EventDetailPageComponent {
|
||||
}
|
||||
|
||||
protected cancel(): void {
|
||||
void this.router.navigate(['/']);
|
||||
this.quantities.set({});
|
||||
}
|
||||
|
||||
protected async buyNow(): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user