diff --git a/src/components/Pie.svelte b/src/components/Pie.svelte index afef815..71f88a6 100644 --- a/src/components/Pie.svelte +++ b/src/components/Pie.svelte @@ -127,14 +127,26 @@ }); } - $: { - if (chartInstance && hoveredPubkey !== null) { - const index = data.findIndex((item) => item.pubkey === hoveredPubkey); - if (index !== -1) { - chartInstance.toggleDataPointSelection(index); + let prehoverdPubkey: string | null = null; + + $: if (chartInstance) { + if (hoveredPubkey !== null) { + selectSlice(hoveredPubkey); + prehoverdPubkey = hoveredPubkey; + } else { + if (prehoverdPubkey) { + selectSlice(prehoverdPubkey); + prehoverdPubkey = null; } } } + + function selectSlice(pubkey: string) { + const index = data.findIndex((item) => item.pubkey === pubkey); + if (index !== -1) { + chartInstance.toggleDataPointSelection(index); + } + }