diff --git a/src/frontend/src/lib/components/assets/Assets.svelte b/src/frontend/src/lib/components/assets/Assets.svelte index e9172ba3c..ff25e59d7 100644 --- a/src/frontend/src/lib/components/assets/Assets.svelte +++ b/src/frontend/src/lib/components/assets/Assets.svelte @@ -22,7 +22,7 @@ import { emit } from '$lib/utils/events.utils'; import { i18nFormat } from '$lib/utils/i18n.utils'; - const { store }: RulesContext = getContext(RULES_CONTEXT_KEY); + const { store, hasAnyRules }: RulesContext = getContext(RULES_CONTEXT_KEY); let collection: string | undefined = $state(); run(() => { @@ -45,8 +45,6 @@ const { store: assetsStore, resetData }: DataContext = getContext>(DATA_CONTEXT_KEY); - let emptyCollection = $derived($store.rules?.length === 0); - const load = async () => { resetPage(); resetData(); @@ -123,7 +121,7 @@ -{#if !emptyCollection} +{#if $hasAnyRules}
(RULES_CONTEXT_KEY); + const { store, hasAnyRules }: RulesContext = getContext(RULES_CONTEXT_KEY); let collection: string | undefined = $state(); run(() => { @@ -43,8 +43,6 @@ const { store: docsStore, resetData }: DataContext = getContext>(DATA_CONTEXT_KEY); - let emptyCollection = $derived($store.rules?.length === 0); - const load = async () => { resetPage(); resetData(); @@ -121,7 +119,7 @@
-{#if !emptyCollection} +{#if $hasAnyRules}
(rules?.length ?? 0) > 0); + return { store, reload: reloadRules, - init: initRules + init: initRules, + hasAnyRules }; }; diff --git a/src/frontend/src/lib/types/rules.context.ts b/src/frontend/src/lib/types/rules.context.ts index 393b4c537..23f42a864 100644 --- a/src/frontend/src/lib/types/rules.context.ts +++ b/src/frontend/src/lib/types/rules.context.ts @@ -1,7 +1,7 @@ import type { Rule } from '$declarations/satellite/satellite.did'; import type { OptionIdentity } from '$lib/types/itentity'; import type { Principal } from '@dfinity/principal'; -import type { Writable } from 'svelte/store'; +import type { Readable, Writable } from 'svelte/store'; export interface RulesData { satelliteId: Principal; @@ -11,8 +11,11 @@ export interface RulesData { export interface RulesContext { store: Writable; + reload: (params: { identity: OptionIdentity }) => Promise; init: (params: { satelliteId: Principal; identity: OptionIdentity }) => Promise; + + hasAnyRules: Readable; } export const RULES_CONTEXT_KEY = Symbol('rules');