Added new RSVP-Form with translations
This commit is contained in:
1 parent
6101a72fd5
commit
060b3723a8
87 files changed
+3247
-1219
No files matched your search
Regular → Executable
+197
-69
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&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+ZgKbBKEd2P+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+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 & 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 & 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>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user