(feat): Init concept of coming soon landing page

This commit is contained in:
Blake Ridgway 2025-01-05 21:03:42 -06:00
parent 18bcafe29b
commit f8f8c773cc
9 changed files with 179 additions and 77 deletions

24
static/js/countdown.js Normal file
View file

@ -0,0 +1,24 @@
// Countdown timer
const targetDate = new Date("2025-01-31T00:00:00Z"); // Set your launch date
function updateCountdown() {
const now = new Date();
const difference = targetDate - now;
if (difference < 0) {
document.getElementById("countdown").innerHTML = "<p>We're Live!</p>";
return;
}
const days = Math.floor(difference / (1000 * 60 * 60 * 24));
const hours = Math.floor((difference / (1000 * 60 * 60)) % 24);
const minutes = Math.floor((difference / (1000 * 60)) % 60);
const seconds = Math.floor((difference / 1000) % 60);
document.getElementById("days").textContent = days.toString().padStart(2, "0");
document.getElementById("hours").textContent = hours.toString().padStart(2, "0");
document.getElementById("minutes").textContent = minutes.toString().padStart(2, "0");
document.getElementById("seconds").textContent = seconds.toString().padStart(2, "0");
}
setInterval(updateCountdown, 1000);

18
static/js/main.js Normal file
View file

@ -0,0 +1,18 @@
document.getElementById("notify-button").addEventListener("click", async () => {
const emailInput = document.getElementById("email-input");
const email = emailInput.value;
if (email) {
const response = await fetch("/subscribe", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ email }),
});
const result = await response.json();
alert(result.message || result.error);
emailInput.value = ""; // Clear input field
} else {
alert("Please enter a valid email.");
}
});