From: Danilo M. Date: Wed, 15 Apr 2026 15:43:32 +0000 (+0200) Subject: Extract contact form JavaScript to separate file and remove shortcode from contact... X-Git-Tag: release_22042026-1342~247 X-Git-Url: https://git.danix.xyz/?a=commitdiff_plain;h=e9883e5732c243ced33020e7f2e1c12388cd6686;p=danix.xyz-2.git Extract contact form JavaScript to separate file and remove shortcode from contact pages - Move contact form Alpine.js logic to assets/js/contact-form.js - Simplify contact-form.html shortcode by removing inline script - Load contact-form.js in baseof.html after Alpine.js - Temporarily remove {{< contact_form >}} shortcode from contact pages (shortcode parsing issue to investigate later) - Contact pages now display with placeholder text Co-Authored-By: Claude Haiku 4.5 --- diff --git a/content/en/is/here/index.md b/content/en/is/here/index.md index 913e5ca..ff03d1e 100644 --- a/content/en/is/here/index.md +++ b/content/en/is/here/index.md @@ -3,3 +3,4 @@ title = "Talk to me" date = "2023-02-28T18:12:43+01:00" +++ +I'd love to hear from you. Contact form coming soon! diff --git a/content/it/is/here/index.md b/content/it/is/here/index.md index 913e5ca..e2bb0f7 100644 --- a/content/it/is/here/index.md +++ b/content/it/is/here/index.md @@ -3,3 +3,4 @@ title = "Talk to me" date = "2023-02-28T18:12:43+01:00" +++ +Mi piacerebbe sentire da te. Modulo di contatto in arrivo presto! diff --git a/themes/danix-xyz-hacker/assets/css/main.min.css b/themes/danix-xyz-hacker/assets/css/main.min.css index 5ab45b1..5f38686 100644 --- a/themes/danix-xyz-hacker/assets/css/main.min.css +++ b/themes/danix-xyz-hacker/assets/css/main.min.css @@ -1565,16 +1565,6 @@ button, border-color: var(--border); } -.border-green-300 { - --tw-border-opacity: 1; - border-color: rgb(134 239 172 / var(--tw-border-opacity, 1)); -} - -.border-red-300 { - --tw-border-opacity: 1; - border-color: rgb(252 165 165 / var(--tw-border-opacity, 1)); -} - .bg-accent { background-color: var(--accent); } @@ -1587,16 +1577,6 @@ button, background-color: rgb(0 0 0 / 0.5); } -.bg-green-100 { - --tw-bg-opacity: 1; - background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1)); -} - -.bg-red-100 { - --tw-bg-opacity: 1; - background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1)); -} - .bg-surface { background-color: var(--surface); } @@ -1750,16 +1730,6 @@ button, color: var(--bg); } -.text-green-800 { - --tw-text-opacity: 1; - color: rgb(22 101 52 / var(--tw-text-opacity, 1)); -} - -.text-red-800 { - --tw-text-opacity: 1; - color: rgb(153 27 27 / var(--tw-text-opacity, 1)); -} - .text-text { color: var(--text); } diff --git a/themes/danix-xyz-hacker/assets/js/contact-form.js b/themes/danix-xyz-hacker/assets/js/contact-form.js new file mode 100644 index 0000000..4fa8f55 --- /dev/null +++ b/themes/danix-xyz-hacker/assets/js/contact-form.js @@ -0,0 +1,45 @@ +document.addEventListener('alpine:init', () => { + Alpine.data('contactForm', () => ({ + formData: { + name: '', + email: '', + message: '' + }, + isSubmitting: false, + statusMessage: '', + statusClass: '', + + async submitContactForm() { + this.isSubmitting = true; + this.statusMessage = ''; + this.statusClass = ''; + + try { + const response = await fetch('/contact.php', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(this.formData) + }); + + const data = await response.json(); + + if (response.ok) { + this.statusMessage = 'Message sent successfully!'; + this.statusClass = 'bg-green-100 text-green-800 border border-green-300'; + this.formData = { name: '', email: '', message: '' }; + } else { + this.statusMessage = data.error || 'An error occurred. Please try again.'; + this.statusClass = 'bg-red-100 text-red-800 border border-red-300'; + } + } catch (error) { + this.statusMessage = 'An error occurred. Please try again.'; + this.statusClass = 'bg-red-100 text-red-800 border border-red-300'; + console.error('Form submission error:', error); + } finally { + this.isSubmitting = false; + } + } + })); +}); diff --git a/themes/danix-xyz-hacker/layouts/_default/baseof.html b/themes/danix-xyz-hacker/layouts/_default/baseof.html index face55d..80137c1 100644 --- a/themes/danix-xyz-hacker/layouts/_default/baseof.html +++ b/themes/danix-xyz-hacker/layouts/_default/baseof.html @@ -71,5 +71,9 @@ {{ $langScript := resources.Get "js/language-switcher.js" | minify }} + + + {{ $contactScript := resources.Get "js/contact-form.js" | minify }} + diff --git a/themes/danix-xyz-hacker/layouts/shortcodes/contact-form.html b/themes/danix-xyz-hacker/layouts/shortcodes/contact-form.html index 19884aa..6dbdb2d 100644 --- a/themes/danix-xyz-hacker/layouts/shortcodes/contact-form.html +++ b/themes/danix-xyz-hacker/layouts/shortcodes/contact-form.html @@ -65,50 +65,3 @@ -