diff --git a/src/routes/dataset/+page.svelte b/src/routes/dataset/+page.svelte index 82fa159..2b9ed5a 100644 --- a/src/routes/dataset/+page.svelte +++ b/src/routes/dataset/+page.svelte @@ -3,13 +3,28 @@ import { afterNavigate } from '$app/navigation'; import { activeDatasetMeta } from '$lib/stores/dataset'; import { currentActivate } from '$lib/stores/navigate'; import { invoke } from '@tauri-apps/api/core'; -import { get } from 'svelte/store'; +import { onDestroy } from 'svelte'; +import { type Unsubscriber } from 'svelte/store'; import DatasetInfoForm from './DatasetInfoForm.svelte'; +let unsubscribeMeta: Unsubscriber | null = null; + +function bindWindowTitleToMeta() { + unsubscribeMeta = activeDatasetMeta.subscribe((meta) => { + void invoke('set_window_title', { title: meta?.name ?? '' }); + }); +} + +bindWindowTitleToMeta(); + afterNavigate(() => { currentActivate.set('dataset'); +}); - invoke('set_window_title', { title: get(activeDatasetMeta)?.name }); +onDestroy(() => { + if (unsubscribeMeta) { + unsubscribeMeta(); + } });