33 lines
1.9 KiB
HTML
33 lines
1.9 KiB
HTML
<nav class="nav"><div class="inner">
|
|
<img src="/assets/img/logo.svg" width="22" height="22" alt="logo"/>
|
|
<div class="brand"><span class="badge">P24P</span><span class="title">Padel24Play</span></div>
|
|
<a href="/">Accueil</a><a href="/events.html">Événements</a><a href="/admin.html">Admin</a>
|
|
<div class="spacer"></div><a href="/reglement.html">Règlement</a></div></nav>
|
|
|
|
<main class="container">
|
|
<h1>📝 Inscription</h1>
|
|
<div class="card">
|
|
<form id="form" class="grid grid-2">
|
|
<div><label>Nom complet</label><input name="name" required/></div>
|
|
<div><label>Email</label><input name="email" type="email" required/></div>
|
|
<div><label>Téléphone</label><input name="phone" required/></div>
|
|
<div><label>Niveau</label><select name="level"><option>Débutant</option><option>Intermédiaire</option><option>Avancé</option></select></div>
|
|
<div><label>Paiement</label><select name="payment"><option value="card">Stripe</option><option value="paypal">PayPal</option><option value="onspot">Sur place</option></select></div>
|
|
<div><button class="btn">Valider</button></div>
|
|
</form>
|
|
<p id="msg" class="notice"></p>
|
|
</div>
|
|
</main>
|
|
<script src="/assets/js/app.js"></script>
|
|
<script>
|
|
const params = new URLSearchParams(location.search); const eventId = params.get('eventId')||'ss-futur-1';
|
|
document.getElementById('form').addEventListener('submit', async (e)=>{
|
|
e.preventDefault();
|
|
const f = new FormData(e.target);
|
|
const reg = { eventId, player:{ name:f.get('name'), email:f.get('email'), phone:f.get('phone'), level:f.get('level') }, payment:f.get('payment') };
|
|
const created = await fetch('/api/registrations', { method:'POST', headers:{'content-type':'application/json'}, body: JSON.stringify(reg) }).then(r=>r.json());
|
|
document.getElementById('msg').innerHTML = "Inscription créée ✔️ — "+
|
|
"<a class='btn' href='/api/ical/"+created.id+"'>Télécharger iCal</a>";
|
|
});
|
|
</script>
|