Skip to content

Commit 02e8e77

Browse files
committed
Add test mode
1 parent b4893d0 commit 02e8e77

2 files changed

Lines changed: 50 additions & 46 deletions

File tree

src/views/event/edit.html.twig

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -312,32 +312,34 @@ a <div class="row">
312312

313313
{% if event.is_test_mode %}
314314
<script>
315-
document.getElementById('simulateDonationForm')?.addEventListener('submit', async function(e) {
316-
e.preventDefault();
317-
const pseudo = document.getElementById('sim_pseudo').value;
318-
const amount = Math.round(parseFloat(document.getElementById('sim_amount').value) * 100);
319-
const message = document.getElementById('sim_message').value;
320-
const alertBox = document.getElementById('simulateAlert');
315+
document.addEventListener('DOMContentLoaded', function() {
316+
document.getElementById('simulateDonationForm')?.addEventListener('submit', async function(e) {
317+
e.preventDefault();
318+
const pseudo = document.getElementById('sim_pseudo').value;
319+
const amount = Math.round(parseFloat(document.getElementById('sim_amount').value) * 100);
320+
const message = document.getElementById('sim_message').value;
321+
const alertBox = document.getElementById('simulateAlert');
321322
322-
try {
323-
const resp = await fetch('/widget-event/{{ event.guid }}/simulate', {
324-
method: 'POST',
325-
headers: {'Content-Type': 'application/json'},
326-
body: JSON.stringify({ pseudo, amount, message })
327-
});
328-
const json = await resp.json();
329-
if (resp.ok) {
330-
document.getElementById('testAmountDisplay').textContent = (json.amount / 100).toLocaleString('fr-FR', {minimumFractionDigits: 2}) + '';
331-
alertBox.innerHTML = '<div class="alert alert-success alert-dismissible fade show py-1 px-2 mb-0"><small>✅ Don simulé : ' + pseudo + '' + (amount/100) + ' €</small><button type="button" class="btn-close btn-close-sm" data-bs-dismiss="alert"></button></div>';
332-
alertBox.style.display = 'block';
333-
} else {
334-
alertBox.innerHTML = '<div class="alert alert-danger py-1 px-2 mb-0"><small>❌ ' + (json.error || 'Erreur') + '</small></div>';
323+
try {
324+
const resp = await fetch('/widget-event/{{ event.guid }}/simulate', {
325+
method: 'POST',
326+
headers: {'Content-Type': 'application/json'},
327+
body: JSON.stringify({ pseudo, amount, message })
328+
});
329+
const json = await resp.json();
330+
if (resp.ok) {
331+
document.getElementById('testAmountDisplay').textContent = (json.amount / 100).toLocaleString('fr-FR', {minimumFractionDigits: 2}) + '';
332+
alertBox.innerHTML = '<div class="alert alert-success alert-dismissible fade show py-1 px-2 mb-0"><small>✅ Don simulé : ' + pseudo + '' + (amount/100) + ' €</small><button type="button" class="btn-close btn-close-sm" data-bs-dismiss="alert"></button></div>';
333+
alertBox.style.display = 'block';
334+
} else {
335+
alertBox.innerHTML = '<div class="alert alert-danger py-1 px-2 mb-0"><small>❌ ' + (json.error || 'Erreur') + '</small></div>';
336+
alertBox.style.display = 'block';
337+
}
338+
} catch(err) {
339+
alertBox.innerHTML = '<div class="alert alert-danger py-1 px-2 mb-0"><small>❌ Erreur réseau</small></div>';
335340
alertBox.style.display = 'block';
336341
}
337-
} catch(err) {
338-
alertBox.innerHTML = '<div class="alert alert-danger py-1 px-2 mb-0"><small>❌ Erreur réseau</small></div>';
339-
alertBox.style.display = 'block';
340-
}
342+
});
341343
});
342344
</script>
343345
{% endif %}

src/views/stream/edit.html.twig

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -401,32 +401,34 @@
401401

402402
{% if charityStream.is_test_mode %}
403403
<script>
404-
document.getElementById('simulateDonationForm')?.addEventListener('submit', async function(e) {
405-
e.preventDefault();
406-
const pseudo = document.getElementById('sim_pseudo').value;
407-
const amount = Math.round(parseFloat(document.getElementById('sim_amount').value) * 100);
408-
const message = document.getElementById('sim_message').value;
409-
const alertBox = document.getElementById('simulateAlert');
404+
document.addEventListener('DOMContentLoaded', function() {
405+
document.getElementById('simulateDonationForm')?.addEventListener('submit', async function(e) {
406+
e.preventDefault();
407+
const pseudo = document.getElementById('sim_pseudo').value;
408+
const amount = Math.round(parseFloat(document.getElementById('sim_amount').value) * 100);
409+
const message = document.getElementById('sim_message').value;
410+
const alertBox = document.getElementById('simulateAlert');
410411
411-
try {
412-
const resp = await fetch('/widget-stream/{{ charityStream.guid }}/simulate', {
413-
method: 'POST',
414-
headers: {'Content-Type': 'application/json'},
415-
body: JSON.stringify({ pseudo, amount, message })
416-
});
417-
const json = await resp.json();
418-
if (resp.ok) {
419-
document.getElementById('testAmountDisplay').textContent = (json.amount / 100).toLocaleString('fr-FR', {minimumFractionDigits: 2}) + '';
420-
alertBox.innerHTML = '<div class="alert alert-success alert-dismissible fade show py-1 px-2 mb-0"><small>✅ Don simulé : ' + pseudo + '' + (amount/100) + ' €</small><button type="button" class="btn-close btn-close-sm" data-bs-dismiss="alert"></button></div>';
421-
alertBox.style.display = 'block';
422-
} else {
423-
alertBox.innerHTML = '<div class="alert alert-danger py-1 px-2 mb-0"><small>❌ ' + (json.error || 'Erreur') + '</small></div>';
412+
try {
413+
const resp = await fetch('/widget-stream/{{ charityStream.guid }}/simulate', {
414+
method: 'POST',
415+
headers: {'Content-Type': 'application/json'},
416+
body: JSON.stringify({ pseudo, amount, message })
417+
});
418+
const json = await resp.json();
419+
if (resp.ok) {
420+
document.getElementById('testAmountDisplay').textContent = (json.amount / 100).toLocaleString('fr-FR', {minimumFractionDigits: 2}) + '';
421+
alertBox.innerHTML = '<div class="alert alert-success alert-dismissible fade show py-1 px-2 mb-0"><small>✅ Don simulé : ' + pseudo + '' + (amount/100) + ' €</small><button type="button" class="btn-close btn-close-sm" data-bs-dismiss="alert"></button></div>';
422+
alertBox.style.display = 'block';
423+
} else {
424+
alertBox.innerHTML = '<div class="alert alert-danger py-1 px-2 mb-0"><small>❌ ' + (json.error || 'Erreur') + '</small></div>';
425+
alertBox.style.display = 'block';
426+
}
427+
} catch(err) {
428+
alertBox.innerHTML = '<div class="alert alert-danger py-1 px-2 mb-0"><small>❌ Erreur réseau</small></div>';
424429
alertBox.style.display = 'block';
425430
}
426-
} catch(err) {
427-
alertBox.innerHTML = '<div class="alert alert-danger py-1 px-2 mb-0"><small>❌ Erreur réseau</small></div>';
428-
alertBox.style.display = 'block';
429-
}
431+
});
430432
});
431433
</script>
432434
{% endif %}

0 commit comments

Comments
 (0)