diff --git a/src/components/FullscreenImagePreview.vue b/src/components/FullscreenImagePreview.vue
index 9e225b12..67718c2f 100644
--- a/src/components/FullscreenImagePreview.vue
+++ b/src/components/FullscreenImagePreview.vue
@@ -97,7 +97,8 @@
diff --git a/src/components/nav-menu/composables/useNavLayout.js b/src/components/nav-menu/composables/useNavLayout.js
index 566ae263..1413f653 100644
--- a/src/components/nav-menu/composables/useNavLayout.js
+++ b/src/components/nav-menu/composables/useNavLayout.js
@@ -1,4 +1,5 @@
-import { computed, onMounted, onUnmounted, ref, watch } from 'vue';
+import { useEventListener } from '@vueuse/core';
+import { computed, ref, watch } from 'vue';
import configRepository from '../../../services/config';
import {
@@ -312,25 +313,11 @@ export function useNavLayout({
await loadNavMenuConfig();
};
- onMounted(() => {
- if (typeof window === 'undefined') {
- return;
- }
- window.addEventListener(
- NAV_LAYOUT_UPDATED_EVENT,
- handleExternalNavLayoutUpdate
- );
- });
-
- onUnmounted(() => {
- if (typeof window === 'undefined') {
- return;
- }
- window.removeEventListener(
- NAV_LAYOUT_UPDATED_EVENT,
- handleExternalNavLayoutUpdate
- );
- });
+ useEventListener(
+ typeof window !== 'undefined' ? window : undefined,
+ NAV_LAYOUT_UPDATED_EVENT,
+ handleExternalNavLayoutUpdate
+ );
return {
navLayout,
diff --git a/src/composables/useToolNavPinning.js b/src/composables/useToolNavPinning.js
index ee3890fa..d140d72d 100644
--- a/src/composables/useToolNavPinning.js
+++ b/src/composables/useToolNavPinning.js
@@ -1,4 +1,5 @@
-import { computed, onMounted, onUnmounted, ref } from 'vue';
+import { useEventListener } from '@vueuse/core';
+import { computed, ref } from 'vue';
import { useI18n } from 'vue-i18n';
import { toast } from 'vue-sonner';
@@ -243,22 +244,11 @@ export function useToolNavPinning() {
dispatchNavLayoutUpdated();
};
- onMounted(() => {
- if (typeof window === 'undefined') {
- return;
- }
- window.addEventListener(NAV_LAYOUT_UPDATED_EVENT, refreshPinnedState);
- });
-
- onUnmounted(() => {
- if (typeof window === 'undefined') {
- return;
- }
- window.removeEventListener(
- NAV_LAYOUT_UPDATED_EVENT,
- refreshPinnedState
- );
- });
+ useEventListener(
+ typeof window !== 'undefined' ? window : undefined,
+ NAV_LAYOUT_UPDATED_EVENT,
+ refreshPinnedState
+ );
return {
pinnedToolKeys: computed(() => pinnedToolKeysRef.value),
diff --git a/src/views/Charts/components/MutualFriends.vue b/src/views/Charts/components/MutualFriends.vue
index ab9e3f9f..47b40533 100644
--- a/src/views/Charts/components/MutualFriends.vue
+++ b/src/views/Charts/components/MutualFriends.vue
@@ -244,6 +244,7 @@