Store backups in server state

This commit is contained in:
Dane Everitt 2020-04-06 22:25:54 -07:00
parent f9878d842c
commit 2eb6ab4d63
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
6 changed files with 75 additions and 23 deletions

View file

@ -9,17 +9,13 @@ import useServer from '@/plugins/useServer';
import createServerBackup from '@/api/server/backups/createServerBackup';
import { httpErrorToHuman } from '@/api/http';
import FlashMessageRender from '@/components/FlashMessageRender';
import { ServerBackup } from '@/api/server/backups/getServerBackups';
import { ServerContext } from '@/state/server';
interface Values {
name: string;
ignored: string;
}
interface Props {
onBackupGenerated: (backup: ServerBackup) => void;
}
const ModalContent = ({ ...props }: RequiredModalProps) => {
const { isSubmitting } = useFormikContext<Values>();
@ -66,20 +62,22 @@ const ModalContent = ({ ...props }: RequiredModalProps) => {
);
};
export default ({ onBackupGenerated }: Props) => {
export default () => {
const { uuid } = useServer();
const { addError, clearFlashes } = useFlash();
const [ visible, setVisible ] = useState(false);
const appendBackup = ServerContext.useStoreActions(actions => actions.backups.appendBackup);
useEffect(() => {
clearFlashes('backups:create');
}, [visible]);
}, [ visible ]);
const submit = ({ name, ignored }: Values, { setSubmitting }: FormikHelpers<Values>) => {
clearFlashes('backups:create')
clearFlashes('backups:create');
createServerBackup(uuid, name, ignored)
.then(backup => {
onBackupGenerated(backup);
appendBackup(backup);
setVisible(false);
})
.catch(error => {