Skip to content

Commit 5e23680

Browse files
committed
feat: fix toggle bugs
1 parent df8e628 commit 5e23680

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

packages/ui/src/pages/hosting/manage/content.vue

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -299,23 +299,27 @@ const deleteMutation = useMutation({
299299
const toggleMutation = useMutation({
300300
mutationFn: async ({ mod, modKey }: { mod: Archon.Content.v0.Mod; modKey: string }) => {
301301
const folder = `${type.value.toLowerCase()}s`
302-
const currentFilename = mod.disabled ? `${mod.filename}.disabled` : mod.filename
303-
const newFilename = mod.disabled ? mod.filename : `${mod.filename}.disabled`
302+
// mod.filename already includes .disabled suffix when disabled
303+
const newFilename = mod.filename.endsWith('.disabled')
304+
? mod.filename.slice(0, -9)
305+
: `${mod.filename}.disabled`
304306
await client.kyros.files_v0.moveFileOrFolder(
305-
`/${folder}/${currentFilename}`,
307+
`/${folder}/${mod.filename}`,
306308
`/${folder}/${newFilename}`,
307309
)
308-
return { newDisabled: !mod.disabled, modKey }
310+
return { newDisabled: !mod.disabled, modKey, newFilename }
309311
},
310-
onSuccess: ({ newDisabled, modKey }) => {
312+
onSuccess: ({ newDisabled, modKey, newFilename }) => {
311313
// Optimistically update the local cache immediately
312314
// Archon may take time to sync after Kyros renames the file
313315
queryClient.setQueryData(
314316
contentQueryKey.value,
315317
(oldData: Archon.Content.v0.Mod[] | undefined) => {
316318
if (!oldData) return oldData
317319
return oldData.map((m) =>
318-
getStableModKey(m) === modKey ? { ...m, disabled: newDisabled } : m,
320+
getStableModKey(m) === modKey
321+
? { ...m, disabled: newDisabled, filename: newFilename }
322+
: m,
319323
)
320324
},
321325
)

0 commit comments

Comments
 (0)