diff --git a/src/components/util/ServerUpdateChecker.tsx b/src/components/util/ServerUpdateChecker.tsx index 06cc3a0c..16ef08af 100644 --- a/src/components/util/ServerUpdateChecker.tsx +++ b/src/components/util/ServerUpdateChecker.tsx @@ -14,6 +14,9 @@ import Button from '@mui/material/Button'; import DialogContentText from '@mui/material/DialogContentText'; import { useState } from 'react'; import { useTranslation } from 'react-i18next'; +import PopupState, { bindMenu, bindTrigger } from 'material-ui-popup-state'; +import Menu from '@mui/material/Menu'; +import MenuItem from '@mui/material/MenuItem'; import { requestManager } from '@/lib/requests/RequestManager.ts'; import { getVersion } from '@/screens/settings/About.tsx'; import { useUpdateChecker } from '@/util/useUpdateChecker.tsx'; @@ -78,22 +81,33 @@ export const ServerUpdateChecker = () => { - - + + {(popupState) => ( + <> + + + { + updateChecker.remindLater(); + popupState.close(); + handleClose(); + }} + > + {t('global.button.remind_later')} + + { + updateChecker.ignoreUpdate(); + popupState.close(); + handleClose(); + }} + > + {t('global.button.ignore')} + + + + )} + diff --git a/src/components/util/WebUIUpdateChecker.tsx b/src/components/util/WebUIUpdateChecker.tsx index 3ef2b5e6..2bfce37e 100644 --- a/src/components/util/WebUIUpdateChecker.tsx +++ b/src/components/util/WebUIUpdateChecker.tsx @@ -15,6 +15,9 @@ import DialogContentText from '@mui/material/DialogContentText'; import DialogActions from '@mui/material/DialogActions'; import Button from '@mui/material/Button'; import Stack from '@mui/material/Stack'; +import PopupState, { bindMenu, bindTrigger } from 'material-ui-popup-state'; +import Menu from '@mui/material/Menu'; +import MenuItem from '@mui/material/MenuItem'; import { defaultPromiseErrorHandler } from '@/util/defaultPromiseErrorHandler.ts'; import { UpdateState, WebUiChannel, WebUiUpdateStatus } from '@/lib/graphql/generated/graphql.ts'; import { useLocalStorage } from '@/util/useStorage.tsx'; @@ -131,24 +134,33 @@ export const WebUIUpdateChecker = () => { {t('global.button.changelog')} - - + + {(popupState) => ( + <> + + + { + updateChecker.remindLater(); + popupState.close(); + setOpen(false); + }} + > + {t('global.button.remind_later')} + + { + updateChecker.ignoreUpdate(); + popupState.close(); + setOpen(false); + }} + > + {t('global.button.ignore')} + + + + )} +