const form = document.querySelector("#guestbook-form"); const entries = document.querySelector("#entries"); if (form && entries) { const saved = JSON.parse( localStorage.getItem( "marisol-v2-guestbook" ) || "[]" ); function safe(text) { return text.replace( /[&<>"']/g, function (character) { return { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }[character]; } ); } function render() { if (saved.length === 0) { entries.innerHTML = "
No notes yet ☆
"; return; } entries.innerHTML = saved.map(function (item) { return `
${safe(item.name)}

${safe(item.message)}

`; }).join(""); } form.addEventListener( "submit", function (event) { event.preventDefault(); const name = form.name.value.trim() || "Anonymous"; const message = form.message.value.trim(); if (!message) { return; } saved.unshift({ name: name, message: message }); /* Keep the most recent 30 guestbook messages. */ saved.splice(30); localStorage.setItem( "marisol-v2-guestbook", JSON.stringify(saved) ); form.reset(); render(); } ); render(); }