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="en">
<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 @@ We look forward to seeing you there!">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Marriage of Stefan and Mariia">
<meta name="twitter:description" content="We are happy to invite you to our wedding of Stefan and Mariia!
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Marriage of Stefan and Mariia">
<meta name="twitter:description" content="We are happy to invite you to our wedding of Stefan and Mariia!
Join us in celebrating this special day with love, joy, and wonderful memories.
We look forward to seeing you there!">
<meta property="og:url" content="http://markinstefan.xyz/wedding/">
<meta property="og:site_name" content="Markin Stefan">
<meta property="og:title" content="Marriage of Stefan and Mariia">
<meta property="og:description" content="We are happy to invite you to our wedding of Stefan and Mariia!
<meta property="og:url" content="http://localhost:1313/wedding/">
<meta property="og:site_name" content="Markin Stefan">
<meta property="og:title" content="Marriage of Stefan and Mariia">
<meta property="og:description" content="We are happy to invite you to our wedding of Stefan and Mariia!
Join us in celebrating this special day with love, joy, and wonderful memories.
We look forward to seeing you there!">
<meta property="og:locale" content="en">
<meta property="og:type" content="article">
<meta property="og:locale" content="en">
<meta property="og:type" content="article">
<link rel="canonical" href="http://markinstefan.xyz/wedding/">
<link rel="canonical" href="http://localhost:1313/wedding/">
<link rel="preload" href="/fonts/fa-brands-400.woff2" as="font" type="font/woff2" crossorigin>
@@ -46,7 +46,7 @@ We look forward to seeing you there!">
<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 @@ We look forward to seeing you there!">
<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 @@ We look forward to seeing you there!">
<nav class="navigation">
<section class="container">
<a class="navigation-title" href="http://markinstefan.xyz/">
<a class="navigation-title" href="http://localhost:1313/">
Markin Stefan
</a>
@@ -369,71 +369,199 @@ btn.addEventListener("click", async () => {
</div>
<div class="section rsvp">
<h2>📝 RSVP</h2>
<p>Please respond by <strong>June 30</strong>.</p>
<p>Email:
<span class="email"><b>Please enable JavaScript to see this content.</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">First name:</label><br>
<input type="text" id="first_name" name="first_name" required><br><br>
<label for="last_name">Last name:</label><br>
<input type="text" id="last_name" name="last_name" required><br><br>
<h3>Personal Information</h3>
<label>Drink preferences::</label><br>
<label for="first_name">First name:</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">Wine</label><br>
<label for="last_name">Last name:</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">Beer</label><br>
<label for="email">Email Address:</label><br> <input type="email" id="email" name="email" required><br><br>
<input type="checkbox" id="juice" name="drinks[]" value="Juice">
<label for="juice">Juice</label><br><br>
<label for="phone">Phone Number:</label><br> <input type="tel" id="phone" name="phone" placeholder="+45 12 34 56 78"><br> <small>Used for the WhatsApp group and wedding updates</small><br><br>
<label for="allergies">Allergic to:</label><br>
<input type="text" id="allergies" name="allergies"><br><br>
<input type="text" name="website" style="display:none">
<h3>Attendance</h3>
<button type="submit">Send</button>
<input type="radio" id="attending_yes" name="attendance" value="Yes" required>
<label for="attending_yes">I will attend</label><br>
<input type="radio" id="attending_no" name="attendance" value="No">
<label for="attending_no">I cannot attend</label><br><br>
<h3>Drink preferences:</h3>
<input type="checkbox" id="wine" name="drinks[]" value="Wine">
<label for="wine">Wine</label><br>
<input type="checkbox" id="beer" name="drinks[]" value="Beer">
<label for="beer">Beer</label><br>
<input type="checkbox" id="juice" name="drinks[]" value="Juice">
<label for="juice">Juice</label><br>
<input type="checkbox" id="water" name="drinks[]" value="Water">
<label for="water">Water</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>Dietary Preference</h3>
<input type="radio" id="diet_meat" name="diet" value="Meat" required>
<label for="diet_meat">Meat</label><br>
<input type="radio" id="diet_vegetarian" name="diet" value="Vegetarian">
<label for="diet_vegetarian">Vegetarian</label><br>
<input type="radio" id="diet_vegan" name="diet" value="Vegan">
<label for="diet_vegan">Vegan</label><br><br>
<h3>Allergic to</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">Lactose</label><br>
<input type="checkbox" id="nuts" name="allergies[]" value="Nuts">
<label for="nuts">Nuts</label><br>
<input type="checkbox" id="other_allergy" name="allergies[]" value="Other">
<label for="other_allergy">Other</label><br><br>
<label for="allergies_other">Additional allergy details:</label><br> <input type="text" id="allergies_other" name="allergies_other"><br><br>
<h3>Organization</h3>
<input type="checkbox" id="parking" name="parking" value="Yes">
<label for="parking">I need a parking space</label><br>
<input type="checkbox" id="ride_needed" name="ride_needed" value="Yes">
<label for="ride_needed">I need a ride</label><br>
<input type="checkbox" id="ride_offer" name="ride_offer" value="Yes">
<label for="ride_offer">I can offer a ride</label><br>
<input type="checkbox" id="hotel" name="hotel" value="Yes">
<label for="hotel">I will stay in a hotel</label><br>
<input type="checkbox" id="hotel_booked" name="hotel_booked" value="Yes">
<label for="hotel_booked">My hotel is already booked</label><br><br>
<h3>Memories &amp; Extras</h3>
<input type="checkbox" id="memory_card" name="memory_card" value="Yes">
<label for="memory_card">I would like a keepsake greeting card</label><br>
<input type="checkbox" id="photo_link" name="photo_link" value="Yes">
<label for="photo_link">I would like to receive the wedding photo gallery link</label><br><br>
<h3>Entertainment</h3>
<label for="music_request">Song request:</label><br> <input type="text" id="music_request" name="music_request"><br><br>
<label>I would like to contribute:</label><br>
<input type="checkbox" id="speech" name="contribution[]" value="Speech">
<label for="speech">Speech</label><br>
<input type="checkbox" id="game" name="contribution[]" value="Game">
<label for="game">Game</label><br>
<input type="checkbox" id="surprise" name="contribution[]" value="Surprise">
<label for="surprise">Surprise</label><br>
<input type="checkbox" id="other_contribution" name="contribution[]" value="Other">
<label for="other_contribution">Other</label><br><br>
<h3>Children</h3>
<input type="radio" id="children_yes" name="children" value="Yes">
<label for="children_yes">Yes</label>
<input type="radio" id="children_no" name="children" value="No" checked>
<label for="children_no">No</label><br><br>
<div id="children-details" style="display:none;">
```
<label for="children_count">Number of children:</label><br>
<input type="number" id="children_count" name="children_count" min="1"><br><br>
<label for="children_ages">Age(s) of the children:</label><br>
<input type="text"
id="children_ages"
name="children_ages"
placeholder="3, 7, 10"><br><br>
```
</div>
<h3>Message to the Bride &amp; Groom</h3>
<textarea id="message"
name="message"
rows="5"
cols="50"></textarea><br><br>
<h3>Privacy</h3>
<input type="checkbox"
id="privacy"
name="privacy"
value="Yes"
required>
<label for="privacy">
I agree that my information may be stored and used for wedding planning.
</label><br><br>
<input type="text" name="website" style="display:none">
<button type="submit">
Send
</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>