(null)
+
+ useEffect(() => {
+ let cancelled = false
+ cardsApi
+ .list()
+ .then((data) => {
+ if (!cancelled) {
+ setCards(
+ data.map((card) => ({
+ id: card.id,
+ question: card.question,
+ theme: card.theme,
+ })),
+ )
+ }
+ })
+ .catch((e: unknown) => {
+ if (!cancelled) {
+ setError(e instanceof ApiClientError ? e.message : 'Impossible de charger les cartes')
+ setCards([])
+ }
+ })
+ return () => {
+ cancelled = true
+ }
+ }, [])
+
+ if (error) {
+ return {error}
+ }
+ if (cards === null) {
+ return Chargement…
+ }
+ if (cards.length === 0) {
+ return Aucune carte pour le moment.
+ }
+
+ return (
+
+ {cards.map((card) => (
+ -
+
+ {card.question}
+
+ {card.theme}
+
+
+
+ ))}
+
+ )
+}