mirror of
https://github.com/covidpass-org/covidpass.git
synced 2025-02-21 06:00:58 +01:00
Merge pull request #62 from covidpass-org/localization
Short privacy policy
This commit is contained in:
commit
a970c1be15
20
components/Check.tsx
Normal file
20
components/Check.tsx
Normal 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;
|
@ -7,6 +7,7 @@ import Link from 'next/link';
|
|||||||
|
|
||||||
import Card from "./Card";
|
import Card from "./Card";
|
||||||
import Alert from "./Alert";
|
import Alert from "./Alert";
|
||||||
|
import Check from './Check';
|
||||||
import {PayloadBody} from "../src/payload";
|
import {PayloadBody} from "../src/payload";
|
||||||
import {getPayloadBodyFromFile, getPayloadBodyFromQR} from "../src/process";
|
import {getPayloadBodyFromFile, getPayloadBodyFromQR} from "../src/process";
|
||||||
import {PassData} from "../src/pass";
|
import {PassData} from "../src/pass";
|
||||||
@ -238,6 +239,13 @@ function Form(): JSX.Element {
|
|||||||
</a>
|
</a>
|
||||||
</Link>.
|
</Link>.
|
||||||
</p>
|
</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">
|
<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"/>
|
<input type="checkbox" id="privacy" value="privacy" required className="h-4 w-4"/>
|
||||||
<p>
|
<p>
|
||||||
|
@ -10,7 +10,7 @@ function Imprint(): JSX.Element {
|
|||||||
return (
|
return (
|
||||||
<Page content={
|
<Page content={
|
||||||
<Card step="§" heading={t('common:imprint')} 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 className="font-bold">{t('imprint:heading')}</p>
|
||||||
<p>
|
<p>
|
||||||
Marvin Sextro<br />
|
Marvin Sextro<br />
|
||||||
|
@ -9,10 +9,10 @@ function Privacy(): JSX.Element {
|
|||||||
return (
|
return (
|
||||||
<Page content={
|
<Page content={
|
||||||
<Card step="i" heading={t('common:privacyPolicy')} 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>{t('privacy:gdprNotice')}</p>
|
||||||
<p className="font-bold">{t('privacy:generalInfo')}</p>
|
<p className="font-bold text-lg">{t('privacy:generalInfo')}</p>
|
||||||
<div className="px-4">
|
<div className="pl-6">
|
||||||
<ul className="list-disc">
|
<ul className="list-disc">
|
||||||
<li>{t('privacy:generalInfoProcess')}</li>
|
<li>{t('privacy:generalInfoProcess')}</li>
|
||||||
<li>{t('privacy:generalInfoStoring')}</li>
|
<li>{t('privacy:generalInfoStoring')}</li>
|
||||||
@ -62,7 +62,7 @@ function Privacy(): JSX.Element {
|
|||||||
</p>
|
</p>
|
||||||
<p className="font-bold">{t('privacy:process')}</p>
|
<p className="font-bold">{t('privacy:process')}</p>
|
||||||
<p>{t('privacy:processFirst')}:</p>
|
<p>{t('privacy:processFirst')}:</p>
|
||||||
<div className="px-4">
|
<div className="pl-6">
|
||||||
<ul className="list-disc">
|
<ul className="list-disc">
|
||||||
<li>{t('privacy:processRecognizing')}</li>
|
<li>{t('privacy:processRecognizing')}</li>
|
||||||
<li>{t('privacy:processDecoding')}</li>
|
<li>{t('privacy:processDecoding')}</li>
|
||||||
@ -72,7 +72,7 @@ function Privacy(): JSX.Element {
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<p>{t('privacy:processSecond')}:</p>
|
<p>{t('privacy:processSecond')}:</p>
|
||||||
<div className="px-4">
|
<div className="pl-6">
|
||||||
<ul className="list-disc">
|
<ul className="list-disc">
|
||||||
<li>{t('privacy:processReceiving')}</li>
|
<li>{t('privacy:processReceiving')}</li>
|
||||||
<li>{t('privacy:processSigning')}</li>
|
<li>{t('privacy:processSigning')}</li>
|
||||||
@ -80,7 +80,7 @@ function Privacy(): JSX.Element {
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<p>{t('privacy:processThird')}:</p>
|
<p>{t('privacy:processThird')}:</p>
|
||||||
<div className="px-4">
|
<div className="px-5">
|
||||||
<ul className="list-disc">
|
<ul className="list-disc">
|
||||||
<li>{t('privacy:processCompleting')}</li>
|
<li>{t('privacy:processCompleting')}</li>
|
||||||
<li>{t('privacy:processSaving')}</li>
|
<li>{t('privacy:processSaving')}</li>
|
||||||
@ -107,7 +107,7 @@ function Privacy(): JSX.Element {
|
|||||||
91710 Gunzenhausen<br />
|
91710 Gunzenhausen<br />
|
||||||
</p>
|
</p>
|
||||||
<p>{t('privacy:logFiles')}:</p>
|
<p>{t('privacy:logFiles')}:</p>
|
||||||
<div className="px-4">
|
<div className="pl-6">
|
||||||
<ul className="list-disc">
|
<ul className="list-disc">
|
||||||
<li>{t('privacy:logFilesBrowser')}</li>
|
<li>{t('privacy:logFilesBrowser')}</li>
|
||||||
<li>{t('privacy:logFilesOs')}</li>
|
<li>{t('privacy:logFilesOs')}</li>
|
||||||
@ -118,7 +118,7 @@ function Privacy(): JSX.Element {
|
|||||||
</div>
|
</div>
|
||||||
<p className="font-bold">{t('privacy:rights')}</p>
|
<p className="font-bold">{t('privacy:rights')}</p>
|
||||||
<p>{t('privacy:rightsGranted')}:</p>
|
<p>{t('privacy:rightsGranted')}:</p>
|
||||||
<div className="px-4">
|
<div className="pl-6">
|
||||||
<ul className="list-disc">
|
<ul className="list-disc">
|
||||||
<li>{t('privacy:rightsAccess')}</li>
|
<li>{t('privacy:rightsAccess')}</li>
|
||||||
<li>{t('privacy:rightsErasure')}</li>
|
<li>{t('privacy:rightsErasure')}</li>
|
||||||
@ -127,7 +127,7 @@ function Privacy(): JSX.Element {
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<p className="font-bold">{t('privacy:thirdParties')}</p>
|
<p className="font-bold">{t('privacy:thirdParties')}</p>
|
||||||
<div className="px-4">
|
<div className="pl-6">
|
||||||
<ul className="list-disc">
|
<ul className="list-disc">
|
||||||
<li>
|
<li>
|
||||||
GitHub:
|
GitHub:
|
||||||
|
@ -24,3 +24,6 @@ dataPrivacyDescription: |
|
|||||||
Damit Du eine fundierte Entscheidung triffst, lies bitte die
|
Damit Du eine fundierte Entscheidung triffst, lies bitte die
|
||||||
iAcceptThe: Ich akzeptiere 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
|
@ -24,6 +24,6 @@ dataPrivacyDescription: |
|
|||||||
Για να μπορέσετε να λάβετε μια τεκμηριωμένη απόφαση, παρακαλώ διαβάστε πρώτα την
|
Για να μπορέσετε να λάβετε μια τεκμηριωμένη απόφαση, παρακαλώ διαβάστε πρώτα την
|
||||||
iAcceptThe: Αποδέχομαι την
|
iAcceptThe: Αποδέχομαι την
|
||||||
privacyPolicy: Πολιτική Απορρήτου
|
privacyPolicy: Πολιτική Απορρήτου
|
||||||
noCameraAccess: Αποτυχία πρόσβασης στην κάμερα. Ελέγξτε τα δικαιώματα στις Ρυθμίσεις > Safari > Κάμερα.
|
createdOnDevice: Δημιουργήθηκε στη συσκευή σας
|
||||||
noCameraFound: Δεν βρέθηκε κάποια κάμερα.
|
OpenSourceTransparent: Ανοιχτού κώδικα και διαφανής
|
||||||
safariSupportOnly: Στο iOS, παρακαλώ χρησιμοποιήστε τον περιηγητή Safari.
|
hostedInEU: φιλοξενείται στην ΕΕ
|
@ -24,3 +24,6 @@ dataPrivacyDescription: |
|
|||||||
In order for you to make an informed decision, please read the
|
In order for you to make an informed decision, please read the
|
||||||
iAcceptThe: I accept 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
|
@ -24,3 +24,6 @@ dataPrivacyDescription: |
|
|||||||
Jotta voisit tehdä tietoon perustuvan päätöksen, lue seuraavat tiedot
|
Jotta voisit tehdä tietoon perustuvan päätöksen, lue seuraavat tiedot
|
||||||
iAcceptThe: Hyväksyn
|
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.
|
@ -24,3 +24,6 @@ dataPrivacyDescription: |
|
|||||||
Afin que vous puissiez prendre une décision en connaissance de cause, veuillez lire la
|
Afin que vous puissiez prendre une décision en connaissance de cause, veuillez lire la
|
||||||
iAcceptThe: J'accepte la
|
iAcceptThe: J'accepte la
|
||||||
privacyPolicy: Politique de confidentialité
|
privacyPolicy: Politique de confidentialité
|
||||||
|
createdOnDevice : Créé sur votre appareil
|
||||||
|
openSourceTransparent : Open source et transparent
|
||||||
|
hostedInEU : Hébergé dans l'UE
|
@ -24,3 +24,6 @@ dataPrivacyDescription: |
|
|||||||
Per poter prendere una decisione informata, si prega di leggere il
|
Per poter prendere una decisione informata, si prega di leggere il
|
||||||
iAcceptThe: Accetto 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
|
@ -24,3 +24,6 @@ dataPrivacyDescription: |
|
|||||||
Om een weloverwogen beslissing te kunnen nemen, lees a.u.b. de
|
Om een weloverwogen beslissing te kunnen nemen, lees a.u.b. de
|
||||||
iAcceptThe: Ik accepteer het
|
iAcceptThe: Ik accepteer het
|
||||||
privacyPolicy: Privacybeleid
|
privacyPolicy: Privacybeleid
|
||||||
|
createdOnDevice: Aangemaakt op uw apparaat
|
||||||
|
openSourceTransparent: Open source en transparant
|
||||||
|
hostedInEU: Gehost in de EU
|
Loading…
x
Reference in New Issue
Block a user