import { useState } from 'react' import { Link } from 'react-router-dom' import { useGroups } from '../context/GroupsContext.jsx' function formatDate(iso) { try { return new Intl.DateTimeFormat('fr-FR', { dateStyle: 'short', timeStyle: 'short', }).format(new Date(iso)) } catch { return iso || '—' } } export default function GroupesPage() { const { groups, groupTotalEuros, createGroup } = useGroups() const [name, setName] = useState('') const [err, setErr] = useState(null) const [ok, setOk] = useState(null) const sorted = [...groups].sort((a, b) => String(b.createdAt).localeCompare(String(a.createdAt)), ) function handleCreate(e) { e.preventDefault() setErr(null) setOk(null) try { const g = createGroup(name) setName('') setOk(`Groupe « ${g.name} » créé.`) } catch (ex) { setErr(ex?.message || 'Impossible de créer le groupe.') } } return (
Équivalent local de POST /api/groups/:id/orders : tu crées
un groupe, puis chacun ajoute sa « ligne » (montant + message). Stocké
dans librairie-groups-v1.
{err}
) : null} {ok ?{ok}
: null}Aucun groupe encore.
) : ({formatDate(g.createdAt)}
{g.name} {' · '} Pool actuel ~{' '} {groupTotalEuros(g.id).toFixed(2)} €