feat: initial draft and components creation
This commit is contained in:
@@ -10,4 +10,4 @@ export const dictionaries = {
|
||||
pl,
|
||||
} as const
|
||||
|
||||
export type GuestDictionary = typeof en
|
||||
export type GuestDictionary = (typeof dictionaries)[keyof typeof dictionaries]
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
import type { SupportedLanguage } from "@/lib/i18n/config";
|
||||
import { de } from "./de";
|
||||
import { en } from "./en";
|
||||
import { es } from "./es";
|
||||
import { pl } from "./pl";
|
||||
import type { InvitePageContent } from "./types";
|
||||
|
||||
export type { InvitePageContent } from "./types";
|
||||
|
||||
const content: Record<SupportedLanguage, InvitePageContent> = {
|
||||
en,
|
||||
es,
|
||||
de,
|
||||
pl,
|
||||
};
|
||||
|
||||
export function getInvitePageContent(language: SupportedLanguage): InvitePageContent {
|
||||
return content[language];
|
||||
}
|
||||
@@ -0,0 +1,199 @@
|
||||
import type { InvitePageContent } from "./types";
|
||||
|
||||
const venue = "Luttelforster Muhle", location = "Schwalmtal, Deutschland";
|
||||
|
||||
export const de: InvitePageContent = {
|
||||
hero: {
|
||||
eyebrow: "10. JULI 2027 · SCHWALMTAL",
|
||||
title: "Nicole und Raul",
|
||||
subtitle: "Wir heiraten.",
|
||||
date: "10. Juli 2027",
|
||||
location,
|
||||
},
|
||||
introduction: {
|
||||
heading: "Kommt wegen der Liebe. Bleibt wegen der Feier.",
|
||||
paragraphs: [
|
||||
"Wir freuen uns darauf, diesen besonderen Tag mit euch zu feiern: ein Nachmittag im Garten, ein langes Dinner unter Lichtern und eine unvergessliche Nacht.",
|
||||
"Danke, dass ihr Teil unserer Geschichte seid.",
|
||||
],
|
||||
facts: [
|
||||
{ label: "Datum", value: "10. Juli 2027", description: "Samstag" },
|
||||
{ label: "Ort", value: venue, description: location },
|
||||
{ label: "Trauung", value: "16:00 Uhr" },
|
||||
],
|
||||
},
|
||||
story: {
|
||||
eyebrow: "UNSERE GESCHICHTE",
|
||||
heading: "Der Anfang unseres Fuer Immer.",
|
||||
paragraphs: [
|
||||
"Verschiedene Orte, verschiedene Wege, bis das Leben uns zusammenbrachte. Aus einem Funken wurde etwas Echtes.",
|
||||
"Wir reisen, lachen, tanzen und traeumen. Jetzt feiern wir dieses neue Kapitel mit euch.",
|
||||
],
|
||||
timeline: [
|
||||
{
|
||||
year: "2018",
|
||||
title: "Wo alles begann",
|
||||
place: "Madrid",
|
||||
description: "Eine zufaellige Begegnung auf einer Staedtereise veraenderte alles.",
|
||||
},
|
||||
{
|
||||
year: "2021",
|
||||
title: "Irgendwo unterwegs",
|
||||
description: "Von spontanen Reisen zu unseren Lieblingsorten. Deutschland wurde unser Zuhause.",
|
||||
},
|
||||
{
|
||||
year: "2027",
|
||||
title: "Das naechste Kapitel",
|
||||
description: "Wir heiraten und freuen uns, mit euch zu feiern.",
|
||||
},
|
||||
],
|
||||
quote: "Verschiedene Orte, eine Reise. Unzaehlige Erinnerungen. Fuer immer wir.",
|
||||
},
|
||||
details: {
|
||||
eyebrow: "HOCHZEITSDETAILS",
|
||||
heading: "Alle wichtigen Details.",
|
||||
introduction: "Hier findet ihr alles Wissenswerte fuer unseren grossen Tag.",
|
||||
facts: [
|
||||
{
|
||||
label: "Wann",
|
||||
value: "10. Juli 2027",
|
||||
description: "Trauung um 16:00 Uhr",
|
||||
},
|
||||
{ label: "Wo", value: venue, description: location },
|
||||
{
|
||||
label: "Ankunft",
|
||||
value: "Ab 15:30 Uhr",
|
||||
description: "Bitte plant genug Zeit ein.",
|
||||
},
|
||||
],
|
||||
expectations: [
|
||||
{
|
||||
label: "Trauung",
|
||||
value: "Im Garten",
|
||||
description: "Bei passendem Wetter.",
|
||||
},
|
||||
{
|
||||
label: "Dinner und Party",
|
||||
value: "Drinks und Tanz",
|
||||
description: "Die Party geht drinnen weiter.",
|
||||
},
|
||||
],
|
||||
dressCode: {
|
||||
label: "Dresscode",
|
||||
value: "Sommerlich elegant",
|
||||
description: "Leichte Stoffe, sanfte Farben. Bitte kein Schwarz.",
|
||||
},
|
||||
policies: [
|
||||
{ title: "Kinder", description: "Die Feier ist nur fuer Erwachsene." },
|
||||
{ title: "Hunde", description: "Bitte lasst Hunde zu Hause." },
|
||||
{
|
||||
title: "Wetter",
|
||||
description: "Bei Regen gibt es einen schoenen Plan B.",
|
||||
},
|
||||
{ title: "Parken", description: "Parkplaetze gibt es vor Ort." },
|
||||
{
|
||||
title: "Barrierefreiheit",
|
||||
description: "Die Location ist weitgehend barrierefrei.",
|
||||
},
|
||||
],
|
||||
},
|
||||
schedule: {
|
||||
eyebrow: "ABLAUF",
|
||||
heading: "So feiern wir.",
|
||||
introduction: "Ein Tag voller Liebe, Lachen und unvergesslicher Momente.",
|
||||
label: "Der Tag auf einen Blick",
|
||||
timeline: [
|
||||
{
|
||||
time: "15:15",
|
||||
title: "Ankunft",
|
||||
description: "Ankommen, Platz nehmen und bereit sein.",
|
||||
},
|
||||
{
|
||||
time: "16:00",
|
||||
title: "Trauung",
|
||||
description: "Wir sagen Ja im Garten.",
|
||||
},
|
||||
{
|
||||
time: "16:45",
|
||||
title: "Cocktails und Happen",
|
||||
description: "Anstossen und gute Gesellschaft.",
|
||||
},
|
||||
{
|
||||
time: "18:30",
|
||||
title: "Dinner",
|
||||
description: "Essen, reden, lachen und feiern.",
|
||||
},
|
||||
{
|
||||
time: "21:00",
|
||||
title: "Dessert",
|
||||
description: "Etwas Susses vor der lauten Musik.",
|
||||
},
|
||||
{
|
||||
time: "22:00-spaet",
|
||||
title: "Tanzen",
|
||||
description: "Unter den Sternen, so lange wir wollen.",
|
||||
},
|
||||
],
|
||||
quote: "Manche Momente werden Erinnerungen, und dieser wird fuer immer.",
|
||||
},
|
||||
faq: {
|
||||
eyebrow: "FAQ",
|
||||
heading: "Fragen? Wir helfen.",
|
||||
introduction: "Antworten auf alles, was ihr vielleicht wissen moechtet.",
|
||||
questions: [
|
||||
{
|
||||
question: "Darf ich eine Begleitung mitbringen?",
|
||||
answer: "Bitte bringt nur die Person mit, die auf der Einladung steht.",
|
||||
},
|
||||
{
|
||||
question: "Sind Kinder eingeladen?",
|
||||
answer: "Die Feier ist nur fuer Erwachsene.",
|
||||
},
|
||||
{
|
||||
question: "Darf ich meinen Hund mitbringen?",
|
||||
answer: "Bitte lasst Hunde zu Hause.",
|
||||
},
|
||||
{
|
||||
question: "Gibt es Parkplaetze?",
|
||||
answer: "Ja, Parkplaetze gibt es vor Ort.",
|
||||
},
|
||||
{
|
||||
question: "Gibt es einen Shuttle?",
|
||||
answer: "Bitte plant eure An- und Abreise selbst.",
|
||||
},
|
||||
{
|
||||
question: "Was passiert bei Regen?",
|
||||
answer: "Es gibt einen schoenen Plan B drinnen.",
|
||||
},
|
||||
{
|
||||
question: "Was ist der Dresscode?",
|
||||
answer: "Sommerlich elegant, bitte kein Schwarz.",
|
||||
},
|
||||
{
|
||||
question: "Geht die Feier nach drinnen?",
|
||||
answer: "Spaeter geht die Party drinnen weiter.",
|
||||
},
|
||||
{
|
||||
question: "Was wird serviert?",
|
||||
answer: "Ein saisonales Dinner; nennt uns Allergien vorher.",
|
||||
},
|
||||
{
|
||||
question: "Kann ich eine Rede halten?",
|
||||
answer: "Stimmt Ueberraschungen mit unserer Hochzeitsgesellschaft ab.",
|
||||
},
|
||||
],
|
||||
contact: {
|
||||
heading: "Noch eine Frage?",
|
||||
description: "Wir helfen gern.",
|
||||
action: "Kontakt aufnehmen",
|
||||
},
|
||||
},
|
||||
rsvp: {
|
||||
eyebrow: "RSVP",
|
||||
heading: "Wir freuen uns, mit euch zu feiern.",
|
||||
paragraph: "Bitte gebt uns bis",
|
||||
deadline: "15. Mai 2027",
|
||||
helper: "Wir hoffen, ihr seid dabei!",
|
||||
faqLink: "Fragen? Zu den FAQ",
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,199 @@
|
||||
import type { InvitePageContent } from "./types";
|
||||
|
||||
const event = { date: "10 July 2027", venue: "Luttelforster Muhle", location: "Schwalmtal, Germany" };
|
||||
|
||||
export const en: InvitePageContent = {
|
||||
hero: {
|
||||
eyebrow: "10 JULY 2027 · SCHWALMTAL",
|
||||
title: "Nicole & Raul",
|
||||
subtitle: "We're getting married.",
|
||||
date: event.date,
|
||||
location: event.location,
|
||||
},
|
||||
introduction: {
|
||||
heading: "Come for the love. Stay for the party.",
|
||||
paragraphs: [
|
||||
"We can't wait to celebrate this special day with you. An afternoon in the garden, a long dinner under the lights and a night we'll never forget.",
|
||||
"Thank you for being part of our story.",
|
||||
],
|
||||
facts: [
|
||||
{ label: "Date", value: event.date, description: "Saturday" },
|
||||
{ label: "Location", value: event.venue, description: event.location },
|
||||
{ label: "Ceremony", value: "16:00" },
|
||||
],
|
||||
},
|
||||
story: {
|
||||
eyebrow: "OUR STORY",
|
||||
heading: "The beginning of our forever.",
|
||||
paragraphs: [
|
||||
"Different places, different paths - until life brought us together. What started with a spark turned into something real.",
|
||||
"We travel, laugh, dance and dream. Now we can't wait to celebrate this next chapter with you.",
|
||||
],
|
||||
timeline: [
|
||||
{
|
||||
year: "2018",
|
||||
title: "Where it started",
|
||||
place: "Madrid",
|
||||
description: "A chance encounter during a city trip changed everything.",
|
||||
},
|
||||
{
|
||||
year: "2021",
|
||||
title: "Somewhere along the way",
|
||||
description: "From spontaneous trips to our favorite places. Germany became home.",
|
||||
},
|
||||
{
|
||||
year: "2027",
|
||||
title: "The next chapter",
|
||||
description: "We get married and can't wait to celebrate with you.",
|
||||
},
|
||||
],
|
||||
quote: "Different places, one journey. Countless memories. Forever us.",
|
||||
},
|
||||
details: {
|
||||
eyebrow: "WEDDING DETAILS",
|
||||
heading: "All the details that matter.",
|
||||
introduction: "Here is everything you need to know for our big day.",
|
||||
facts: [
|
||||
{
|
||||
label: "When",
|
||||
value: "July 10, 2027",
|
||||
description: "Ceremony starts at 16:00",
|
||||
},
|
||||
{ label: "Where", value: event.venue, description: event.location },
|
||||
{
|
||||
label: "Arrival",
|
||||
value: "From 15:30",
|
||||
description: "Please plan to arrive on time.",
|
||||
},
|
||||
],
|
||||
expectations: [
|
||||
{
|
||||
label: "Ceremony",
|
||||
value: "Outdoors in the garden",
|
||||
description: "Weather permitting.",
|
||||
},
|
||||
{
|
||||
label: "Dinner & Party",
|
||||
value: "Drinks and dancing",
|
||||
description: "The party continues indoors.",
|
||||
},
|
||||
],
|
||||
dressCode: {
|
||||
label: "Dress code",
|
||||
value: "Summer elegant",
|
||||
description: "Light fabrics, soft colors and a festive feel. No black, please.",
|
||||
},
|
||||
policies: [
|
||||
{ title: "Children", description: "Our celebration is adults only." },
|
||||
{ title: "Dogs", description: "Please leave your dogs at home." },
|
||||
{
|
||||
title: "Weather",
|
||||
description: "A beautiful indoor plan B is ready if it rains.",
|
||||
},
|
||||
{
|
||||
title: "Parking",
|
||||
description: "Parking is available on site; follow the signs.",
|
||||
},
|
||||
{
|
||||
title: "Accessibility",
|
||||
description: "The venue is mostly accessible. Contact us with questions.",
|
||||
},
|
||||
],
|
||||
},
|
||||
schedule: {
|
||||
eyebrow: "SCHEDULE",
|
||||
heading: "Here's how we celebrate.",
|
||||
introduction: "A day filled with love, laughter and unforgettable moments.",
|
||||
label: "The day, at a glance",
|
||||
timeline: [
|
||||
{
|
||||
time: "15:15",
|
||||
title: "Arrival",
|
||||
description: "Arrive, take your seat and get ready for the ceremony.",
|
||||
},
|
||||
{
|
||||
time: "16:00",
|
||||
title: "Ceremony",
|
||||
description: "We say I do in the garden.",
|
||||
},
|
||||
{
|
||||
time: "16:45",
|
||||
title: "Cocktails & Canapes",
|
||||
description: "Drinks, canapes and good company.",
|
||||
},
|
||||
{
|
||||
time: "18:30",
|
||||
title: "Dinner",
|
||||
description: "Time to eat, talk, laugh and celebrate.",
|
||||
},
|
||||
{
|
||||
time: "21:00",
|
||||
title: "Dessert",
|
||||
description: "Something sweet before things get louder.",
|
||||
},
|
||||
{
|
||||
time: "22:00-late",
|
||||
title: "Dancing",
|
||||
description: "Under the stars, until whenever.",
|
||||
},
|
||||
],
|
||||
quote: "Some moments turn into memories, and this one turns into forever.",
|
||||
},
|
||||
faq: {
|
||||
eyebrow: "FAQ",
|
||||
heading: "Questions? We've got you.",
|
||||
introduction: "Answers to the things you might be wondering about.",
|
||||
questions: [
|
||||
{
|
||||
question: "Can I bring a plus one?",
|
||||
answer: "Please bring only the guest named on your invitation.",
|
||||
},
|
||||
{
|
||||
question: "Are children invited?",
|
||||
answer: "Our celebration is adults only.",
|
||||
},
|
||||
{ question: "Can I bring my dog?", answer: "Please leave dogs at home." },
|
||||
{
|
||||
question: "Is there parking?",
|
||||
answer: "Yes, parking is available on site.",
|
||||
},
|
||||
{
|
||||
question: "Will there be transport?",
|
||||
answer: "Please plan your journey in advance.",
|
||||
},
|
||||
{
|
||||
question: "What happens if it rains?",
|
||||
answer: "We have a beautiful indoor plan B.",
|
||||
},
|
||||
{
|
||||
question: "What's the dress code?",
|
||||
answer: "Summer elegant. No black, please.",
|
||||
},
|
||||
{
|
||||
question: "Will the celebration go indoors?",
|
||||
answer: "Later, the party continues indoors.",
|
||||
},
|
||||
{
|
||||
question: "What food will be served?",
|
||||
answer: "A seasonal dinner; share dietary needs in advance.",
|
||||
},
|
||||
{
|
||||
question: "Can I help with a song or speech?",
|
||||
answer: "Coordinate surprises with our wedding party.",
|
||||
},
|
||||
],
|
||||
contact: {
|
||||
heading: "Still have a question?",
|
||||
description: "We're happy to help.",
|
||||
action: "Get in touch",
|
||||
},
|
||||
},
|
||||
rsvp: {
|
||||
eyebrow: "RSVP",
|
||||
heading: "We can't wait to celebrate with you.",
|
||||
paragraph: "Please let us know if you'll be joining us by",
|
||||
deadline: "May 15, 2027",
|
||||
helper: "We hope you can make it!",
|
||||
faqLink: "Questions? Visit our FAQ",
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,197 @@
|
||||
import type { InvitePageContent } from "./types";
|
||||
|
||||
const venue = "Luttelforster Muhle";
|
||||
const location = "Schwalmtal, Alemania";
|
||||
|
||||
export const es: InvitePageContent = {
|
||||
hero: {
|
||||
eyebrow: "10 DE JULIO DE 2027 · SCHWALMTAL",
|
||||
title: "Nicole y Raul",
|
||||
subtitle: "Nos casamos.",
|
||||
date: "10 de julio de 2027",
|
||||
location,
|
||||
},
|
||||
introduction: {
|
||||
heading: "Ven por el amor. Quedate por la fiesta.",
|
||||
paragraphs: [
|
||||
"Estamos deseando celebrar este dia especial contigo: una tarde en el jardin, una larga cena bajo las luces y una noche inolvidable.",
|
||||
"Gracias por formar parte de nuestra historia.",
|
||||
],
|
||||
facts: [
|
||||
{ label: "Fecha", value: "10 de julio de 2027", description: "Sabado" },
|
||||
{ label: "Lugar", value: venue, description: location },
|
||||
{ label: "Ceremonia", value: "16:00" },
|
||||
],
|
||||
},
|
||||
story: {
|
||||
eyebrow: "NUESTRA HISTORIA",
|
||||
heading: "El comienzo de nuestro para siempre.",
|
||||
paragraphs: [
|
||||
"Lugares distintos, caminos distintos, hasta que la vida nos unio. Lo que empezo con una chispa se hizo real.",
|
||||
"Viajamos, reimos, bailamos y sonamos. Ahora queremos celebrar este nuevo capitulo contigo.",
|
||||
],
|
||||
timeline: [
|
||||
{
|
||||
year: "2018",
|
||||
title: "Donde empezo",
|
||||
place: "Madrid",
|
||||
description: "Un encuentro casual durante un viaje cambio todo.",
|
||||
},
|
||||
{
|
||||
year: "2021",
|
||||
title: "Por el camino",
|
||||
description: "De viajes espontaneos a nuestros lugares favoritos. Alemania se convirtio en hogar.",
|
||||
},
|
||||
{
|
||||
year: "2027",
|
||||
title: "El siguiente capitulo",
|
||||
description: "Nos casamos y queremos celebrarlo contigo.",
|
||||
},
|
||||
],
|
||||
quote: "Lugares distintos, un viaje. Infinitos recuerdos. Siempre nosotros.",
|
||||
},
|
||||
details: {
|
||||
eyebrow: "DETALLES DE LA BODA",
|
||||
heading: "Todos los detalles importantes.",
|
||||
introduction: "Aqui encontraras todo lo necesario para nuestro gran dia.",
|
||||
facts: [
|
||||
{
|
||||
label: "Cuando",
|
||||
value: "10 de julio de 2027",
|
||||
description: "La ceremonia empieza a las 16:00",
|
||||
},
|
||||
{ label: "Donde", value: venue, description: location },
|
||||
{
|
||||
label: "Llegada",
|
||||
value: "Desde las 15:30",
|
||||
description: "Por favor, llega con tiempo.",
|
||||
},
|
||||
],
|
||||
expectations: [
|
||||
{
|
||||
label: "Ceremonia",
|
||||
value: "Al aire libre",
|
||||
description: "En el jardin, si el tiempo lo permite.",
|
||||
},
|
||||
{
|
||||
label: "Cena y fiesta",
|
||||
value: "Bebidas y baile",
|
||||
description: "La fiesta sigue en el interior.",
|
||||
},
|
||||
],
|
||||
dressCode: {
|
||||
label: "Codigo de vestimenta",
|
||||
value: "Elegante de verano",
|
||||
description: "Tejidos ligeros y colores suaves. Sin negro, por favor.",
|
||||
},
|
||||
policies: [
|
||||
{ title: "Ninos", description: "La celebracion es solo para adultos." },
|
||||
{ title: "Perros", description: "Por favor, dejalos en casa." },
|
||||
{ title: "Tiempo", description: "Hay un bonito plan B interior." },
|
||||
{ title: "Aparcamiento", description: "Disponible en el recinto." },
|
||||
{
|
||||
title: "Accesibilidad",
|
||||
description: "El lugar es mayormente accesible.",
|
||||
},
|
||||
],
|
||||
},
|
||||
schedule: {
|
||||
eyebrow: "PROGRAMA",
|
||||
heading: "Asi lo celebramos.",
|
||||
introduction: "Un dia lleno de amor, risas y momentos inolvidables.",
|
||||
label: "El dia de un vistazo",
|
||||
timeline: [
|
||||
{
|
||||
time: "15:15",
|
||||
title: "Llegada",
|
||||
description: "Llega, toma asiento y preparate.",
|
||||
},
|
||||
{
|
||||
time: "16:00",
|
||||
title: "Ceremonia",
|
||||
description: "Daremos el si quiero en el jardin.",
|
||||
},
|
||||
{
|
||||
time: "16:45",
|
||||
title: "Cocteles y canapes",
|
||||
description: "Brindis y buena compania.",
|
||||
},
|
||||
{
|
||||
time: "18:30",
|
||||
title: "Cena",
|
||||
description: "Comer, hablar, reir y celebrar.",
|
||||
},
|
||||
{
|
||||
time: "21:00",
|
||||
title: "Postre",
|
||||
description: "Algo dulce antes de subir el volumen.",
|
||||
},
|
||||
{
|
||||
time: "22:00-late",
|
||||
title: "Baile",
|
||||
description: "Bajo las estrellas, hasta cuando sea.",
|
||||
},
|
||||
],
|
||||
quote: "Algunos momentos se vuelven recuerdos, y este se vuelve para siempre.",
|
||||
},
|
||||
faq: {
|
||||
eyebrow: "PREGUNTAS FRECUENTES",
|
||||
heading: "Preguntas? Te ayudamos.",
|
||||
introduction: "Respuestas a lo que quizas te estes preguntando.",
|
||||
questions: [
|
||||
{
|
||||
question: "Puedo llevar acompanante?",
|
||||
answer: "Solo el invitado indicado en tu invitacion.",
|
||||
},
|
||||
{
|
||||
question: "Estan invitados los ninos?",
|
||||
answer: "La celebracion es solo para adultos.",
|
||||
},
|
||||
{
|
||||
question: "Puedo llevar a mi perro?",
|
||||
answer: "Por favor, deja a los perros en casa.",
|
||||
},
|
||||
{
|
||||
question: "Hay aparcamiento?",
|
||||
answer: "Si, disponible en el recinto.",
|
||||
},
|
||||
{
|
||||
question: "Habra transporte?",
|
||||
answer: "Organiza tu viaje con antelacion.",
|
||||
},
|
||||
{
|
||||
question: "Y si llueve?",
|
||||
answer: "Tenemos un bonito plan B interior.",
|
||||
},
|
||||
{
|
||||
question: "Cual es el codigo de vestimenta?",
|
||||
answer: "Elegante de verano; sin negro.",
|
||||
},
|
||||
{
|
||||
question: "La fiesta sigue dentro?",
|
||||
answer: "Mas tarde, la fiesta continua dentro.",
|
||||
},
|
||||
{
|
||||
question: "Que comida habra?",
|
||||
answer: "Cena de temporada; indica alergias antes.",
|
||||
},
|
||||
{
|
||||
question: "Puedo preparar una cancion o discurso?",
|
||||
answer: "Coordinalo con nuestro equipo de boda.",
|
||||
},
|
||||
],
|
||||
contact: {
|
||||
heading: "Tienes otra pregunta?",
|
||||
description: "Estaremos encantados de ayudar.",
|
||||
action: "Contactanos",
|
||||
},
|
||||
},
|
||||
rsvp: {
|
||||
eyebrow: "CONFIRMACION",
|
||||
heading: "Estamos deseando celebrar contigo.",
|
||||
paragraph: "Confirma tu asistencia antes del",
|
||||
deadline: "15 de mayo de 2027",
|
||||
helper: "Esperamos que puedas venir!",
|
||||
faqLink: "Preguntas? Visita las FAQ",
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,194 @@
|
||||
import type { InvitePageContent } from "./types";
|
||||
|
||||
const venue = "Luttelforster Muhle";
|
||||
const location = "Schwalmtal, Niemcy";
|
||||
|
||||
export const pl: InvitePageContent = {
|
||||
hero: {
|
||||
eyebrow: "10 LIPCA 2027 · SCHWALMTAL",
|
||||
title: "Nicole i Raul",
|
||||
subtitle: "Bierzemy slub.",
|
||||
date: "10 lipca 2027",
|
||||
location,
|
||||
},
|
||||
introduction: {
|
||||
heading: "Przyjdz dla milosci. Zostan dla zabawy.",
|
||||
paragraphs: [
|
||||
"Nie mozemy sie doczekac, by swietowac ten wyjatkowy dzien z Wami: popoludnie w ogrodzie, dluga kolacja pod swiatlami i niezapomniana noc.",
|
||||
"Dziekujemy, ze jestescie czescia naszej historii.",
|
||||
],
|
||||
facts: [
|
||||
{ label: "Data", value: "10 lipca 2027", description: "Sobota" },
|
||||
{ label: "Miejsce", value: venue, description: location },
|
||||
{ label: "Ceremonia", value: "16:00" },
|
||||
],
|
||||
},
|
||||
story: {
|
||||
eyebrow: "NASZA HISTORIA",
|
||||
heading: "Poczatek naszego na zawsze.",
|
||||
paragraphs: [
|
||||
"Rozne miejsca, rozne drogi, az zycie polaczylo nas razem. Iskra stala sie czyms prawdziwym.",
|
||||
"Podrozujemy, smiejemy sie, tanczymy i marzymy. Teraz chcemy swietowac ten nowy rozdzial z Wami.",
|
||||
],
|
||||
timeline: [
|
||||
{
|
||||
year: "2018",
|
||||
title: "Gdzie sie zaczelo",
|
||||
place: "Madryt",
|
||||
description: "Przypadkowe spotkanie podczas wyjazdu zmienilo wszystko.",
|
||||
},
|
||||
{
|
||||
year: "2021",
|
||||
title: "Gdzies po drodze",
|
||||
description: "Od spontanicznych podrozy do ulubionych miejsc. Niemcy staly sie domem.",
|
||||
},
|
||||
{
|
||||
year: "2027",
|
||||
title: "Kolejny rozdzial",
|
||||
description: "Bierzemy slub i chcemy swietowac z Wami.",
|
||||
},
|
||||
],
|
||||
quote: "Rozne miejsca, jedna podroz. Niezliczone wspomnienia. Na zawsze my.",
|
||||
},
|
||||
details: {
|
||||
eyebrow: "SZCZEGOLY WESELA",
|
||||
heading: "Wszystkie wazne szczegoly.",
|
||||
introduction: "Tutaj znajdziecie wszystko, co trzeba wiedziec o naszym dniu.",
|
||||
facts: [
|
||||
{
|
||||
label: "Kiedy",
|
||||
value: "10 lipca 2027",
|
||||
description: "Ceremonia o 16:00",
|
||||
},
|
||||
{ label: "Gdzie", value: venue, description: location },
|
||||
{
|
||||
label: "Przyjazd",
|
||||
value: "Od 15:30",
|
||||
description: "Prosimy o punktualne przybycie.",
|
||||
},
|
||||
],
|
||||
expectations: [
|
||||
{
|
||||
label: "Ceremonia",
|
||||
value: "W ogrodzie",
|
||||
description: "Jesli pogoda pozwoli.",
|
||||
},
|
||||
{
|
||||
label: "Kolacja i zabawa",
|
||||
value: "Drinki i tance",
|
||||
description: "Zabawa przeniesie sie do srodka.",
|
||||
},
|
||||
],
|
||||
dressCode: {
|
||||
label: "Stroj",
|
||||
value: "Letnia elegancja",
|
||||
description: "Lekkie tkaniny, delikatne kolory. Bez czerni, prosimy.",
|
||||
},
|
||||
policies: [
|
||||
{ title: "Dzieci", description: "Wesele jest tylko dla doroslych." },
|
||||
{ title: "Psy", description: "Prosmy zostawic psy w domu." },
|
||||
{ title: "Pogoda", description: "Mamy piekny plan B w srodku." },
|
||||
{ title: "Parking", description: "Parking jest na miejscu." },
|
||||
{
|
||||
title: "Dostepnosc",
|
||||
description: "Miejsce jest w wiekszosci dostepne.",
|
||||
},
|
||||
],
|
||||
},
|
||||
schedule: {
|
||||
eyebrow: "HARMONOGRAM",
|
||||
heading: "Tak swietujemy.",
|
||||
introduction: "Dzien pelen milosci, smiechu i niezapomnianych chwil.",
|
||||
label: "Dzien w skrocie",
|
||||
timeline: [
|
||||
{
|
||||
time: "15:15",
|
||||
title: "Przyjazd",
|
||||
description: "Przyjedz, zajmij miejsce i przygotuj sie.",
|
||||
},
|
||||
{
|
||||
time: "16:00",
|
||||
title: "Ceremonia",
|
||||
description: "Powiemy sobie tak w ogrodzie.",
|
||||
},
|
||||
{
|
||||
time: "16:45",
|
||||
title: "Koktajle i przekaski",
|
||||
description: "Toast i dobre towarzystwo.",
|
||||
},
|
||||
{
|
||||
time: "18:30",
|
||||
title: "Kolacja",
|
||||
description: "Jemy, rozmawiamy, smiejemy sie i swietujemy.",
|
||||
},
|
||||
{
|
||||
time: "21:00",
|
||||
title: "Deser",
|
||||
description: "Cos slodkiego przed glosniejsza zabawa.",
|
||||
},
|
||||
{
|
||||
time: "22:00-pozno",
|
||||
title: "Tance",
|
||||
description: "Pod gwiazdami, tak dlugo jak chcemy.",
|
||||
},
|
||||
],
|
||||
quote: "Niektore chwile staja sie wspomnieniami, a ta zostanie na zawsze.",
|
||||
},
|
||||
faq: {
|
||||
eyebrow: "FAQ",
|
||||
heading: "Pytania? Pomożemy.",
|
||||
introduction: "Odpowiedzi na pytania, ktore mozecie miec.",
|
||||
questions: [
|
||||
{
|
||||
question: "Czy moge przyprowadzic osobe towarzyszaca?",
|
||||
answer: "Prosimy przyprowadzic tylko osobe wskazana na zaproszeniu.",
|
||||
},
|
||||
{
|
||||
question: "Czy dzieci sa zaproszone?",
|
||||
answer: "Wesele jest tylko dla doroslych.",
|
||||
},
|
||||
{
|
||||
question: "Czy moge przyprowadzic psa?",
|
||||
answer: "Prosmy zostawic psy w domu.",
|
||||
},
|
||||
{
|
||||
question: "Czy jest parking?",
|
||||
answer: "Tak, parking jest na miejscu.",
|
||||
},
|
||||
{
|
||||
question: "Czy bedzie transport?",
|
||||
answer: "Zaplanujcie podroz z wyprzedzeniem.",
|
||||
},
|
||||
{
|
||||
question: "Co jesli bedzie padac?",
|
||||
answer: "Mamy piekny plan B w srodku.",
|
||||
},
|
||||
{ question: "Jaki jest stroj?", answer: "Letnia elegancja, bez czerni." },
|
||||
{
|
||||
question: "Czy zabawa bedzie w srodku?",
|
||||
answer: "Pozniej zabawa przeniesie sie do srodka.",
|
||||
},
|
||||
{
|
||||
question: "Jakie bedzie jedzenie?",
|
||||
answer: "Sezonowa kolacja; podajcie alergie wczesniej.",
|
||||
},
|
||||
{
|
||||
question: "Czy moge przygotowac piosenke lub przemowe?",
|
||||
answer: "Uzgodnijcie niespodzianki z nasza ekipa.",
|
||||
},
|
||||
],
|
||||
contact: {
|
||||
heading: "Masz jeszcze pytanie?",
|
||||
description: "Chetnie pomozemy.",
|
||||
action: "Skontaktuj sie",
|
||||
},
|
||||
},
|
||||
rsvp: {
|
||||
eyebrow: "RSVP",
|
||||
heading: "Nie mozemy sie doczekac, by swietowac z Wami.",
|
||||
paragraph: "Dajcie nam znac do",
|
||||
deadline: "15 maja 2027",
|
||||
helper: "Mamy nadzieje, ze bedziecie z nami!",
|
||||
faqLink: "Pytania? Zobacz FAQ",
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,86 @@
|
||||
export type Fact = {
|
||||
label: string;
|
||||
value: string;
|
||||
description?: string;
|
||||
};
|
||||
|
||||
export type TimelineItem = {
|
||||
time: string;
|
||||
title: string;
|
||||
description: string;
|
||||
};
|
||||
|
||||
export type StoryItem = {
|
||||
year: string;
|
||||
title: string;
|
||||
place?: string;
|
||||
description: string;
|
||||
};
|
||||
|
||||
export type Faq = {
|
||||
question: string;
|
||||
answer: string;
|
||||
};
|
||||
|
||||
export type Policy = {
|
||||
title: string;
|
||||
description: string;
|
||||
};
|
||||
|
||||
export interface InvitePageContent {
|
||||
hero: {
|
||||
eyebrow: string;
|
||||
title: string;
|
||||
subtitle: string;
|
||||
date: string;
|
||||
location: string;
|
||||
};
|
||||
introduction: {
|
||||
heading: string;
|
||||
paragraphs: readonly string[];
|
||||
facts: readonly Fact[];
|
||||
};
|
||||
story: {
|
||||
eyebrow: string;
|
||||
heading: string;
|
||||
paragraphs: readonly string[];
|
||||
timeline: readonly StoryItem[];
|
||||
quote: string;
|
||||
};
|
||||
details: {
|
||||
eyebrow: string;
|
||||
heading: string;
|
||||
introduction: string;
|
||||
facts: readonly Fact[];
|
||||
expectations: readonly Fact[];
|
||||
dressCode: Fact;
|
||||
policies: readonly Policy[];
|
||||
};
|
||||
schedule: {
|
||||
eyebrow: string;
|
||||
heading: string;
|
||||
introduction: string;
|
||||
label: string;
|
||||
timeline: readonly TimelineItem[];
|
||||
quote: string;
|
||||
};
|
||||
faq: {
|
||||
eyebrow: string;
|
||||
heading: string;
|
||||
introduction: string;
|
||||
questions: readonly Faq[];
|
||||
contact: {
|
||||
heading: string;
|
||||
description: string;
|
||||
action: string;
|
||||
};
|
||||
};
|
||||
rsvp: {
|
||||
eyebrow: string;
|
||||
heading: string;
|
||||
paragraph: string;
|
||||
deadline: string;
|
||||
helper: string;
|
||||
faqLink: string;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user