Skip to content

Commit 41ac7e2

Browse files
committed
style: refine ticket scaling, set Odisseo color to white, fix slider alignment
1 parent e49a34a commit 41ac7e2

5 files changed

Lines changed: 60 additions & 46 deletions

File tree

public/images/boletos/arema.jpg

953 KB
Loading
287 KB
Loading

src/components/IconSlider.astro

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,19 +117,21 @@ const displayIcons = [...iconNames, ...iconNames, ...iconNames, ...iconNames];
117117
width: 100%;
118118
overflow: hidden;
119119
position: relative;
120-
height: 60px;
120+
height: 40px;
121121
background: transparent;
122122
}
123123

124124
.slider-track {
125125
display: flex;
126+
align-items: center;
126127
width: max-content;
127128
will-change: transform;
129+
height: 100%;
128130
}
129131

130132
.slider-item {
131133
flex-shrink: 0;
132-
height: 30px; /* Consistently 40px height */
134+
height: 40px; /* Consistent height */
133135
width: auto; /* Dynamic width */
134136
display: flex;
135137
align-items: center;

src/components/LineUp.astro

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -207,13 +207,7 @@ const HeartSeparator = `
207207
});
208208

209209
link.addEventListener("mouseleave", () => {
210-
// Keep Odisseo accent color if not hovered, otherwise white
211-
if (link.classList.contains("accent-headline")) {
212-
(link as HTMLElement).style.color =
213-
"var(--color-dango-orange)";
214-
} else {
215-
(link as HTMLElement).style.color = "";
216-
}
210+
(link as HTMLElement).style.color = "";
217211
});
218212
});
219213

@@ -321,7 +315,7 @@ const HeartSeparator = `
321315

322316
.accent-headline {
323317
font-size: 4rem; /* 80px */
324-
color: var(--color-dango-orange);
318+
color: #fff;
325319
}
326320

327321
.mid {

src/components/Tickets.astro

Lines changed: 54 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
---
2+
import DangoLogo from "./DangoLogo.astro";
3+
4+
const ticketOptions = [
5+
{
6+
image: "/images/boletos/arema.jpg",
7+
label: "AREMA",
8+
href: "https://arema.mx/e/16435/Festival-Dango-2026",
9+
},
10+
{
11+
image: "/images/boletos/puntos_venta.jpg",
12+
label: "PUNTOS DE VENTA",
13+
href: "#", // Placeholder if no specific link
14+
},
15+
];
16+
---
17+
118
<section id="boletos" class="tickets-section">
219
<div
320
class="container mx-auto px-4 h-full flex flex-col relative z-10 pt-20 pb-20 md:pb-0"
@@ -14,15 +31,38 @@
1431
<div
1532
class="w-full flex flex-col md:flex-row justify-center items-center gap-6 flex-grow"
1633
>
17-
<!-- Placeholder 1 -->
18-
<div class="ticket-placeholder">
19-
<!-- Empty for now -->
20-
</div>
34+
{
35+
ticketOptions.map((ticket) => (
36+
<a
37+
href={ticket.href}
38+
target={ticket.href.startsWith("http") ? "_blank" : "_self"}
39+
rel={ticket.href.startsWith("http") ? "noopener noreferrer" : ""}
40+
class="ticket-card group relative block overflow-hidden w-full max-w-[350px] aspect-[3/4]"
41+
>
42+
{/* Image */}
43+
<img
44+
src={ticket.image}
45+
alt={ticket.label}
46+
class="w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
47+
/>
48+
49+
{/* Dark Overlay (removes on hover) */}
50+
<div class="absolute inset-0 bg-black/40 transition-opacity duration-300 group-hover:opacity-0" />
51+
52+
{/* Logo Top Left */}
53+
<div class="absolute top-6 left-6 w-16 text-white z-10 opacity-90">
54+
<DangoLogo />
55+
</div>
2156

22-
<!-- Placeholder 2 -->
23-
<div class="ticket-placeholder">
24-
<!-- Empty for now -->
25-
</div>
57+
{/* Text Bottom Left */}
58+
<div class="absolute bottom-6 left-6 z-10">
59+
<span class="text-white font-bold text-3xl font-outfit tracking-widest drop-shadow-lg">
60+
{ticket.label}
61+
</span>
62+
</div>
63+
</a>
64+
))
65+
}
2666
</div>
2767
</div>
2868
</section>
@@ -35,14 +75,14 @@
3575
document.addEventListener("astro:page-load", () => {
3676
const section = document.querySelector(".tickets-section");
3777
const title = section?.querySelector(".section-title");
38-
const placeholders = section?.querySelectorAll(".ticket-placeholder");
78+
const cards = section?.querySelectorAll(".ticket-card");
3979

40-
if (!section || !title || !placeholders) return;
80+
if (!section || !title || !cards) return;
4181

4282
const tl = gsap.timeline({
4383
scrollTrigger: {
4484
trigger: section,
45-
start: "top 80%", // Start when top of section hits 80% viewport height
85+
start: "top 80%",
4686
toggleActions: "play none none reverse",
4787
},
4888
});
@@ -55,17 +95,17 @@
5595
ease: "power3.out",
5696
});
5797

58-
// Animate Placeholders (Staggered)
98+
// Animate Cards (Staggered)
5999
tl.from(
60-
placeholders,
100+
cards,
61101
{
62102
y: 100,
63103
opacity: 0,
64104
duration: 1,
65105
stagger: 0.2,
66106
ease: "power3.out",
67107
},
68-
"-=0.5", // Overlap with title animation
108+
"-=0.5",
69109
);
70110
});
71111
</script>
@@ -89,26 +129,4 @@
89129
.section-title span {
90130
color: #fff;
91131
}
92-
93-
/* Image Placeholders */
94-
.ticket-placeholder {
95-
width: 100%;
96-
max-width: 350px;
97-
aspect-ratio: 3/4;
98-
background-color: #1a1a1a;
99-
/* Borders removed */
100-
position: relative;
101-
}
102-
103-
.ticket-placeholder::after {
104-
content: "Imagen";
105-
position: absolute;
106-
top: 50%;
107-
left: 50%;
108-
transform: translate(-50%, -50%);
109-
color: #333;
110-
font-family: var(--font-outfit);
111-
text-transform: uppercase;
112-
font-size: 1.5rem;
113-
}
114132
</style>

0 commit comments

Comments
 (0)