aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/src/components/VersionsView.svelte6
-rw-r--r--ui/src/stores/game.svelte.ts20
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) {