@@ -22,6 +22,14 @@ const props = defineProps<{
2222const chartModal = useModal (' chart-modal' )
2323const hasDistributionModalTransitioned = shallowRef (false )
2424const isDistributionModalOpen = shallowRef (false )
25+ let distributionModalFallbackTimer: ReturnType <typeof setTimeout > | null = null
26+
27+ function clearDistributionModalFallbackTimer() {
28+ if (distributionModalFallbackTimer ) {
29+ clearTimeout (distributionModalFallbackTimer )
30+ distributionModalFallbackTimer = null
31+ }
32+ }
2533
2634async function openDistributionModal() {
2735 isDistributionModalOpen .value = true
@@ -31,7 +39,8 @@ async function openDistributionModal() {
3139 chartModal .open ()
3240
3341 // Fallback: Force mount if transition event doesn't fire
34- setTimeout (() => {
42+ clearDistributionModalFallbackTimer ()
43+ distributionModalFallbackTimer = setTimeout (() => {
3544 if (! hasDistributionModalTransitioned .value ) {
3645 hasDistributionModalTransitioned .value = true
3746 }
@@ -41,10 +50,12 @@ async function openDistributionModal() {
4150function closeDistributionModal() {
4251 isDistributionModalOpen .value = false
4352 hasDistributionModalTransitioned .value = false
53+ clearDistributionModalFallbackTimer ()
4454}
4555
4656function handleDistributionModalTransitioned() {
4757 hasDistributionModalTransitioned .value = true
58+ clearDistributionModalFallbackTimer ()
4859}
4960
5061/** Maximum number of dist-tag rows to show before collapsing into "Other versions" */
0 commit comments