diff --git a/web/source/settings/admin/actions.js b/web/source/settings/admin/actions.js index 66caa1794..7bbdf548c 100644 --- a/web/source/settings/admin/actions.js +++ b/web/source/settings/admin/actions.js @@ -19,42 +19,43 @@ "use strict"; const React = require("react"); -const Redux = require("react-redux"); -const Submit = require("../components/submit"); +const query = require("../lib/query"); -const api = require("../lib/api"); -const submit = require("../lib/submit"); +const { useTextInput } = require("../lib/form"); +const { TextInput } = require("../components/form/inputs"); + +const MutationButton = require("../components/form/mutation-button"); module.exports = function AdminActionPanel() { - const dispatch = Redux.useDispatch(); + const daysField = useTextInput("days", {defaultValue: 30}); - const [days, setDays] = React.useState(30); + const [mediaCleanup, mediaCleanupResult] = query.useMediaCleanupMutation(); - const [errorMsg, setError] = React.useState(""); - const [statusMsg, setStatus] = React.useState(""); - - const removeMedia = submit( - () => dispatch(api.admin.mediaCleanup(days)), - {setStatus, setError} - ); + function submitMediaCleanup(e) { + e.preventDefault(); + mediaCleanup(daysField.value); + } return ( <>