chore: Add delay for playground toggle

This commit is contained in:
Sidharth Vinod
2025-03-13 09:22:30 -07:00
parent 91331bda7e
commit 62f60867f2
2 changed files with 11 additions and 9 deletions

View File

@@ -104,12 +104,15 @@
checked={isReferral}
onclick={() => {
logEvent('playgroundToggle', { isReferred: isReferral });
window.open(
`${MCBaseURL}/play#${$stateStore.serialized}`,
'_self',
// Do not send referrer header, if the user already came from playground
isReferral ? 'noreferrer' : ''
);
// Wait for the event to be logged
setTimeout(() => {
window.open(
`${MCBaseURL}/play#${$stateStore.serialized}`,
'_self',
// Do not send referrer header, if the user already came from playground
isReferral ? 'noreferrer' : ''
);
}, 100);
}} />
<a href="{MCBaseURL}/play#{$stateStore.serialized}">Playground</a>
{/if}

View File

@@ -103,8 +103,7 @@ export const logEvent = (
return;
}
const key = data ? JSON.stringify({ name, data }) : name;
const delay = delaysPerEvent[name];
if (timeouts.has(key) && delay > 0) {
if (timeouts.has(key)) {
clearTimeout(timeouts.get(key));
} else {
plausible.trackEvent(
@@ -115,6 +114,6 @@ export const logEvent = (
}
timeouts.set(
key,
window.setTimeout(() => timeouts.delete(key), delay)
window.setTimeout(() => timeouts.delete(key), delaysPerEvent[name])
);
};