27 lines
895 B
JavaScript
27 lines
895 B
JavaScript
import { useEffect, useMemo, useState } from 'react'
|
|
import { getGameWindowApi } from '../services/game'
|
|
import { toGameDates } from '../utils/gameDates'
|
|
|
|
// Dates du jeu-concours pour l'affichage public. Rend immédiatement les dates
|
|
// par défaut (2 → 31 octobre 2026), puis celles fixées par l'admin dès que
|
|
// l'API répond. Rechargées à chaque montage : une date modifiée dans le
|
|
// tableau de bord apparaît dès le retour sur la page.
|
|
export default function useGameDates() {
|
|
const [gameWindow, setGameWindow] = useState(null)
|
|
|
|
useEffect(() => {
|
|
let active = true
|
|
getGameWindowApi()
|
|
.then((data) => {
|
|
if (active) setGameWindow(data)
|
|
})
|
|
// API injoignable : les dates par défaut restent affichées.
|
|
.catch(() => {})
|
|
return () => {
|
|
active = false
|
|
}
|
|
}, [])
|
|
|
|
return useMemo(() => toGameDates(gameWindow), [gameWindow])
|
|
}
|