import { useState } from 'react'; import { Link } from 'react-router-dom'; import { usePublicData } from '../lib/usePublic.js'; import { api, dateParts } from '../lib/api.js'; import Modal from '../components/Modal.jsx'; import PastEventCard from '../components/PastEventCard.jsx'; function InscriptionModal({ rencontre, onClose, onDone }) { const [form, setForm] = useState({ nom: '', entreprise: '', email: '', tel: '' }); const [done, setDone] = useState(false); const [error, setError] = useState(''); const { jour, mois } = dateParts(rencontre.date_renc); const onChange = (e) => setForm({ ...form, [e.target.name]: e.target.value }); const submit = async (e) => { e.preventDefault(); setError(''); try { await api.post(`/api/public/rencontres/${rencontre.id}/inscriptions`, form); setDone(true); onDone?.(); } catch (err) { setError(err.message); } }; if (done) { return (
✓

Inscription enregistrée

Votre demande pour {rencontre.titre} est bien enregistrée.

Elle sera confirmée par l'équipe du Club.

); } return (
{error &&

{error}

}

Réservé aux membres à jour de leur adhésion pour la saison en cours.

); } export default function Home() { const { data, reload } = usePublicData(); const [inscrRenc, setInscrRenc] = useState(null); const [homeDone, setHomeDone] = useState(false); const [homeError, setHomeError] = useState(''); const [form, setForm] = useState({ nom: '', fonction: '', entreprise: '', email: '' }); const onChange = (e) => setForm({ ...form, [e.target.name]: e.target.value }); const submitHome = async (e) => { e.preventDefault(); setHomeError(''); try { await api.post('/api/public/demandes-adhesion', form); setHomeDone(true); } catch (err) { setHomeError(err.message); } }; const members = data?.members ?? []; const rencontres = data?.rencontres ?? []; const passees = data?.rencontresPassees ?? []; const content = data?.content ?? {}; const marquee = members.concat(members); return (
{/* HERO */}
Réseau d'affaires · SLUC Nancy Basket

Le business se joue en équipe.

Depuis 30 ans, le Business Club rassemble les dirigeants du Grand Est autour des valeurs du sport de haut niveau : performance, engagement et esprit collectif.

{[[String(members.length), 'entreprises membres'], [String(passees.length), 'rencontres organisées'], ['30 ans', 'de partenariat']].map(([n, l]) => (
{n}
{l}
))}
{content.hero_photo ? ( L'esprit du Club ) : ( photo — networking en tribune VIP )}
« {content.hero_quote_text || 'On ne réussit jamais seul.'} »
{content.hero_quote_author || "L'esprit du Club"}
{/* SLUC LINK */}
Logo SLUC Nancy Basket
Partenaire officiel
SLUC Nancy Basket
Retrouvez l'actualité, le calendrier et la billetterie du club sur son site officiel.
Voir le site ↗
{/* MEMBERS MARQUEE */}
Ils nous font confiance

Nos entreprises membres

Voir l'annuaire complet →
{marquee.map((m, i) => (
{m.logo_path ? : 'logo'}
{m.nom}
{m.secteur}
))}
{/* UPCOMING */}
Agenda

Prochaines rencontres

{rencontres.map((e) => { const { jour, mois } = dateParts(e.date_renc); const restantes = Math.max(0, e.places - e.inscrits); return (
{e.image_path && ( )}
{jour}
{mois}
{e.heure}·{e.lieu}

{e.titre}

{e.description}

{restantes > 0 ? `${restantes} places restantes` : 'Complet'}
); })}
{/* PAST */}
Ils y étaient

Rencontres passées

Voir toutes les rencontres →
{passees.slice(0, 3).map((p) => ( ))}
{/* ADHESION */}
Nous rejoindre

Faites entrer votre entreprise dans le Club.

Rejoignez un réseau de 85 dirigeants, accédez à toutes nos rencontres et bénéficiez d'une visibilité au cœur du SLUC Nancy.

    {['Accès à toutes les rencontres business', 'Places privilégiées aux matchs', "Présence dans l'annuaire des membres"].map((t) => (
  • —{t}
  • ))}
{homeDone ? (
✓

Demande envoyée !

Merci pour votre intérêt. Notre équipe vous recontacte sous 48h.

) : (

Demande d'adhésion

{homeError &&

{homeError}

}
)}
{inscrRenc && ( setInscrRenc(null)} onDone={reload} /> )}
); }