privacy policy and graph layout
parent
6e8911e5da
commit
9eb0f2543f
@ -0,0 +1,52 @@
|
|||||||
|
import { faShield } from '@fortawesome/free-solid-svg-icons';
|
||||||
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
||||||
|
import * as React from 'react'
|
||||||
|
|
||||||
|
const PrivacyPolicy: React.FC = () => {
|
||||||
|
const [open, setOpen] = React.useState(false);
|
||||||
|
const handleOpen = () => setOpen(true);
|
||||||
|
const handleClose = () => setOpen(false);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<span>
|
||||||
|
<div className="privacy" onClick={handleOpen} title="Privacy Policy & Impressum">
|
||||||
|
<FontAwesomeIcon icon={faShield} />
|
||||||
|
<p className="p1">legal</p>
|
||||||
|
<p className="p2">notes</p>
|
||||||
|
</div>
|
||||||
|
{open?
|
||||||
|
<div className="modal-wrapper">
|
||||||
|
<div className="modal-backdrop" onClick={handleClose} />
|
||||||
|
<div className="modal">
|
||||||
|
<div className="codicon codicon-close modal-close" onClick={handleClose}></div>
|
||||||
|
<h2>Privacy Policy & Impressum</h2>
|
||||||
|
|
||||||
|
<p>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
|
||||||
|
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.
|
||||||
|
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
|
||||||
|
as site data. Your game progress is not saved on the server; if you delete
|
||||||
|
your browser storage, it is completely gone.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Our server is located in Germany.</p>
|
||||||
|
|
||||||
|
<p><strong>Contact information:</strong><br />
|
||||||
|
Jon Eugster<br />
|
||||||
|
Mathematisches Institut der Heinrich-Heine-Universität Düsseldorf<br />
|
||||||
|
Universitätsstr. 1<br />
|
||||||
|
40225 Düsseldorf<br />
|
||||||
|
Germany<br />
|
||||||
|
<a href="mailto:jon.eugster@hhu.de">jon.eugster@hhu.de</a>
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div> : null}
|
||||||
|
</span>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default PrivacyPolicy
|
||||||
@ -1,12 +1,191 @@
|
|||||||
|
|
||||||
svg .world-circle {
|
/* svg .world-circle {
|
||||||
fill: var(--clr-primary)
|
fill: var(--clr-primary)
|
||||||
|
} */
|
||||||
|
|
||||||
|
.welcome {
|
||||||
|
height: 100%;
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-content {
|
||||||
|
height: 100%
|
||||||
|
}
|
||||||
|
|
||||||
|
.welcome .column {
|
||||||
|
height: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.welcome-text {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
margin: .67em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
font-size: 1.1em;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5, h6 {
|
||||||
|
font-size: 1em;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************/
|
||||||
|
/* SVG Graphic */
|
||||||
|
/***************/
|
||||||
|
|
||||||
|
svg .world-title-wrapper {
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg .world-title-wrapper div {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
svg .world-title-wrapper div {
|
||||||
|
display: flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:center;
|
||||||
|
overflow: visible;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
svg .world-name {
|
svg .world-title {
|
||||||
fill: white;
|
|
||||||
font-size: 2px;
|
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
text-anchor: middle;
|
color: white;
|
||||||
dominant-baseline: middle;
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************/
|
||||||
|
/* Privacy Button */
|
||||||
|
/******************/
|
||||||
|
|
||||||
|
.privacy {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
font-size: 25px;
|
||||||
|
border-radius: 20px;
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
bottom: 10px;
|
||||||
|
display: flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:center;
|
||||||
|
color: #aaa;
|
||||||
|
background-color: #eee;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.privacy p {
|
||||||
|
position: absolute;
|
||||||
|
color: #888;
|
||||||
|
bottom: 1.5px;
|
||||||
|
font-size: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.privacy .p1 {
|
||||||
|
transform: rotate(50deg);
|
||||||
|
left: 1.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.privacy .p2 {
|
||||||
|
transform: rotate(-50deg);
|
||||||
|
right: 1.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************/
|
||||||
|
/* Privacy Popup */
|
||||||
|
/*****************/
|
||||||
|
|
||||||
|
.modal-wrapper {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-backdrop {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
background: rgba(0, 0, 0, 0.25);
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal h2 {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
min-width: 50%;
|
||||||
|
max-width: 60ch;
|
||||||
|
background: #fff;
|
||||||
|
z-index: 3;
|
||||||
|
padding: 2em;
|
||||||
|
border-radius: 1em;
|
||||||
|
text-align: left;
|
||||||
|
color: var(--vscode-breadcrumb-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal input[type="text"] {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal .form-error {
|
||||||
|
color: #a00;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal input[type="submit"] {
|
||||||
|
border: none;
|
||||||
|
color: var(--vscode-button-foreground);
|
||||||
|
background: var(--vscode-button-background);
|
||||||
|
cursor: pointer;
|
||||||
|
padding: .5em 1em;
|
||||||
|
border-radius: .2em;
|
||||||
|
display: block;
|
||||||
|
margin: 1em auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-close {
|
||||||
|
float: right;
|
||||||
|
scale: 2;
|
||||||
|
color: var(--vscode-breadcrumb-foreground);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-close:hover {
|
||||||
|
float: right;
|
||||||
|
scale: 2;
|
||||||
|
color: var(--vscode-breadcrumb-focusForeground);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal table {
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue