aboutsummaryrefslogtreecommitdiff
path: root/src/common/components/TermsDialog.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/components/TermsDialog.jsx')
-rw-r--r--src/common/components/TermsDialog.jsx36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/common/components/TermsDialog.jsx b/src/common/components/TermsDialog.jsx
new file mode 100644
index 00000000..2ac74f2e
--- /dev/null
+++ b/src/common/components/TermsDialog.jsx
@@ -0,0 +1,36 @@
+import React from 'react';
+import { useSelector } from 'react-redux';
+import {
+ Button, Dialog, DialogActions, DialogContent, DialogContentText, Link,
+} from '@mui/material';
+import { useTranslation } from './LocalizationProvider';
+
+const TermsDialog = ({ open, onCancel, onAccept }) => {
+ const t = useTranslation();
+
+ const termsUrl = useSelector((state) => state.session.server.attributes.termsUrl);
+ const privacyUrl = useSelector((state) => state.session.server.attributes.privacyUrl);
+
+ return (
+ <Dialog
+ open={open}
+ onClose={onCancel}
+ >
+ <DialogContent>
+ <DialogContentText>
+ {t('userTermsPrompt')}
+ <ul>
+ <li><Link href={termsUrl} target="_blank">{t('userTerms')}</Link></li>
+ <li><Link href={privacyUrl} target="_blank">{t('userPrivacy')}</Link></li>
+ </ul>
+ </DialogContentText>
+ </DialogContent>
+ <DialogActions>
+ <Button onClick={onCancel}>{t('sharedCancel')}</Button>
+ <Button onClick={onAccept}>{t('sharedAccept')}</Button>
+ </DialogActions>
+ </Dialog>
+ );
+};
+
+export default TermsDialog;