Added new RSVP-Form with translations

This commit is contained in:
spetznas committed 2026-06-17 18:26:04 +02:00
1 parent 6101a72fd5
commit 060b3723a8
87 files changed
+3247 -1219

No files matched your search

Regular → Executable
+197 -69
View File
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="de">
<head>
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
<title>Markin Stefan</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -18,25 +18,25 @@ Wir freuen uns darauf, Sie dort zu sehen!">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Hochzeit von Stefan und Mariia">
<meta name="twitter:description" content="Wir freuen uns, Euch zu unserer Hochzeit von Stefan und Mariia einzuladen!
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Hochzeit von Stefan und Mariia">
<meta name="twitter:description" content="Wir freuen uns, Euch zu unserer Hochzeit von Stefan und Mariia einzuladen!
Feiern Sie mit uns diesen besonderen Tag voller Liebe, Freude und wundervoller Erinnerungen!
Wir freuen uns darauf, Sie dort zu sehen!">
<meta property="og:url" content="http://markinstefan.xyz/de/hochzeit/">
<meta property="og:site_name" content="Markin Stefan">
<meta property="og:title" content="Hochzeit von Stefan und Mariia">
<meta property="og:description" content="Wir freuen uns, Euch zu unserer Hochzeit von Stefan und Mariia einzuladen!
<meta property="og:url" content="http://localhost:1313/de/hochzeit/">
<meta property="og:site_name" content="Markin Stefan">
<meta property="og:title" content="Hochzeit von Stefan und Mariia">
<meta property="og:description" content="Wir freuen uns, Euch zu unserer Hochzeit von Stefan und Mariia einzuladen!
Feiern Sie mit uns diesen besonderen Tag voller Liebe, Freude und wundervoller Erinnerungen!
Wir freuen uns darauf, Sie dort zu sehen!">
<meta property="og:locale" content="de">
<meta property="og:type" content="article">
<meta property="og:locale" content="de">
<meta property="og:type" content="article">
<link rel="canonical" href="http://markinstefan.xyz/de/hochzeit/">
<link rel="canonical" href="http://localhost:1313/de/hochzeit/">
<link rel="preload" href="/fonts/fa-brands-400.woff2" as="font" type="font/woff2" crossorigin>
@@ -46,7 +46,7 @@ Wir freuen uns darauf, Sie dort zu sehen!">
<link rel="stylesheet" href="/css/coder.min.f6b1b35a7b02521b25338f6cf58975f9980a6c12847763fe35a48307758cd1e7.css" integrity="sha256-9rGzWnsCUhslM49s9Yl1&#43;ZgKbBKEd2P&#43;NaSDB3WM0ec=" crossorigin="anonymous" media="screen" />
<link rel="stylesheet" href="/css/coder.css" media="screen">
@@ -56,7 +56,7 @@ Wir freuen uns darauf, Sie dort zu sehen!">
<link rel="stylesheet" href="/css/coder-dark.min.ad48f476275974885bdc03d5251e3cdbe1678c54a63ff772376b0ed2adc468dd.css" integrity="sha256-rUj0didZdIhb3APVJR482&#43;FnjFSmP/dyN2sO0q3EaN0=" crossorigin="anonymous" media="screen" />
<link rel="stylesheet" href="/css/coder-dark.css" media="screen">
@@ -105,7 +105,7 @@ Wir freuen uns darauf, Sie dort zu sehen!">
<nav class="navigation">
<section class="container">
<a class="navigation-title" href="http://markinstefan.xyz/de/">
<a class="navigation-title" href="http://localhost:1313/de/">
Markin Stefan
</a>
@@ -369,71 +369,199 @@ btn.addEventListener("click", async () => {
</div>
<div class="section rsvp">
<h2>📝 RSVP</h2>
<p>Bitte antworten bis <strong>30. Juni</strong>.</p>
<p>E-Mail:
<span class="email"><b>Bitte erlauben Sie JavaScript um diesen Inhalt zu sehen.</b></span>
<script>
(function() {
var email = "hochzeit@markinstefan.xyz";
var user = email.split('@')[0];
var domain = email.split('@')[1];
var link = document.createElement('a');
link.href = 'mailto:' + user + '@' + domain;
link.textContent = user + '@' + domain;
var span = document.currentScript.previousElementSibling;
span.textContent = "";
span.appendChild(link);
})();
</script>
</p>
<form action="/rsvp-submit.php" method="POST">
<label for="first_name">Vorname:</label><br>
<input type="text" id="first_name" name="first_name" required><br><br>
<label for="last_name">Nachname:</label><br>
<input type="text" id="last_name" name="last_name" required><br><br>
<h3>Persönliche Informationen</h3>
<label>Getränkevorlieben:</label><br>
<label for="first_name">Vorname:</label><br> <input type="text" id="first_name" name="first_name" required><br><br>
<input type="checkbox" id="wine" name="drinks[]" value="Wine">
<label for="wine">Wein</label><br>
<label for="last_name">Nachname:</label><br> <input type="text" id="last_name" name="last_name" required><br><br>
<input type="checkbox" id="beer" name="drinks[]" value="Beer">
<label for="beer">Bier</label><br>
<label for="email">E-Mail-Adresse:</label><br> <input type="email" id="email" name="email" required><br><br>
<input type="checkbox" id="juice" name="drinks[]" value="Juice">
<label for="juice">Saft</label><br><br>
<label for="phone">Telefonnummer:</label><br> <input type="tel" id="phone" name="phone" placeholder="+45 12 34 56 78"><br> <small>Wird für die WhatsApp-Gruppe und Hochzeitsinformationen verwendet</small><br><br>
<label for="allergies">Allergisch auf:</label><br>
<input type="text" id="allergies" name="allergies"><br><br>
<input type="text" name="website" style="display:none">
<h3>Teilnahme</h3>
<button type="submit">Abschicken</button>
<input type="radio" id="attending_yes" name="attendance" value="Yes" required>
<label for="attending_yes">Ich nehme teil</label><br>
<input type="radio" id="attending_no" name="attendance" value="No">
<label for="attending_no">Ich kann leider nicht teilnehmen</label><br><br>
<h3>Getränkevorlieben</h3>
<input type="checkbox" id="wine" name="drinks[]" value="Wine">
<label for="wine">Wein</label><br>
<input type="checkbox" id="beer" name="drinks[]" value="Beer">
<label for="beer">Bier</label><br>
<input type="checkbox" id="juice" name="drinks[]" value="Juice">
<label for="juice">Saft</label><br>
<input type="checkbox" id="water" name="drinks[]" value="Water">
<label for="water">Wasser</label><br>
<input type="checkbox" id="cola" name="drinks[]" value="Cola">
<label for="cola">Cola</label><br>
<input type="checkbox" id="fanta" name="drinks[]" value="Fanta">
<label for="fanta">Fanta</label><br><br>
<h3>Ernährungsweise</h3>
<input type="radio" id="diet_meat" name="diet" value="Meat" required>
<label for="diet_meat">Fleisch</label><br>
<input type="radio" id="diet_vegetarian" name="diet" value="Vegetarian">
<label for="diet_vegetarian">Vegetarisch</label><br>
<input type="radio" id="diet_vegan" name="diet" value="Vegan">
<label for="diet_vegan">Vegan</label><br><br>
<h3>Allergisch auf</h3>
<input type="checkbox" id="gluten" name="allergies[]" value="Gluten">
<label for="gluten">Gluten</label><br>
<input type="checkbox" id="lactose" name="allergies[]" value="Lactose">
<label for="lactose">Laktose</label><br>
<input type="checkbox" id="nuts" name="allergies[]" value="Nuts">
<label for="nuts">Nüsse</label><br>
<input type="checkbox" id="other_allergy" name="allergies[]" value="Other">
<label for="other_allergy">Sonstiges</label><br><br>
<label for="allergies_other">Weitere Details zu Allergien:</label><br> <input type="text" id="allergies_other" name="allergies_other"><br><br>
<h3>Organisation</h3>
<input type="checkbox" id="parking" name="parking" value="Yes">
<label for="parking">Ich benötige einen Parkplatz</label><br>
<input type="checkbox" id="ride_needed" name="ride_needed" value="Yes">
<label for="ride_needed">Ich benötige eine Mitfahrgelegenheit</label><br>
<input type="checkbox" id="ride_offer" name="ride_offer" value="Yes">
<label for="ride_offer">Ich kann eine Mitfahrgelegenheit anbieten</label><br>
<input type="checkbox" id="hotel" name="hotel" value="Yes">
<label for="hotel">Ich übernachte im Hotel</label><br>
<input type="checkbox" id="hotel_booked" name="hotel_booked" value="Yes">
<label for="hotel_booked">Mein Hotel ist bereits gebucht</label><br><br>
<h3>Erinnerungen &amp; Extras</h3>
<input type="checkbox" id="memory_card" name="memory_card" value="Yes">
<label for="memory_card">Ich möchte eine Grußkarte zur Erinnerung erhalten</label><br>
<input type="checkbox" id="photo_link" name="photo_link" value="Yes">
<label for="photo_link">Ich möchte den Link zu den Hochzeitsfotos erhalten</label><br><br>
<h3>Unterhaltung</h3>
<label for="music_request">Musikwunsch:</label><br> <input type="text" id="music_request" name="music_request"><br><br>
<label>Ich möchte etwas beitragen:</label><br>
<input type="checkbox" id="speech" name="contribution[]" value="Speech">
<label for="speech">Rede</label><br>
<input type="checkbox" id="game" name="contribution[]" value="Game">
<label for="game">Spiel</label><br>
<input type="checkbox" id="surprise" name="contribution[]" value="Surprise">
<label for="surprise">Überraschung</label><br>
<input type="checkbox" id="other_contribution" name="contribution[]" value="Other">
<label for="other_contribution">Sonstiges</label><br><br>
<h3>Kinder</h3>
<input type="radio" id="children_yes" name="children" value="Yes">
<label for="children_yes">Ja</label>
<input type="radio" id="children_no" name="children" value="No" checked>
<label for="children_no">Nein</label><br><br>
<div id="children-details" style="display:none;">
```
<label for="children_count">Anzahl der Kinder:</label><br>
<input type="number" id="children_count" name="children_count" min="1"><br><br>
<label for="children_ages">Alter der Kinder:</label><br>
<input type="text"
id="children_ages"
name="children_ages"
placeholder="3, 7, 10"><br><br>
```
</div>
<h3>Nachricht an das Brautpaar</h3>
<textarea id="message"
name="message"
rows="5"
cols="50"></textarea><br><br>
<h3>Datenschutz</h3>
<input type="checkbox"
id="privacy"
name="privacy"
value="Yes"
required>
<label for="privacy">
Ich stimme zu, dass meine Angaben für die Hochzeitsplanung gespeichert und verarbeitet werden dürfen.
</label><br><br>
<input type="text" name="website" style="display:none">
<button type="submit">
Abschicken
</button>
</form>
<script>
document.querySelectorAll('input[name="children"]').forEach(el => {
el.addEventListener('change', function() {
document.getElementById('children-details').style.display =
this.value === 'Yes' ? 'block' : 'none';
});
});
</script>
</form>
</div>
@@ -497,7 +625,7 @@ btn.addEventListener("click", async () => {
<script src="/js/coder.min.6ae284be93d2d19dad1f02b0039508d9aab3180a12a06dcc71b0b0ef7825a317.js" integrity="sha256-auKEvpPS0Z2tHwKwA5UI2aqzGAoSoG3McbCw73gloxc="></script>
<script src="/js/coder.js"></script>