-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
67 lines (57 loc) · 2.35 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
document.addEventListener('DOMContentLoaded', () => {
const form = document.getElementById('feedback-form');
const feedbackList = document.getElementById('feedback-list');
// URL do webhook gerado pelo Apps Script
const webhookUrl = "https://script.google.com/macros/s/AKfycbwZ3ddBE4m61SESUcBUhtcdYGuXx9mQitNaIsgNyDenJBTmMc2U4Bt4VaUQ29qpklUMYg/exec";
// Carregar dados do servidor e exibir na lista
async function carregarFeedbacks() {
try {
const response = await fetch(webhookUrl); // Busca os dados do servidor
const feedbacks = await response.json(); // Supõe que o Apps Script já suporte GET
feedbackList.innerHTML = ""; // Limpa a lista antes de adicionar novos itens
feedbacks.forEach(addFeedbackToList);
} catch (error) {
console.error("Erro ao carregar os feedbacks:", error);
}
}
// Enviar dados do formulário ao servidor
form.addEventListener('submit', async (event) => {
event.preventDefault();
const nomeComercio = document.getElementById('nomeComercio').value.trim();
const descricao = document.getElementById('descricao').value.trim();
if (nomeComercio === "" || descricao === "") {
alert("Por favor, preencha todos os campos.");
return;
}
const feedback = { nomeComercio, descricao };
try {
const response = await fetch(webhookUrl, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(feedback),
});
if (response.ok) {
alert("Informação enviada com sucesso!");
addFeedbackToList(feedback); // Adiciona na lista local
form.reset(); // Limpa o formulário
} else {
alert("Falha ao enviar os dados. Tente novamente mais tarde.");
console.error("Erro no envio:", response.status, response.statusText);
}
} catch (error) {
alert("Erro ao conectar com o servidor.");
console.error("Erro ao conectar:", error);
}
});
// Adicionar um feedback à lista na página
function addFeedbackToList(feedback) {
const li = document.createElement('li');
li.innerHTML = `
<strong>${feedback.nomeComercio}:</strong>
<p>${feedback.descricao}</p>
`;
feedbackList.appendChild(li);
}
// Carregar feedbacks ao iniciar
carregarFeedbacks();
});