Actuellement, le filtrage des jurys sélectionné se fait en rafraichissant les ids jury depuis la blockchain filtré pour ne pas récupérés ceux déjà sélectionnés:
/**
* Récupération des ids jury deja ajouté à la competition et les enlevers de la liste
*/
const getIdsJury = async () => {
try {
await fetchIdsByFilter(tokenId, null, contractsInterface.contracts.Competitions.address, contractsInterface.contracts.Competitions.abi, setIdsCompetition, setIdsJurys);
!idsJury.includes(idJury) ? idsJury.push(idJury) : '';
} catch (e) {
setMinting(false);
setMessage(`Minting in error`)
setSeverity('error')
setOpen(true)
setTimeout(
function () {
setOpen(false)
}, 5000);
}
}
Sachant que c'est un besoin purement d'affichage et que le composant dispose déjà de la liste de jurys qui a été chargée depuis la blockchain et se met à jour automatiquement en cas d'événement d'ajout, ça n'a pas de sens de passer par une nouvelle récupération d'events depuis la blockchain pour ce besoin.
Cette fonction n'est donc pas utile et est à supprimer.
Il vaut mieux utiliser l'état "selectedIdsJury" (cf ticket de bug) pour n'afficher que les jurys n'étant pas dans cette liste dans la partie vue du composant:
Actuellement, le filtrage des jurys sélectionné se fait en rafraichissant les ids jury depuis la blockchain filtré pour ne pas récupérés ceux déjà sélectionnés:
Sachant que c'est un besoin purement d'affichage et que le composant dispose déjà de la liste de jurys qui a été chargée depuis la blockchain et se met à jour automatiquement en cas d'événement d'ajout, ça n'a pas de sens de passer par une nouvelle récupération d'events depuis la blockchain pour ce besoin.
Cette fonction n'est donc pas utile et est à supprimer.
Il vaut mieux utiliser l'état "selectedIdsJury" (cf ticket de bug) pour n'afficher que les jurys n'étant pas dans cette liste dans la partie vue du composant: