stuff
parent
205c484623
commit
0f9b0c7b18
@ -1,61 +1,62 @@
|
|||||||
|
/**
|
||||||
|
* @fileOverview The impressum/privacy policy
|
||||||
|
*/
|
||||||
import { faShield } from '@fortawesome/free-solid-svg-icons';
|
import { faShield } from '@fortawesome/free-solid-svg-icons';
|
||||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
||||||
import * as React from 'react'
|
import * as React from 'react'
|
||||||
|
|
||||||
function PrivacyPolicyPopup ({handleClose}) {
|
/** Pop-up that is displayed when opening the privacy policy.
|
||||||
|
*
|
||||||
|
* `handleClose` is the function to close it again because it's open/closed state is
|
||||||
|
* controlled by the containing element.
|
||||||
|
*/
|
||||||
|
function PrivacyPolicyPopup (handleClose) {
|
||||||
return <div className="modal-wrapper">
|
return <div className="modal-wrapper">
|
||||||
<div className="modal-backdrop" onClick={handleClose} />
|
<div className="modal-backdrop" onClick={handleClose} />
|
||||||
<div className="modal">
|
<div className="modal">
|
||||||
<div className="codicon codicon-close modal-close" onClick={handleClose}></div>
|
<div className="codicon codicon-close modal-close" onClick={handleClose}></div>
|
||||||
<h2>Privacy Policy & Impressum</h2>
|
<h2>Privacy Policy & Impressum</h2>
|
||||||
|
<p>
|
||||||
<p>Our server collects metadata (such as IP address, browser, operating system)
|
Our server collects metadata (such as IP address, browser, operating system)
|
||||||
and the data that the user enters into the editor. The data is used to
|
and the data that the user enters into the editor. The data is used to
|
||||||
compute the Lean output and display it to the user. The information will be stored
|
compute the Lean output and display it to the user. The information will be stored
|
||||||
as long as the user stays on our website and will be deleted immediately afterwards.
|
as long as the user stays on our website and will be deleted immediately afterwards.
|
||||||
We keep logs to improve our software, but the contained data is anonymized.</p>
|
We keep logs to improve our software, but the contained data is anonymized.
|
||||||
|
</p>
|
||||||
<p>We do not use cookies, but your game progress is stored in the browser
|
<p>
|
||||||
|
We do not use cookies, but your game progress is stored in the browser
|
||||||
as site data. Your game progress is not saved on the server; if you delete
|
as site data. Your game progress is not saved on the server; if you delete
|
||||||
your browser storage, it is completely gone.
|
your browser storage, it is completely gone.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>Our server is located in Germany.</p>
|
<p>Our server is located in Germany.</p>
|
||||||
|
<p>
|
||||||
<p><strong>Contact information:</strong><br />
|
<strong>Contact information:</strong><br />
|
||||||
Jon Eugster<br />
|
Jon Eugster<br />
|
||||||
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf<br />
|
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf<br />
|
||||||
Universitätsstr. 1<br />
|
Universitätsstr. 1<br />
|
||||||
40225 Düsseldorf<br />
|
40225 Düsseldorf<br />
|
||||||
Germany<br />
|
Germany<br />
|
||||||
|
+49 211 81-12173<br />
|
||||||
<a href="https://www.math.hhu.de/en/lehrstuehle-/-personen-/-ansprechpartner/innen/lehrstuehle-des-mathematischen-instituts/lehrstuhl-fuer-algebraische-geometrie/team/jon-eugster">Contact Details</a>
|
<a href="https://www.math.hhu.de/en/lehrstuehle-/-personen-/-ansprechpartner/innen/lehrstuehle-des-mathematischen-instituts/lehrstuhl-fuer-algebraische-geometrie/team/jon-eugster">Contact Details</a>
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
|
|
||||||
const PrivacyPolicy: React.FC = () => {
|
const PrivacyPolicy: React.FC = () => {
|
||||||
const [open, setOpen] = React.useState(false);
|
const [open, setOpen] = React.useState(false)
|
||||||
const handleOpen = () => setOpen(true);
|
const handleOpen = () => setOpen(true)
|
||||||
const handleClose = () => setOpen(false);
|
const handleClose = () => setOpen(false)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<span>
|
<span>
|
||||||
<div className="privacy" onClick={handleOpen} title="Privacy Policy & Impressum">
|
<div className="privacy" onClick={handleOpen} title="Privacy Policy & Impressum">
|
||||||
<FontAwesomeIcon icon={faShield} />
|
<FontAwesomeIcon icon={faShield} />
|
||||||
<p className="p1">legal</p>
|
<p className="p1">legal</p>
|
||||||
<p className="p2">notes</p>
|
<p className="p2">notes</p>
|
||||||
</div>
|
</div>
|
||||||
{open?
|
{open ? <PrivacyPolicyPopup handleClose={handleClose} /> : null}
|
||||||
<PrivacyPolicyPopup handleClose={handleClose} />: null}
|
|
||||||
</span>
|
</span>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// export default PrivacyPolicy
|
export {PrivacyPolicy, PrivacyPolicyPopup}
|
||||||
|
|
||||||
export {
|
|
||||||
PrivacyPolicy,
|
|
||||||
PrivacyPolicyPopup,
|
|
||||||
}
|
|
||||||
|
|||||||
@ -0,0 +1,11 @@
|
|||||||
|
.world-selection-menu {
|
||||||
|
padding: .5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.world-selection-menu .btn {
|
||||||
|
min-width: 5em;
|
||||||
|
text-align: center;
|
||||||
|
margin-left: .4em;
|
||||||
|
margin-right: .4em;
|
||||||
|
margin-bottom: .2em;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue