fix: admin/fs: delete button was ignoring errors

Massimo Melina committed Feb 3, 2024 at 14:04 UTC cf1d63b66dfcd976d07ee78a40ca1baf4d9c5ec8
1 file changed +8 -3
admin/src/FileForm.ts
+8 -3
@@ -6,8 +6,8 @@ import { Alert, Box, Collapse, FormHelperText, Link, MenuItem, MenuList, useThem
6 import { BoolField, DisplayField, Field, FieldProps, Form, MultiSelectField, SelectField, StringField
7 } from '@hfs/mui-grid-form'
8 import { apiCall, UseApi, useApiEx } from './api'
9 -import { basename, defaultPerms, formatBytes, formatTimestamp, isEqualLax, isWhoObject, newDialog,
10 - objSameKeys, onlyTruthy, prefix, VfsPerms, wantArray, Who, WhoObject, matches } from './misc'
9 +import { basename, defaultPerms, formatBytes, formatTimestamp, isEqualLax, isWhoObject, newDialog, objSameKeys,
10 + onlyTruthy, prefix, VfsPerms, wantArray, Who, WhoObject, matches, HTTP_MESSAGES, xlate } from './misc'
11 import { Btn, IconBtn, LinkBtn, modifiedSx, useBreakpoint, wikiLink } from './mui'
12 import { reloadVfs, VfsNode } from './VfsPage'
13 import md from './md'
@@ -121,7 +121,12 @@ export default function FileForm({ file, addToBar, statusApi }: FileFormProps) {
121 title: "Delete",
122 confirm: "Delete?",
123 disabled: isRoot,
124 - onClick: () => apiCall('del_vfs', { uris: [file.id] }).then(() => reloadVfs([])),
124 + onClick: () => apiCall('del_vfs', { uris: [file.id] }).then(({ errors: [err] }) => {
125 + if (err)
126 + alertDialog(xlate(err, HTTP_MESSAGES), 'error')
127 + else
128 + reloadVfs([])
129 + }),
130 }),
131 ...wantArray(addToBar)
132 ],