The footer component provides newsletter subscription, useful links with social media, and a contact form. It’s structured in a three-column layout with a bottom copyright section.
const subscribeForm = document.getElementById('subscribe-form');const subscribeConfirmation = document.getElementById('successully-subscribed');subscribeForm.addEventListener('submit', function (e) { e.preventDefault() let email = e.target.elements.email.value; // Retrieve subscribed_emails from local storage let subscribed_emails = JSON.parse(localStorage.getItem('subscribed_emails')) || []; subscribed_emails.push(email); // Save email into local storage localStorage.setItem('subscribed_emails', JSON.stringify(subscribed_emails)); subscribeConfirmation.style.display = "block"; // Clear all form inputs subscribeForm.reset();});
const contactUsForm = document.getElementById('contact-us-form');const messageSentConfirmation = document.getElementById('message-sent');contactUsForm.addEventListener('submit', function (e) { e.preventDefault() let email = e.target.elements.email.value; let message = e.target.elements.message.value; // Retrieve all messages from local storage let messages = JSON.parse(localStorage.getItem('messages')) || []; messages.push({ email: email, message: message}); // Save email and message into local storage localStorage.setItem('messages', JSON.stringify(messages)); messageSentConfirmation.style.display = "block"; // Clear all form inputs contactUsForm.reset();});
Both forms use localStorage to persist data and display success messages after submission.