feat: 绑定窗口标题到活动数据集元数据,添加销毁时取消订阅功能

This commit is contained in:
Vixalie
2026-03-28 17:55:33 +08:00
parent 3a7b21e3e7
commit ca4c09e55a

View File

@@ -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();
}
});
</script>