From ad33191a4d9a557b70a314ddb3ee1abca9865f7c Mon Sep 17 00:00:00 2001 From: Clement G Date: Fri, 1 May 2020 12:32:09 +0200 Subject: [PATCH] feat(static-pages) : add views components (with lorem ipsum) --- public/locale/i18n/de/resource.json | 3 + public/locale/i18n/en/resource.json | 3 + public/locale/i18n/es/resource.json | 3 + public/locale/i18n/fr/resource.json | 3 + public/locale/i18n/ru/resource.json | 3 + src/Routes.jsx | 7 ++ src/components/layouts/Footer.jsx | 12 ++++ src/components/views/Faq.jsx | 79 ++++++++++++++++++++++ src/components/views/LegalNotices.jsx | 93 ++++++++++++++++++++++++++ src/components/views/PrivacyPolicy.jsx | 79 ++++++++++++++++++++++ 10 files changed, 285 insertions(+) create mode 100644 src/components/views/Faq.jsx create mode 100644 src/components/views/LegalNotices.jsx create mode 100644 src/components/views/PrivacyPolicy.jsx diff --git a/public/locale/i18n/de/resource.json b/public/locale/i18n/de/resource.json index 78c208f..e7e4119 100644 --- a/public/locale/i18n/de/resource.json +++ b/public/locale/i18n/de/resource.json @@ -2,6 +2,9 @@ "Homepage": "Homepage", "Source code": "Quellcode", "Who are we?": "Wer wir sind?", + "Privacy policy": "Datenschutzerklärung", + "Legal notices": "Rechtliche Hinweise", + "FAQ": "FAQ", "BetterVote": " BetterVote", "Voting platform": "Wahlplattform", "Majority Judgment": " Mehrheitswahl ", diff --git a/public/locale/i18n/en/resource.json b/public/locale/i18n/en/resource.json index 8be6f24..3064f99 100644 --- a/public/locale/i18n/en/resource.json +++ b/public/locale/i18n/en/resource.json @@ -2,6 +2,9 @@ "Homepage": "Homepage", "Source code": "Source code", "Who are we?": "Who are we?", + "Privacy policy": "Privacy policy", + "Legal notices": "Legal notices", + "FAQ": "FAQ", "BetterVote": "BetterVote", "Voting platform": "Voting platform", "Majority Judgment": "Majority Judgment", diff --git a/public/locale/i18n/es/resource.json b/public/locale/i18n/es/resource.json index 1176d17..bd88b23 100644 --- a/public/locale/i18n/es/resource.json +++ b/public/locale/i18n/es/resource.json @@ -2,6 +2,9 @@ "Homepage": "Página de inicio", "Source code": "Código fuente", "Who are we": "Quiénes somos", + "Privacy policy": "Política de privacidad", + "Legal notices": "Avisos legales", + "FAQ": "FAQ", "BetterVote": "VotarMejor", "Voting platform": "Plataforma de votación", "Majority Judgment": "Juicio Mayoritario", diff --git a/public/locale/i18n/fr/resource.json b/public/locale/i18n/fr/resource.json index f2c0857..fe11f3e 100644 --- a/public/locale/i18n/fr/resource.json +++ b/public/locale/i18n/fr/resource.json @@ -2,6 +2,9 @@ "Homepage": "Accueil", "Source code": "Code source", "Who are we?": "Qui sommes-nous ?", + "Privacy policy": "Politique de confidentialité", + "Legal notices": "Mentions légales", + "FAQ": "FAQ", "BetterVote": "MieuxVoter", "Voting platform": "Plateforme de vote", "Majority Judgment": "Jugement Majoritaire", diff --git a/public/locale/i18n/ru/resource.json b/public/locale/i18n/ru/resource.json index 7a0ccca..d75c89e 100644 --- a/public/locale/i18n/ru/resource.json +++ b/public/locale/i18n/ru/resource.json @@ -2,6 +2,9 @@ "Homepage": "Главная страница", "Source code": "Исходный код", "Who are we?": "Кто мы?", + "Privacy policy": "Политика конфиденциальности", + "Legal notices": "Официальные уведомления", + "FAQ": "ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ", "BetterVote": "BetterVote", "Voting platform": "Платформа голосования", "Majority Judgment": "Решение Большинства", diff --git a/src/Routes.jsx b/src/Routes.jsx index 5ba8853..61b453b 100644 --- a/src/Routes.jsx +++ b/src/Routes.jsx @@ -9,6 +9,10 @@ import UnknownView from "./components/views/UnknownView"; import UnknownElection from "./components/views/UnknownElection"; import CreateSuccess from "./components/views/CreateSuccess"; import VoteSuccess from "./components/views/VoteSuccess"; +import LegalNotices from "./components/views/LegalNotices"; +import PrivacyPolicy from "./components/views/PrivacyPolicy"; +import Faq from "./components/views/Faq"; + function Routes() { return ( @@ -32,6 +36,9 @@ function Routes() { /> + + + diff --git a/src/components/layouts/Footer.jsx b/src/components/layouts/Footer.jsx index eaf3cb4..70ee6b9 100644 --- a/src/components/layouts/Footer.jsx +++ b/src/components/layouts/Footer.jsx @@ -38,6 +38,18 @@ class Footer extends Component { {t("Who are we?")} + - + + {t('Legal notices')} + + - + + {t('Privacy policy')} + + - + + {t('faq')} +
diff --git a/src/components/views/Faq.jsx b/src/components/views/Faq.jsx new file mode 100644 index 0000000..bc850b5 --- /dev/null +++ b/src/components/views/Faq.jsx @@ -0,0 +1,79 @@ +/* eslint react/prop-types: 0 */ +import React, { Component } from "react"; +import { Col, Container, Row } from "reactstrap"; +import logoLine from "../../logos/logo-line-white.svg"; +import { Link } from "react-router-dom"; +import { AppContext } from "../../AppContext"; +import { withTranslation } from "react-i18next"; + +class Faq extends Component { + static contextType = AppContext; + + constructor(props) { + super(props); + this.state = {}; + } + + render() { + const { t } = this.props; + return ( + + + + logo + + + + +

{t("FAQ")}

+ +
+ + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse tristique eros dictum, tempor libero quis, tincidunt + velit. Vestibulum non diam rutrum nisl consequat pulvinar. + Phasellus fermentum, massa at pulvinar eleifend, tellus nibh + dictum nulla, et gravida lectus lacus a mauris. Nunc a augue eget + risus commodo blandit. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse tristique eros dictum, tempor libero quis, tincidunt + velit. Vestibulum non diam rutrum nisl consequat pulvinar. + Phasellus fermentum, massa at pulvinar eleifend, tellus nibh + dictum nulla, et gravida lectus lacus a mauris. Nunc a augue eget + risus commodo blandit. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse tristique eros dictum, tempor libero quis, tincidunt + velit. Vestibulum non diam rutrum nisl consequat pulvinar. + Phasellus fermentum, massa at pulvinar eleifend, tellus nibh + dictum nulla, et gravida lectus lacus a mauris. Nunc a augue eget + risus commodo blandit. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse tristique eros dictum, tempor libero quis, tincidunt + velit. Vestibulum non diam rutrum nisl consequat pulvinar. + Phasellus fermentum, massa at pulvinar eleifend, tellus nibh + dictum nulla, et gravida lectus lacus a mauris. Nunc a augue eget + risus commodo blandit. +

+ +
+ + + + {t("Go back to homepage")} + + + +
+ ); + } +} + +export default withTranslation()(Faq); \ No newline at end of file diff --git a/src/components/views/LegalNotices.jsx b/src/components/views/LegalNotices.jsx new file mode 100644 index 0000000..6acefc0 --- /dev/null +++ b/src/components/views/LegalNotices.jsx @@ -0,0 +1,93 @@ +/* eslint react/prop-types: 0 */ +import React, { Component } from "react"; +import { Col, Container, Row } from "reactstrap"; +import logoLine from "../../logos/logo-line-white.svg"; +import { Link } from "react-router-dom"; +import { AppContext } from "../../AppContext"; +import { withTranslation } from "react-i18next"; + +class LegalNotices extends Component { + static contextType = AppContext; + constructor(props) { + super(props); + this.state = {}; + } + + render() { + const { t } = this.props; + return ( + + + + logo + + + + +

{t("Legal notices")}

+ +
+ + +

Editeur du Site

+

+ Association MIEUX VOTER +
+ 59 Rue Saint-André des Arts, 75006 Paris +

+

+ + https://mieuxvoter.fr/ + +

+

Hébergement

+

+ Association MIEUX VOTER +
+ 59 Rue Saint-André des Arts, 75006 Paris +

+

+ + https://mieuxvoter.fr/ + +

+

Développement

+

+ Association MIEUX VOTER +
+ 59 Rue Saint-André des Arts, 75006 Paris +

+

+ + https://mieuxvoter.fr/ + +

+ +
+ + + + {t("Go back to homepage")} + + + +
+ ); + } +} +export default withTranslation()(LegalNotices); \ No newline at end of file diff --git a/src/components/views/PrivacyPolicy.jsx b/src/components/views/PrivacyPolicy.jsx new file mode 100644 index 0000000..062bf75 --- /dev/null +++ b/src/components/views/PrivacyPolicy.jsx @@ -0,0 +1,79 @@ +/* eslint react/prop-types: 0 */ +import React, { Component } from "react"; +import { Col, Container, Row } from "reactstrap"; +import logoLine from "../../logos/logo-line-white.svg"; +import { Link } from "react-router-dom"; +import { AppContext } from "../../AppContext"; +import { withTranslation } from "react-i18next"; + +class PrivacyPolicy extends Component { + static contextType = AppContext; + + constructor(props) { + super(props); + this.state = {}; + } + + render() { + const { t } = this.props; + return ( + + + + logo + + + + +

{t("Privacy policy")}

+ +
+ + +

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse tristique eros dictum, tempor libero quis, tincidunt + velit. Vestibulum non diam rutrum nisl consequat pulvinar. + Phasellus fermentum, massa at pulvinar eleifend, tellus nibh + dictum nulla, et gravida lectus lacus a mauris. Nunc a augue eget + risus commodo blandit. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse tristique eros dictum, tempor libero quis, tincidunt + velit. Vestibulum non diam rutrum nisl consequat pulvinar. + Phasellus fermentum, massa at pulvinar eleifend, tellus nibh + dictum nulla, et gravida lectus lacus a mauris. Nunc a augue eget + risus commodo blandit. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse tristique eros dictum, tempor libero quis, tincidunt + velit. Vestibulum non diam rutrum nisl consequat pulvinar. + Phasellus fermentum, massa at pulvinar eleifend, tellus nibh + dictum nulla, et gravida lectus lacus a mauris. Nunc a augue eget + risus commodo blandit. +

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. + Suspendisse tristique eros dictum, tempor libero quis, tincidunt + velit. Vestibulum non diam rutrum nisl consequat pulvinar. + Phasellus fermentum, massa at pulvinar eleifend, tellus nibh + dictum nulla, et gravida lectus lacus a mauris. Nunc a augue eget + risus commodo blandit. +

+ +
+ + + + {t("Go back to homepage")} + + + +
+ ); + } +} + +export default withTranslation()(PrivacyPolicy); \ No newline at end of file