mirror of
https://github.com/IliesAllali/parenthese.git
synced 2026-11-15 16:32:03 +00:00
Les modifications en cours d'une fiche ne sont plus perdues quand on change de personne, ferme la fiche, sort du mode modification, ouvre un souvenir, ajoute une personne ou envoie les contributions. - La fiche enregistre par le même chemin que « Enregistrer » (onSave), pour la personne quittée. Un échec ou une validation la garde ouverte avec le message d'erreur. - Invité en contribution : les changements vont dans le brouillon, puis partent avec « Envoyer ». - Un petit message confirme l'enregistrement. Rien n'est enregistré quand rien n'a changé, ni en démo. - Un second enregistrement pendant l'envoi reçoit la même promesse (utils/saveOnLeave.js), sans double appel. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
9 lines
443 B
JavaScript
9 lines
443 B
JavaScript
// Enregistrement d'une fiche en modification, partagé par le bouton « Enregistrer » et le départ de la fiche.
|
|
// Un appel pendant un enregistrement reçoit la même promesse : pas de double envoi.
|
|
export function runOnce(inFlightRef, run) {
|
|
if (inFlightRef.current) return inFlightRef.current
|
|
const promise = Promise.resolve().then(run).finally(() => { inFlightRef.current = null })
|
|
inFlightRef.current = promise
|
|
return promise
|
|
}
|