diff --git a/code/websites/pokedex.online/src/views/ChallongeTest.vue b/code/websites/pokedex.online/src/views/ChallongeTest.vue index ded13b0..3cf9850 100644 --- a/code/websites/pokedex.online/src/views/ChallongeTest.vue +++ b/code/websites/pokedex.online/src/views/ChallongeTest.vue @@ -658,27 +658,26 @@ async function changePerPage(newLimit) { async function toggleTournamentDetails(tournamentId) { if (expandedTournamentId.value === tournamentId) { expandedTournamentId.value = null; - tournamentDetails.value = null; + tournamentDetailsState.reset(); return; } expandedTournamentId.value = tournamentId; - tournamentDetails.value = null; - try { + await tournamentDetailsState.execute(async () => { if (apiVersion.value === 'v1') { - const result = await client.value.tournaments.get(tournamentId, { + return await client.value.tournaments.get(tournamentId, { includeParticipants: true, includeMatches: true }); - tournamentDetails.value = result; } else { // v2.1 get tournament - const result = await client.value.tournaments.get(tournamentId); - tournamentDetails.value = result; + return await client.value.tournaments.get(tournamentId); } - } catch (err) { - handleError(err); + }); + + // Reset expanded state if there was an error + if (tournamentDetailsState.error.value) { expandedTournamentId.value = null; } }