diff --git a/app/src/lib/stores/featureFlags.ts b/app/src/lib/stores/featureFlags.ts index dac8f0a..cd461be 100644 --- a/app/src/lib/stores/featureFlags.ts +++ b/app/src/lib/stores/featureFlags.ts @@ -1,17 +1,20 @@ import { api } from '$lib/api'; import { notifications } from '$lib/components/toasts/notifications'; -import { onMount } from 'svelte'; -import { writable } from 'svelte/store'; +import { writable, type Writable } from 'svelte/store'; + +let featureFlagsStore: Writable>; export function useFeatureFlags() { - const featureFlags = writable>({}); - onMount(async () => { - const result = await api.get>('/api/features'); - if (result.isOk()) featureFlags.set(result.inner); - else { - notifications.error('Feature flag could not fetched', 2500); - } - }); + if (!featureFlagsStore) { + featureFlagsStore = writable>({}); - return featureFlags; -} + api.get>('/api/features').then((result) => { + if (result.isOk()) featureFlagsStore.set(result.inner); + else { + notifications.error('Feature flag could not be fetched', 2500); + } + }); + } + + return featureFlagsStore; +} \ No newline at end of file