Testimonianze

Se l'universo di Cripia e le sue creazioni ti hanno emozionato, puoi condividere qui le tue sensazioni.

Ogni sguardo conta e dà vita a questo mondo. Grazie per le tue parole.

I messaggi vengono moderati prima della pubblicazione.


Vi ringraziamo sinceramente per aver dedicato del tempo a condividerle.


--
☆☆☆☆☆
Loading...

Un mot sur l’univers Cripia

Commentaires publiés

Chargement des commentaires...
`; return; } reviewsList.innerHTML = reviews.map(review => `
${escapeHtml(formatName(review.name))} ${review.is_verified ? `Client vérifié` : ``}
${renderStars(review.rating)}
${escapeHtml(formatDate(review.created_at))}
${escapeHtml(review.comment)}
`).join(""); } async function loadReviews() { let query = supabase .from("comments") .select("id, name, rating, comment, created_at, is_verified") .eq("approved", true); if (sortSelect.value === "best") { query = query.order("rating", { ascending: false }).order("created_at", { ascending: false }); } else if (sortSelect.value === "worst") { query = query.order("rating", { ascending: true }).order("created_at", { ascending: false }); } else { query = query.order("created_at", { ascending: false }); } const { data, error } = await query; if (error) { reviewsList.innerHTML = `
${t.loadError}
`; console.error(error); return; } updateSummary(data || []); renderReviews(data || []); } sortSelect.addEventListener("change", loadReviews); reviewForm.addEventListener("submit", async (e) => { e.preventDefault(); formMessage.textContent = ""; formMessage.className = "form-message"; const honeypot = reviewForm.website.value.trim(); const name = reviewForm.name.value.trim(); const rating = Number(reviewForm.rating.value); const comment = reviewForm.comment.value.trim(); const timeSpent = Date.now() - createdAtPageLoad; if (honeypot) { formMessage.textContent = t.blocked; formMessage.classList.add("error"); return; } if (timeSpent