Add short version of privacy policy

This commit is contained in:
Marvin Sextro 2021-07-27 03:09:51 +02:00
parent 9009f51c97
commit d46f711b59
11 changed files with 64 additions and 18 deletions

20
components/Check.tsx Normal file
View File

@ -0,0 +1,20 @@
import {useTranslation} from 'next-i18next';
interface CheckProps {
text: string;
}
function Check(props: CheckProps): JSX.Element {
const { t } = useTranslation(["index"]);
return (
<li className="flex flex-row space-x-4 items-center">
<svg xmlns="http://www.w3.org/2000/svg" className="h-5 w-5 mx-2 fill-current text-green-500" viewBox="0 0 20 20" fill="currentColor">
<path fillRule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clipRule="evenodd" />
</svg>
{props.text}
</li>
)
}
export default Check;

View File

@ -7,6 +7,7 @@ import Link from 'next/link';
import Card from "./Card";
import Alert from "./Alert";
import Check from './Check';
import {PayloadBody} from "../src/payload";
import {getPayloadBodyFromFile, getPayloadBodyFromQR} from "../src/process";
import {PassData} from "../src/pass";
@ -238,6 +239,13 @@ function Form(): JSX.Element {
</a>
</Link>.
</p>
<div>
<ul className="list-none">
<Check text={t('createdOnDevice')}></Check>
<Check text={t('openSourceTransparent')}></Check>
<Check text={t('hostedInEU')}></Check>
</ul>
</div>
<label htmlFor="privacy" className="flex flex-row space-x-4 items-center">
<input type="checkbox" id="privacy" value="privacy" required className="h-4 w-4"/>
<p>

View File

@ -10,7 +10,7 @@ function Imprint(): JSX.Element {
return (
<Page content={
<Card step="§" heading={t('common:imprint')} content={
<div className="space-y-2">
<div className="space-y-3">
<p className="font-bold">{t('imprint:heading')}</p>
<p>
Marvin Sextro<br />

View File

@ -9,10 +9,10 @@ function Privacy(): JSX.Element {
return (
<Page content={
<Card step="i" heading={t('common:privacyPolicy')} content={
<div className="space-y-2">
<div className="space-y-3">
<p>{t('privacy:gdprNotice')}</p>
<p className="font-bold">{t('privacy:generalInfo')}</p>
<div className="px-4">
<p className="font-bold text-lg">{t('privacy:generalInfo')}</p>
<div className="pl-6">
<ul className="list-disc">
<li>{t('privacy:generalInfoProcess')}</li>
<li>{t('privacy:generalInfoStoring')}</li>
@ -62,7 +62,7 @@ function Privacy(): JSX.Element {
</p>
<p className="font-bold">{t('privacy:process')}</p>
<p>{t('privacy:processFirst')}:</p>
<div className="px-4">
<div className="pl-6">
<ul className="list-disc">
<li>{t('privacy:processRecognizing')}</li>
<li>{t('privacy:processDecoding')}</li>
@ -72,7 +72,7 @@ function Privacy(): JSX.Element {
</ul>
</div>
<p>{t('privacy:processSecond')}:</p>
<div className="px-4">
<div className="pl-6">
<ul className="list-disc">
<li>{t('privacy:processReceiving')}</li>
<li>{t('privacy:processSigning')}</li>
@ -80,7 +80,7 @@ function Privacy(): JSX.Element {
</ul>
</div>
<p>{t('privacy:processThird')}:</p>
<div className="px-4">
<div className="px-5">
<ul className="list-disc">
<li>{t('privacy:processCompleting')}</li>
<li>{t('privacy:processSaving')}</li>
@ -107,7 +107,7 @@ function Privacy(): JSX.Element {
91710 Gunzenhausen<br />
</p>
<p>{t('privacy:logFiles')}:</p>
<div className="px-4">
<div className="pl-6">
<ul className="list-disc">
<li>{t('privacy:logFilesBrowser')}</li>
<li>{t('privacy:logFilesOs')}</li>
@ -118,7 +118,7 @@ function Privacy(): JSX.Element {
</div>
<p className="font-bold">{t('privacy:rights')}</p>
<p>{t('privacy:rightsGranted')}:</p>
<div className="px-4">
<div className="pl-6">
<ul className="list-disc">
<li>{t('privacy:rightsAccess')}</li>
<li>{t('privacy:rightsErasure')}</li>
@ -127,7 +127,7 @@ function Privacy(): JSX.Element {
</ul>
</div>
<p className="font-bold">{t('privacy:thirdParties')}</p>
<div className="px-4">
<div className="pl-6">
<ul className="list-disc">
<li>
GitHub:

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
Datenschutz hat einen besonders hohen Stellenwert, wenn es um die Verarbeitung von gesundheitsbezogenen Daten geht.
Damit Du eine fundierte Entscheidung triffst, lies bitte die
iAcceptThe: Ich akzeptiere die
privacyPolicy: Datenschutzerklärung
privacyPolicy: Datenschutzerklärung
createdOnDevice: Auf Deinem Gerät erstellt
openSourceTransparent: Open Source und transparent
hostedInEU: In der EU gehostet

View File

@ -24,6 +24,6 @@ dataPrivacyDescription: |
Για να μπορέσετε να λάβετε μια τεκμηριωμένη απόφαση, παρακαλώ διαβάστε πρώτα την
iAcceptThe: Αποδέχομαι την
privacyPolicy: Πολιτική Απορρήτου
noCameraAccess: Αποτυχία πρόσβασης στην κάμερα. Ελέγξτε τα δικαιώματα στις Ρυθμίσεις > Safari > Κάμερα.
noCameraFound: Δεν βρέθηκε κάποια κάμερα.
safariSupportOnly: Στο iOS, παρακαλώ χρησιμοποιήστε τον περιηγητή Safari.
createdOnDevice: Δημιουργήθηκε στη συσκευή σας
OpenSourceTransparent: Ανοιχτού κώδικα και διαφανής
hostedInEU: φιλοξενείται στην ΕΕ

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
Data privacy is of special importance when processing health-related data.
In order for you to make an informed decision, please read the
iAcceptThe: I accept the
privacyPolicy: Privacy Policy
privacyPolicy: Privacy Policy
createdOnDevice: Created on your device
openSourceTransparent: Open source and transparent
hostedInEU: Hosted in the EU

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
Tietosuoja on erityisen tärkeää, kun käsitellään terveyteen liittyviä tietoja.
Jotta voisit tehdä tietoon perustuvan päätöksen, lue seuraavat tiedot
iAcceptThe: Hyväksyn
privacyPolicy: Tietosuojaselosteen
privacyPolicy: Tietosuojaselosteen
createdOnDevice: Luotu laitteellasi
openSourceTransparent: Avoin lähdekoodi ja läpinäkyvä
hostedInEU: Isännöidään EU:ssa.

View File

@ -24,3 +24,6 @@ dataPrivacyDescription: |
Afin que vous puissiez prendre une décision en connaissance de cause, veuillez lire la
iAcceptThe: J'accepte la
privacyPolicy: Politique de confidentialité
createdOnDevice : Créé sur votre appareil
openSourceTransparent : Open source et transparent
hostedInEU : Hébergé dans l'UE

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
La riservatezza dei dati è di particolare importanza quando si elaborano dati relativi alla salute.
Per poter prendere una decisione informata, si prega di leggere il
iAcceptThe: Accetto il
privacyPolicy: Politica sulla Riservatezza
privacyPolicy: Politica sulla Riservatezza
createdOnDevice: Creato sul tuo dispositivo
openSourceTransparent: Open source e trasparente
hostedInEU: Ospitato nell'UE

View File

@ -23,4 +23,7 @@ dataPrivacyDescription: |
Gegevensprivacy is van bijzonder belang bij de verwerking van gezondheidsgerelateerde gegevens.
Om een weloverwogen beslissing te kunnen nemen, lees a.u.b. de
iAcceptThe: Ik accepteer het
privacyPolicy: Privacybeleid
privacyPolicy: Privacybeleid
createdOnDevice: Aangemaakt op uw apparaat
openSourceTransparent: Open source en transparant
hostedInEU: Gehost in de EU