diff --git a/src/assets/staff/djhique.jpg b/src/assets/staff/djhique.jpg new file mode 100644 index 0000000..bdf859e Binary files /dev/null and b/src/assets/staff/djhique.jpg differ diff --git a/src/components/MixedBookingSection.tsx b/src/components/MixedBookingSection.tsx index 7b8a1a4..3801fe7 100644 --- a/src/components/MixedBookingSection.tsx +++ b/src/components/MixedBookingSection.tsx @@ -111,10 +111,15 @@ const MixedBookingSection = () => {
- {price > 0 ? `${price}€` : t("mixedBooking.priceTBD")} + {basePrice > 0 ? `${basePrice}€` : t("mixedBooking.priceTBD")} + {basePrice > 0 && ( + + {pkg.id === "full" ? t("mixedBooking.perPerson") : t("mixedBooking.perParty")} + + )}
- {t(`mixedBooking.passTypes.${pkg.id}`)}: {basePrice}€ {pkg.id === "full" ? t("mixedBooking.perPerson") : t("mixedBooking.perParty")} + {t(`mixedBooking.passTypes.${pkg.id}`)} {t("mixedBooking.totalPrice")}: {price > 0 ? `${price}€` : t("mixedBooking.priceTBD")}
{showNonHotelNote && (diff --git a/src/data/event-data.ts b/src/data/event-data.ts index 2a98b7b..6881f7b 100644 --- a/src/data/event-data.ts +++ b/src/data/event-data.ts @@ -26,6 +26,7 @@ import safira from "@/assets/staff/safira.jpg"; import brazromi from "@/assets/staff/braz_romi.jpg"; import emanoel from "@/assets/staff/emanoel.jpg"; import didipatri from "@/assets/staff/didipatri.jpg"; +import djhique from "@/assets/staff/djhique.jpg"; import gal1 from "@/assets/gallery/gal1.jpg"; import gal2 from "@/assets/gallery/gal2.jpg"; @@ -91,158 +92,99 @@ export const ABOUT_ORG = { export const STAFF = [ { id: "1", - name: "[Pablo & Lena]", + name: "Pablo & Lena", role: "Teacher" as const, - description: "[Breve biografía del profesor]", /** Reemplazar con ruta a foto real */ image: pablolena, - socials: { - instagram: "", - }, }, { id: "2", - name: "[Ariel & Yasmin]", + name: "Ariel & Yasmin", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: arielyasmin, - socials: { - instagram: "", - }, }, { id: "3", - name: "[Hila & Leo]", + name: "Hila & Leo", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: hilaleo, - socials: { - instagram: "", - }, }, { id: "4", - name: "[Matheus & Lydia]", + name: "Matheus & Lydia", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: matheuslydia, - socials: { - instagram: "", - }, }, { id: "5", - name: "[Omer & Adva]", + name: "Omer & Adva", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: omeradva, - socials: { - instagram: "", - }, }, { id: "6", - name: "[DJ Biel]", + name: "DJ Biel", role: "DJ" as const, - description: "[Breve biografía del DJ]", image: djbiel, - socials: { - instagram: "", - soundcloud: "", - }, }, { id: "7", - name: "[DJ WinX]", + name: "DJ WinX", role: "DJ" as const, - description: "[Breve biografía del DJ]", image: djwinx, - socials: { - instagram: "", - soundcloud: "", - }, }, { id: "8", - name: "[DJ Klebynho]", + name: "DJ Klebynho", role: "DJ" as const, - description: "[Breve biografía del DJ]", image: djklebynho, - socials: { - instagram: "", - soundcloud: "", - }, }, { id: "9", - name: "[Leticia & Alex]", + name: "Leticia & Alex", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: letialex, - socials: { - instagram: "", - }, }, { id: "10", - name: "[DJ Cathie]", + name: "DJ Cathie", role: "DJ" as const, - description: "[Breve biografía del DJ]", image: djcathie, - socials: { - instagram: "", - soundcloud: "", - }, }, { id: "11", - name: "[Milu]", + name: "Milu", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: milu, - socials: { - instagram: "", - }, }, { id: "12", - name: "[Safira]", + name: "Safira", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: safira, - socials: { - instagram: "", - }, }, { id: "13", - name: "[Braz & Romina]", + name: "Braz & Romina", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: brazromi, - socials: { - instagram: "", - }, }, { id: "14", - name: "[Emanoel]", + name: "Emanoel", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: emanoel, - socials: { - instagram: "", - }, }, { id: "15", - name: "[Didi & Patricia]", + name: "Didi & Patricia", role: "Teacher" as const, - description: "[Breve biografía del profesor]", image: didipatri, - socials: { - instagram: "", - }, + }, + { id: "16", + name: "DJ Hique", + role: "DJ" as const, + image: djhique, }, ]; @@ -349,18 +291,18 @@ export const ROOM_TYPES: { id: RoomType }[] = [ // ---- PRECIOS DINÁMICOS FULL PASS ---- /** * Calcula el precio del Full Pass según la fecha actual. - * - Hasta 1 de julio: 170€ - * - 1 de julio - 1 de septiembre: 190€ + * - Hasta 1 de junio: 170€ + * - 1 de junio - 1 de septiembre: 190€ * - Después del inicio del evento: 200€ (último precio) */ export function getFullPassPrice(): { price: number; isLastPrice: boolean; validUntilKey: string | null } { const now = new Date(); - const julyFirst = new Date("2026-07-01T00:00:00"); + const juneFirst = new Date("2026-06-01T00:00:00"); const septemberFirst = new Date("2026-09-01T00:00:00"); const eventStart = new Date(EVENT_INFO.date); - if (now < julyFirst) { - return { price: 170, isLastPrice: false, validUntilKey: "validUntilJuly" }; + if (now < juneFirst) { + return { price: 170, isLastPrice: false, validUntilKey: "validUntilJune" }; } else if (now < septemberFirst) { return { price: 190, isLastPrice: false, validUntilKey: "validUntilSeptember" }; } else { diff --git a/src/locales/en.json b/src/locales/en.json index d75b302..28cd64e 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -128,6 +128,7 @@ "title": "Room + Pass Bundles", "subtitle": "Room + Pass bundles for your stay.", "priceTBD": "Price TBA", + "totalPrice": "Total Price", "selectRoom": "Choose room type", "popular": "Popular", "lastPrice": "Last Price", @@ -137,7 +138,7 @@ "hotelYes": "Yes", "hotelNo": "No", "nonHotelNote": "+50€ fee for not staying in hotel", - "validUntilJuly": "From now until 1 July", + "validUntilJune": "From now until 1 June", "validUntilSeptember": "From now until 1 September", "roomTypes": { "individual": "Single Room", diff --git a/src/locales/es.json b/src/locales/es.json index 4863358..bc198e0 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -128,6 +128,7 @@ "title": "Packs de Habitación + Pase", "subtitle": "Combina habitación + pase para tu estancia.", "priceTBD": "Precio por confirmar", + "totalPrice": "Precio Total", "selectRoom": "Elige tipo de habitación", "popular": "Popular", "lastPrice": "Último Precio", @@ -137,7 +138,7 @@ "hotelYes": "Sí", "hotelNo": "No", "nonHotelNote": "+50€ por no alojarse en hotel", - "validUntilJuly": "Desde ahora hasta el 1 de julio", + "validUntilJune": "Desde ahora hasta el 1 de junio", "validUntilSeptember": "Desde ahora hasta el 1 de septiembre", "roomTypes": { "individual": "Habitación Individual",