|
@@ -1,4 +1,6 @@
|
|
|
-<?php ?>
|
|
|
|
|
|
|
+<?php
|
|
|
|
|
+
|
|
|
|
|
+?>
|
|
|
|
|
|
|
|
<style>
|
|
<style>
|
|
|
.tsu-newsletter-block-input-custom-class {
|
|
.tsu-newsletter-block-input-custom-class {
|
|
@@ -21,45 +23,113 @@
|
|
|
font-size: small;
|
|
font-size: small;
|
|
|
color: grey;
|
|
color: grey;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ .newsletter-success {
|
|
|
|
|
+ font-size: 75%;
|
|
|
|
|
+ color: green;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .newsletter-error {
|
|
|
|
|
+ font-size: 75%;
|
|
|
|
|
+ color: red;
|
|
|
|
|
+ }
|
|
|
</style>
|
|
</style>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
- function saveEmail(event) {
|
|
|
|
|
- console.log(event);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ document.addEventListener('DOMContentLoaded', function () {
|
|
|
|
|
+ var submitNewsletterForm = document.getElementById('submit-newsletter-form');
|
|
|
|
|
+
|
|
|
|
|
+ if (submitNewsletterForm) {
|
|
|
|
|
+ submitNewsletterForm.addEventListener('click', function (e) {
|
|
|
|
|
+ e.preventDefault();
|
|
|
|
|
+
|
|
|
|
|
+ submitForm();
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ function validateEmail(email) {
|
|
|
|
|
+ var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
|
|
|
+
|
|
|
|
|
+ return emailRegex.test(email);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function submitForm() {
|
|
|
|
|
+ var email = document.getElementById('email').value;
|
|
|
|
|
+
|
|
|
|
|
+ if (validateEmail(email)) {
|
|
|
|
|
+ // ok
|
|
|
|
|
+
|
|
|
|
|
+ var data = {
|
|
|
|
|
+ "email": email
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ var dataToSend = JSON.stringify(data);
|
|
|
|
|
+
|
|
|
|
|
+ var xhr = new XMLHttpRequest();
|
|
|
|
|
+
|
|
|
|
|
+ xhr.addEventListener('load', function () {
|
|
|
|
|
+ //tutaj możemy też sprawdzać inne statusy - np. 404, 500
|
|
|
|
|
+
|
|
|
|
|
+ var parent = document.getElementById('messages');
|
|
|
|
|
+ parent.innerHTML = '';
|
|
|
|
|
+ var newElement = document.createElement('span');
|
|
|
|
|
+
|
|
|
|
|
+ if (xhr.status === 201) {
|
|
|
|
|
+ newElement.id = 'newsletter-success';
|
|
|
|
|
+ newElement.className = 'newsletter-success';
|
|
|
|
|
+ var responseJson = JSON.parse(xhr.response);
|
|
|
|
|
+ newElement.textContent = responseJson.message;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (xhr.status === 400) {
|
|
|
|
|
+ newElement.id = 'newsletter-error';
|
|
|
|
|
+ newElement.className = 'newsletter-error';
|
|
|
|
|
+ var responseJson = JSON.parse(xhr.response);
|
|
|
|
|
+ newElement.textContent = responseJson.message;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ parent.appendChild(newElement);
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ xhr.addEventListener("error", () => {
|
|
|
|
|
+ console.log('<?php _e('Nie udało się nawiązać połączenia.', 'aiac'); ?>');
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ xhr.open('POST', 'https://tosieuda.org/wp-json/tsu/v1/newsletter/add_email', true);
|
|
|
|
|
+ xhr.setRequestHeader("Content-Type", "application/json");
|
|
|
|
|
+ xhr.send(dataToSend);
|
|
|
|
|
+
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // stop - walidacja
|
|
|
|
|
+ var parent = document.getElementById('messages');
|
|
|
|
|
+ parent.innerHTML = '';
|
|
|
|
|
+ var newElement = document.createElement('span');
|
|
|
|
|
+ newElement.id = 'newsletter-error';
|
|
|
|
|
+ newElement.className = 'newsletter-error';
|
|
|
|
|
+ // newElement.textContent = 'Wprowadź poprawny adres e-mail.';
|
|
|
|
|
+ newElement.textContent = '<?php _e('Wprowadź poprawny adres e-mail.', 'aiac'); ?>';
|
|
|
|
|
+ parent.appendChild(newElement);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
-<div class="wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained"
|
|
|
|
|
- style="margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--70)">
|
|
|
|
|
- <div
|
|
|
|
|
- class="wp-block-columns alignwide is-layout-flex wp-container-core-columns-layout-15 wp-block-columns-is-layout-flex">
|
|
|
|
|
- <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
|
|
|
|
|
- <p class="has-x-large-font-size" style="line-height:0">
|
|
|
|
|
- Newsletter
|
|
|
|
|
- </p>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
|
|
|
|
|
+ <div id="messages">
|
|
|
|
|
|
|
|
- <div class="wp-block-columns alignwide is-layout-flex wp-container-core-columns-layout-16 wp-block-columns-is-layout-flex"
|
|
|
|
|
- style="margin-top:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30)">
|
|
|
|
|
- <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
|
|
|
|
|
- <p>
|
|
|
|
|
- Zapisz się do naszego newslettera i otrzymuj aktualności dotyczące realizowanych przez nas projektów.
|
|
|
|
|
- </p>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
|
|
|
|
|
- <form class="is-layout-flex tsu-newsletter-block-layout-right-wrapper">
|
|
|
|
|
- <input type="text" class="tsu-newsletter-block-input-custom-class" placeholder="Adres e-mail..."
|
|
|
|
|
- style="flex-grow: 3">
|
|
|
|
|
- <div class="wp-block-buttons wp-block-buttons-is-layout-flex" style="flex-grow: 1">
|
|
|
|
|
- <div class="wp-block-button has-custom-font-size has-small-font-size">
|
|
|
|
|
- <a class="wp-block-button__link wp-element-button" style="border-radius:12px">
|
|
|
|
|
- → ZAPISUJĘ SIĘ
|
|
|
|
|
- </a>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </form>
|
|
|
|
|
- </div>
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <form id="newsletter-form" class="is-layout-flex tsu-newsletter-block-layout-right-wrapper">
|
|
|
|
|
+ <input id="email" name="email" type="email" class="tsu-newsletter-block-input-custom-class"
|
|
|
|
|
+ placeholder="<?php _e('Adres e-mail...', 'aiac'); ?>" style="flex-grow: 3" required>
|
|
|
|
|
+ <div class="wp-block-buttons wp-block-buttons-is-layout-flex" style="flex-grow: 1">
|
|
|
|
|
+ <div class="wp-block-button has-custom-font-size has-small-font-size">
|
|
|
|
|
+ <a href="#" id="submit-newsletter-form" class="wp-block-button__link wp-element-button"
|
|
|
|
|
+ style="border-radius:12px">
|
|
|
|
|
+ → <?php _e('ZAPISUJĘ SIĘ', 'aiac'); ?>
|
|
|
|
|
+ </a>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </form>
|
|
|
</div>
|
|
</div>
|