+
+ @if (isLoading()) {
+ @for (item of [1, 2, 3, 4]; track item) {
+
+
+
+
+
+
+
+
+
+
+
+ }
+ } @else if (events().length) {
+ @for (event of events(); track event.id; let last = $last) {
+
+ @if (!last) {
+
+ }
+ }
+ } @else {
+
Aún no tenés eventos con tickets.
+ }
+
+
diff --git a/src/app/features/store/pages/account-page/pages/ticket-events-page/ticket-events-page.scss b/src/app/features/store/pages/account-page/pages/ticket-events-page/ticket-events-page.scss
new file mode 100644
index 0000000..4c0d23d
--- /dev/null
+++ b/src/app/features/store/pages/account-page/pages/ticket-events-page/ticket-events-page.scss
@@ -0,0 +1,66 @@
+:host {
+ display: block;
+ width: 100%;
+}
+
+.ticket-events-page {
+ display: block;
+ width: 100%;
+ max-width: 600px;
+}
+
+.ticket-events-list {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+}
+
+.ticket-events-list__divider {
+ width: 100%;
+ height: 1px;
+ background: var(--border-color, #dddddd);
+}
+
+.ticket-events-list__empty {
+ margin: 0;
+ padding: 2rem 0;
+ color: #666666;
+ font-size: 1rem;
+ text-align: center;
+}
+
+.ticket-events-list__skeleton {
+ min-height: 84px;
+ padding: 12px 8px;
+ border-bottom: 1px solid var(--border-color, #dddddd);
+}
+
+.ticket-events-list__skeleton-image,
+.ticket-events-list__skeleton-title,
+.ticket-events-list__skeleton-arrow {
+ display: block;
+ border-radius: 4px;
+ background: #eeeeee;
+ animation: ticket-events-pulse 1.5s infinite ease-in-out;
+}
+
+.ticket-events-list__skeleton-image {
+ width: 100%;
+ aspect-ratio: 19 / 13;
+}
+
+.ticket-events-list__skeleton-title {
+ width: min(250px, 80%);
+ height: 14px;
+}
+
+.ticket-events-list__skeleton-arrow {
+ width: 8px;
+ height: 14px;
+}
+
+@keyframes ticket-events-pulse {
+ 50% {
+ background-color: #e0e0e0;
+ }
+}
diff --git a/src/app/features/store/pages/account-page/pages/ticket-events-page/ticket-events-page.spec.ts b/src/app/features/store/pages/account-page/pages/ticket-events-page/ticket-events-page.spec.ts
new file mode 100644
index 0000000..69d5ec8
--- /dev/null
+++ b/src/app/features/store/pages/account-page/pages/ticket-events-page/ticket-events-page.spec.ts
@@ -0,0 +1,99 @@
+import { signal } from '@angular/core';
+import { TestBed } from '@angular/core/testing';
+import { provideRouter } from '@angular/router';
+import { beforeEach, describe, expect, it, vi } from 'vitest';
+
+import { TenantService } from '../../../../../../core/services/tenant.service';
+import { ToastService } from '../../../../../../core/services/toast.service';
+import { TicketService } from '../tickets-page/ticket.service';
+import { TicketEventsPage } from './ticket-events-page';
+
+function withCustomLoading