kontakt
This commit is contained in:
49
scripts/contact.js
Normal file
49
scripts/contact.js
Normal file
@@ -0,0 +1,49 @@
|
||||
const form = `
|
||||
<form class="contact-form" id="contact-form">
|
||||
<label for="message">Sporočilo:</label>
|
||||
<textarea id="message" name="message" rows="5" class="page-input" required></textarea>
|
||||
<button type="submit" class="page-btn">Pošlji</button>
|
||||
<p>Vaše sporočilo bo vezano na vaš račun, zato vam bomo lahko odgovorili na e-pošto, ki ste jo vnesli ob registraciji.</p>
|
||||
</form>`;
|
||||
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const contactFormContainer = document.getElementById("contact-form-container");
|
||||
// Najdi cookie "token" v cookies
|
||||
const isLoggedIn = document.cookie.split(";").some(cookie => cookie.trim().startsWith("token="));
|
||||
if (contactFormContainer && isLoggedIn) {
|
||||
contactFormContainer.innerHTML = form;
|
||||
|
||||
document.getElementById("contact-form").addEventListener("submit", (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
const url = "http://localhost:3000/kontakt";
|
||||
const message = document.getElementById("message").value;
|
||||
fetch(url, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json"
|
||||
},
|
||||
body: JSON.stringify({ "token": document.cookie.split(";").find(cookie => cookie.trim().startsWith("token=")).split("=")[1], "message": message })
|
||||
})
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
throw new Error("Network response was not ok");
|
||||
}
|
||||
return response.json();
|
||||
})
|
||||
.then(data => {
|
||||
console.log("Success:", data);
|
||||
document.getElementById("contact-form").innerHTML = `<p class="page-paragraph-success">Hvala za vaše sporočilo! Odgovorili vam bomo v najkrajšem možnem času.</p>`;
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Error:", error);
|
||||
document.getElementById("contact-form").innerHTML = `<p class="page-paragraph-error">Prišlo je do napake pri pošiljanju vašega sporočila. Prosimo, poskusite znova pozneje.</p>`;
|
||||
});
|
||||
|
||||
// TODO: Popravi margin pri success in error textu da ne bo offsetan
|
||||
|
||||
});
|
||||
} else if (contactFormContainer) {
|
||||
contactFormContainer.innerHTML = `<p class="page-paragraph">Za pošiljanje sporočila se morate prijaviti.</p>`;
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user