diff --git a/custom/languages/en.ini b/custom/languages/en.ini index 6611ceb..d6364a9 100644 --- a/custom/languages/en.ini +++ b/custom/languages/en.ini @@ -106,4 +106,5 @@ email_placeholder = "Your email address" notice = "We send about 12 emails per year. You can unsubscribe whenever you want." submit_button = "Subscribe" success_message = "Check your inbox!" +success_confirm = "Thank you! We've sent you an email. Open the link in the email and confirm to complete your subscription." error_message = "Something went wrong!" diff --git a/custom/languages/no.ini b/custom/languages/no.ini index 0293d7a..aadb626 100644 --- a/custom/languages/no.ini +++ b/custom/languages/no.ini @@ -110,4 +110,5 @@ email_placeholder = "Din e-postadresse" notice = "Vi sender omtrent 12 e-poster i året. Du kan melde deg av når som helst." submit_button = "Meld deg på" success_message = "Sjekk innboksen din!" +success_confirm = "Takk! Vi har sendt en e-post til deg. Åpne lenken i e-posten og bekreft for å fullføre påmeldingen." error_message = "Noe gikk galt!" diff --git a/custom/plugins/page/newsletter-signup.php b/custom/plugins/page/newsletter-signup.php index 6c3cee2..ebd69c3 100644 --- a/custom/plugins/page/newsletter-signup.php +++ b/custom/plugins/page/newsletter-signup.php @@ -43,6 +43,7 @@ function newsletterT(string $key): string { 'notice' => 'Vi sender ca. 12 e-poster i året.', 'submit_button' => 'Meld deg på', 'success_message' => 'Sjekk innboksen din!', + 'success_confirm' => 'Takk! Vi har sendt en e-post til deg. Åpne lenken i e-posten og bekreft for å fullføre påmeldingen.', 'error_message' => 'Noe gikk galt!' ]; return $fallbacks[$key] ?? $key; @@ -121,6 +122,7 @@ function newsletterGetTranslations(): array { 'notice' => htmlspecialchars(newsletterT('notice'), ENT_QUOTES, 'UTF-8'), 'submitButton' => htmlspecialchars(newsletterT('submit_button'), ENT_QUOTES, 'UTF-8'), 'successMessage' => htmlspecialchars(newsletterT('success_message'), ENT_QUOTES, 'UTF-8'), + 'successConfirm' => htmlspecialchars(newsletterT('success_confirm'), ENT_QUOTES, 'UTF-8'), 'errorMessage' => htmlspecialchars(newsletterT('error_message'), ENT_QUOTES, 'UTF-8'), ]; } @@ -160,14 +162,22 @@ function newsletterGetScript(): string { .then(function(data) { btn.classList.remove('is-loading'); if (data.success) { - btn.classList.add('is-success'); - var successTextEl = btn.querySelector('.btn-success-text'); - var successMsg = form.getAttribute('data-success-message'); - if (successTextEl && successMsg) successTextEl.textContent = successMsg; - setTimeout(function() { - btn.classList.remove('is-success'); - btn.disabled = false; - }, 5000); + var confirmMsg = form.getAttribute('data-success-confirm'); + if (confirmMsg) { + var notice = document.createElement('p'); + notice.className = 'newsletter-confirm'; + notice.textContent = confirmMsg; + form.replaceWith(notice); + } else { + btn.classList.add('is-success'); + var successTextEl = btn.querySelector('.btn-success-text'); + var successMsg = form.getAttribute('data-success-message'); + if (successTextEl && successMsg) successTextEl.textContent = successMsg; + setTimeout(function() { + btn.classList.remove('is-success'); + btn.disabled = false; + }, 5000); + } } else { btn.classList.add('is-error'); var errorTextEl = btn.querySelector('.btn-error-text'); @@ -252,18 +262,18 @@ function newsletterRenderSmall(string $introText, string $formId): string { $html = <<

{$escapedIntro}

-
+
- +