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 (

Commandes groupées

É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 ? (

{err}

) : null} {ok ?

{ok}

: null}

Nouveau groupe

Tes groupes

{sorted.length === 0 ? (

Aucun groupe encore.

) : ( )}
) }