diff options
Diffstat (limited to 'ui')
| -rw-r--r-- | ui/src/components/VersionsView.svelte | 6 | ||||
| -rw-r--r-- | ui/src/stores/game.svelte.ts | 20 |
2 files changed, 24 insertions, 2 deletions
diff --git a/ui/src/components/VersionsView.svelte b/ui/src/components/VersionsView.svelte index d4d36d5..f1474d9 100644 --- a/ui/src/components/VersionsView.svelte +++ b/ui/src/components/VersionsView.svelte @@ -217,7 +217,10 @@ if (!versionToDelete) return; try { - await invoke("delete_version", { versionId: versionToDelete }); + await invoke("delete_version", { + instanceId: instancesState.activeInstanceId, + versionId: versionToDelete + }); // Clear selection if deleted version was selected if (gameState.selectedVersion === versionToDelete) { gameState.selectedVersion = ""; @@ -253,6 +256,7 @@ isLoadingMetadata = true; try { const metadata = await invoke<VersionMetadata>("get_version_metadata", { + instanceId: instancesState.activeInstanceId, versionId, }); selectedVersionMetadata = metadata; diff --git a/ui/src/stores/game.svelte.ts b/ui/src/stores/game.svelte.ts index 1e4119f..15dcf22 100644 --- a/ui/src/stores/game.svelte.ts +++ b/ui/src/stores/game.svelte.ts @@ -8,13 +8,31 @@ export class GameState { versions = $state<Version[]>([]); selectedVersion = $state(""); + constructor() { + // Refresh versions when active instance changes + $effect(() => { + if (instancesState.activeInstanceId) { + this.loadVersions(); + } else { + this.versions = []; + } + }); + } + get latestRelease() { return this.versions.find((v) => v.type === "release"); } async loadVersions() { + if (!instancesState.activeInstanceId) { + this.versions = []; + return; + } + try { - this.versions = await invoke<Version[]>("get_versions"); + this.versions = await invoke<Version[]>("get_versions", { + instanceId: instancesState.activeInstanceId, + }); // Don't auto-select version here - let BottomBar handle version selection // based on installed versions only } catch (e) { |