diff --git a/webui/src/states/Root/pages/Overview/components/Server/components/ServerMenu/dialogs/MigrateVersionDialog.jsx b/webui/src/states/Root/pages/Overview/components/Server/components/ServerMenu/dialogs/MigrateVersionDialog.jsx new file mode 100644 index 0000000..224b228 --- /dev/null +++ b/webui/src/states/Root/pages/Overview/components/Server/components/ServerMenu/dialogs/MigrateVersionDialog.jsx @@ -0,0 +1,74 @@ +import { + Alert, + Button, + Dialog, + DialogActions, + DialogContent, + DialogTitle, MenuItem, + Select, + Stack +} from "@mui/material"; +import {t} from "i18next"; +import {patchRequest} from "@/common/utils/RequestUtil.js"; +import {useContext, useState} from "react"; +import {ServerContext} from "@/common/contexts/Server"; +import SpigotImage from "@/common/assets/software/spigot.webp"; +import PaperImage from "@/common/assets/software/paper.webp"; +import PurpurImage from "@/common/assets/software/purpur.webp"; + +export default ({open, setOpen, uuid, setAlert, currentSoftware, currentVersion}) => { + + const {updateServer} = useContext(ServerContext); + + const [serverSoftware, setServerSoftware] = useState(currentSoftware); + const [serverVersion, setServerVersion] = useState(currentVersion); + + const migrateVersion = async () => { + setOpen(false); + await patchRequest("server/", {uuid, type: serverSoftware, version: serverVersion}); + updateServer(); + setAlert({severity: "success", message: t("server.dialog.migrate.success")}); + } + + return ( + setOpen(false)}> + {t("server.dialog.migrate.title")} + + {t("server.dialog.migrate.warning")} + + + + + + + + + + + + ); +} \ No newline at end of file