mirror of
https://github.com/Ichitux/lambada-fiesta-live.git
synced 2026-06-10 23:04:58 +02:00
Add new picture & text modifications with prices
All checks were successful
Deploy NPM app / Deploy NPM (push) Successful in 1m10s
All checks were successful
Deploy NPM app / Deploy NPM (push) Successful in 1m10s
This commit is contained in:
BIN
src/assets/staff/djhique.jpg
Normal file
BIN
src/assets/staff/djhique.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 192 KiB |
@@ -111,10 +111,15 @@ const MixedBookingSection = () => {
|
||||
|
||||
<div className="px-6 pt-6 pb-4 text-center bg-card">
|
||||
<p className="text-4xl md:text-5xl font-bold text-primary">
|
||||
{price > 0 ? `${price}€` : t("mixedBooking.priceTBD")}
|
||||
{basePrice > 0 ? `${basePrice}€` : t("mixedBooking.priceTBD")}
|
||||
{basePrice > 0 && (
|
||||
<span className="text-lg font-medium text-muted-foreground ml-1">
|
||||
{pkg.id === "full" ? t("mixedBooking.perPerson") : t("mixedBooking.perParty")}
|
||||
</span>
|
||||
)}
|
||||
</p>
|
||||
<p className="text-sm font-medium text-foreground mt-2">
|
||||
{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")}
|
||||
</p>
|
||||
{showNonHotelNote && (
|
||||
<p className="text-xs text-red-600 font-medium mt-2">
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user