Skip to content

Commit 4d95086

Browse files
claudeenko
authored andcommitted
fix(frontend): Fix $effect cleanup pattern in LanguageSwitcher
Use early return for SSR check to ensure cleanup function is always returned when event listeners are registered, preventing potential memory leaks.
1 parent 8e48f61 commit 4d95086

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

apps/frontend/src/lib/components/LanguageSwitcher.svelte

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ function handleKeyDown(event: KeyboardEvent) {
4040
}
4141
4242
$effect(() => {
43-
if (typeof document !== 'undefined') {
44-
document.addEventListener('click', handleClickOutside);
45-
document.addEventListener('keydown', handleKeyDown);
43+
if (typeof document === 'undefined') return;
4644
47-
return () => {
48-
document.removeEventListener('click', handleClickOutside);
49-
document.removeEventListener('keydown', handleKeyDown);
50-
};
51-
}
45+
document.addEventListener('click', handleClickOutside);
46+
document.addEventListener('keydown', handleKeyDown);
47+
48+
return () => {
49+
document.removeEventListener('click', handleClickOutside);
50+
document.removeEventListener('keydown', handleKeyDown);
51+
};
5252
});
5353
</script>
5454

0 commit comments

Comments
 (0)