Skip to content

Commit fbcd792

Browse files
committed
Fix updates dialog resetting selection if an update check happens while it is open
1 parent dbb5bc0 commit fbcd792

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

frontend/src/lib/components/modals/updates/UpdatesModal.svelte

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@
7373
async function updateSelected() {
7474
if($selectedUpdates.length > 0) {
7575
try {
76-
await UpdateMods($selectedUpdates.map((u) => u.item));
77-
$updates = $updates.filter((u) => !$selectedUpdates.includes(u));
76+
await UpdateMods($selectedUpdates);
77+
$updates = $updates.filter((u) => !$selectedUpdates.includes(u.item));
7878
} catch(e) {
7979
if (e instanceof Error) {
8080
$error = e.message;
@@ -88,10 +88,10 @@
8888
}
8989
9090
function toggleSelected(update: ficsitcli.Update) {
91-
if($selectedUpdates.includes(update)) {
92-
$selectedUpdates = $selectedUpdates.filter((u) => u !== update);
91+
if($selectedUpdates.includes(update.item)) {
92+
$selectedUpdates = $selectedUpdates.filter((u) => u !== update.item);
9393
} else {
94-
$selectedUpdates = [...$selectedUpdates, update];
94+
$selectedUpdates = [...$selectedUpdates, update.item];
9595
}
9696
}
9797
@@ -103,7 +103,7 @@
103103
function toggleIgnoreUpdate(update: ficsitcli.Update) {
104104
if($unignoredUpdates.includes(update)) {
105105
SetUpdateIgnore(update.item, update.newVersion);
106-
$selectedUpdates = $selectedUpdates.filter((u) => u !== update);
106+
$selectedUpdates = $selectedUpdates.filter((u) => u !== update.item);
107107
} else {
108108
SetUpdateUnignore(update.item, update.newVersion);
109109
}
@@ -122,9 +122,9 @@
122122
</header>
123123
<section class="px-4 py-1 space-y-2 flex-auto overflow-y-auto">
124124
{#each updatesToDisplay as update}
125-
<button class="btn p-2 grid grid-cols-12 {$selectedUpdates.includes(update) ? '!outline !outline-2 !outline-primary-500 bg-surface-400-500-token' : ''}" on:click={() => toggleSelected(update)}>
125+
<button class="btn p-2 grid grid-cols-12 {$selectedUpdates.includes(update.item) ? '!outline !outline-2 !outline-primary-500 bg-surface-400-500-token' : ''}" on:click={() => toggleSelected(update)}>
126126
<div>
127-
{#if $selectedUpdates.includes(update)}
127+
{#if $selectedUpdates.includes(update.item)}
128128
<SvgIcon class="h-full w-8 mx-auto" icon={mdiDownload} />
129129
{/if}
130130
</div>

frontend/src/lib/components/modals/updates/updatesStore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ import { writable } from 'svelte/store';
33
import type { ficsitcli } from '$wailsjs/go/models';
44

55
// Because skeleton only ever keeps one modal loaded, we want to store this state between modals
6-
export const selectedUpdates = writable<ficsitcli.Update[]>([]);
6+
export const selectedUpdates = writable<string[]>([]);
77
export const showIgnored = writable(false);

0 commit comments

Comments
 (0)