fix: admin/config: errors saving were not displayed

Massimo Melina committed Mar 13, 2022 at 19:14 UTC 9994bea92df68c6a8aba3118ae9dba30024b84fc
2 files changed +4 -1
admin/src/ConfigPage.ts
+1
@@ -38,6 +38,7 @@ export default function ConfigPage() {
38 state.config[k] = v
39 },
40 stickyBar: true,
41 + onError: alertDialog,
42 save: {
43 onClick: save,
44 disabled: !Object.keys(changes).length,
admin/src/Form.ts
+3 -1
@@ -31,15 +31,17 @@ interface FormProps {
31 stickyBar?: boolean
32 addToBar?: ReactNode[]
33 barSx?: Dict
34 + onError?: (err: any) => void
35 [rest:string]: any
36 }
36 -export function Form({ fields, values, set, defaults, save, stickyBar, addToBar=[], barSx, formRef, ...rest }: FormProps) {
37 +export function Form({ fields, values, set, defaults, save, stickyBar, addToBar=[], barSx, formRef, onError, ...rest }: FormProps) {
38 const [loading, setLoading] = useStateMounted(false)
39 const onClick = save?.onClick
40 if (onClick)
41 save.onClick = async function (ev) {
42 setLoading(true)
43 try { return await onClick(ev) }
44 + catch(e) { onError?.(e) }
45 finally { setLoading(false) }
46 }
47