Files
parenthese/frontend/src/bootSignal.js
T
IliesAllaliandClaude Opus 5.5 afe4a6a6d1 Le rond qui attend : le symbole du logo devient l'indicateur de chargement
Pendant une attente, le rond se divise en trois points qui respirent,
puis se referme avec un léger rebond quand c'est prêt.

- App : écran de démarrage (BootLoader, visible seulement au-delà de 400 ms,
  au moins 900 ms pour ne pas clignoter), remplace « Chargement de l'arbre
  généalogique... ».
- App : les boutons en attente (Création…, Envoi…, Un instant…) montrent
  trois points à la place du libellé, largeur figée, texte gardé pour les
  lecteurs d'écran (PzBusy).
- Landing : chargement de la démo intégrée.
- Réduire les animations : points sur place, fondu seul.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 12:12:58 +02:00

21 lines
513 B
JavaScript

import { useSyncExternalStore } from 'react'
// App signale ici si l'arbre charge encore ; BootLoader, monté à côté d'App, l'écoute.
let booting = true
const listeners = new Set()
export function setBooting(value) {
if (value === booting) return
booting = value
listeners.forEach((listener) => listener())
}
function subscribe(listener) {
listeners.add(listener)
return () => listeners.delete(listener)
}
export function useBooting() {
return useSyncExternalStore(subscribe, () => booting)
}