diff --git a/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx index 39d009bc58f2c7eaa0a53e96f70791241017ebac..b2fe9942ce102237b1129f1c9d70afb935dd83e5 100644 --- a/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx +++ b/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx @@ -4,6 +4,7 @@ import Header from 'components/ContainerComponents/Header/Header' import Content from 'components/ContainerComponents/Content/Content' import KonnectorViewerContainer from 'components/ContainerComponents/KonnectorViewerContainer/KonnectorViewerContainer' import FAQContainer from 'components/ContainerComponents/FAQContainer/FAQContainer' +import LegalContainer from 'components/ContainerComponents/LegalContainer/LegalContainer' const ParametersViewContainer: React.FC = () => { const [headerHeight, setHeaderHeight] = useState<number>(0) @@ -20,6 +21,7 @@ const ParametersViewContainer: React.FC = () => { <Content height={headerHeight}> <FAQContainer /> <KonnectorViewerContainer isParam={true} /> + <LegalContainer /> </Content> </React.Fragment> ) diff --git a/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx index 84cc1c60d9d44afdb4f4450a578f5940fbeec313..c700cf5eb79198e2b6a9e274608a11ad628fc47c 100644 --- a/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx +++ b/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx @@ -18,6 +18,7 @@ import OngoingChallengeDetailsViewContainer from './OngoingChallengeDetailsViewC import LockedChallengeDetailsViewContainer from './LockedChallengeDetailsViewContainer' import AvailableChallengeDetailsViewContainer from './AvailableChallengeDetailsViewContainer' import SplashContainer from 'components/ContainerComponents/SplashContainer/SplashContainer' +import LegalViewContainer from './LegalViewContainer' export const history = createBrowserHistory() @@ -103,6 +104,10 @@ export const ViewContainer = () => { path={`${url}/FAQ`} component={FAQViewContainer} /> + <Route + path={`${url}/legal`} + component={LegalViewContainer} + /> <Route path={`${url}/`} component={ParametersViewContainer} diff --git a/src/components/ContentComponents/EcogestureCard/EcogestureCard.tsx b/src/components/ContentComponents/EcogestureCard/EcogestureCard.tsx index f6ff64f40476cd6925470b88c75cb7c2893b39b4..b58c90f234a23eeddcffa7a88078277f443fdfa8 100644 --- a/src/components/ContentComponents/EcogestureCard/EcogestureCard.tsx +++ b/src/components/ContentComponents/EcogestureCard/EcogestureCard.tsx @@ -22,18 +22,27 @@ const EcogestureCard: React.FC<EcogestureCardProps> = ({ handleClick && ecogesture ? handleClick(ecogesture) : null } const [ecogestureIcon, setEcogestureIcon] = useState(def) + const ecogestureIcons: any[] = [] async function importEcogestureIcon(id: string) { // Les svg doivent être au format id.svg let importedEcogesture + let importedEcogestureBis try { importedEcogesture = await import( /* webpackMode: "eager" */ `assets/icons/visu/ecogesture/${id}.svg` ) + importedEcogestureBis = await import( + /* webpackMode: "eager" */ `assets/icons/visu/ecogesture/${id}b.svg` + ) + ecogestureIcons.push(importedEcogesture, importedEcogestureBis) } catch (e) {} if (importedEcogesture) { setEcogestureIcon(importedEcogesture.default) } + if (importedEcogestureBis) { + setEcogestureIcon(_.sample(ecogestureIcons).default) + } } useEffect(() => { diff --git a/src/components/ContentComponents/EcogestureModal/EcogestureModal.tsx b/src/components/ContentComponents/EcogestureModal/EcogestureModal.tsx index 635e1591259a1bee46c838e8952c4e887d34223a..609ca6262c27a758ec9023a125d45995bf250fa7 100644 --- a/src/components/ContentComponents/EcogestureModal/EcogestureModal.tsx +++ b/src/components/ContentComponents/EcogestureModal/EcogestureModal.tsx @@ -6,6 +6,7 @@ import { EcogestureType } from 'services/dataChallengeContracts' import StyledIcon from 'components/CommonKit/Icon/StyledIcon' import Icon from 'cozy-ui/react/Icon' import def from 'assets/icons/visu/ecogesture/default.svg' +import _ from 'lodash' interface EcogestureModalProps { opened: boolean @@ -24,18 +25,27 @@ const EcogestureModal: React.FC<EcogestureModalProps> = ({ handleCloseClick, }: EcogestureModalProps) => { const [ecogestureIcon, setEcogestureIcon] = useState(def) + const ecogestureIcons: any[] = [] async function importEcogestureIcon(id: string) { // Les svg doivent être au format id.svg let importedEcogesture + let importedEcogestureBis try { importedEcogesture = await import( /* webpackMode: "eager" */ `assets/icons/visu/ecogesture/${id}.svg` ) + importedEcogestureBis = await import( + /* webpackMode: "eager" */ `assets/icons/visu/ecogesture/${id}b.svg` + ) + ecogestureIcons.push(importedEcogesture, importedEcogestureBis) } catch (e) {} if (importedEcogesture) { setEcogestureIcon(importedEcogesture.default) } + if (importedEcogestureBis) { + setEcogestureIcon(_.sample(ecogestureIcons).default) + } } useEffect(() => { diff --git a/src/locales/fr.json b/src/locales/fr.json index 8b5f54211b16ef6d179818ce3c9c631215066cea..b8375f0d90585e76ddd56e7ddc7a88327f59cbda 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -31,6 +31,7 @@ "YEARLY_FRENQUENCY": "annuel", "MINI_CARDS_LABEL": "AUTRES ENERGIES", "APP_FAQ_TITLE": "FAQ", + "APP_LEGAL_TITLE": "Mentions légales", "APP_NEW_CHALLENGE_TITLE": "Nouveau défi", "APP_LOCKED_CHALLENGE_TITLE": "Défi à débloquer", "APP_ONGOING_CHALLENGE_TITLE": "Défi en cours", @@ -146,6 +147,10 @@ "TITLE_FAQ": "Foire aux questions", "READ_FAQ": "Lire la FAQ" }, + "LEGAL": { + "TITLE_LEGAL": "Mentions légales", + "READ_LEGAL": "Lire les mentions légales" + }, "CHALLENGE": { "TITLE_CHALLENGE": "Defi", "NO_CHALLENGE": "Veuillez selectionner un defi", @@ -192,40 +197,40 @@ "WEAK": "1 nWh : économie faible" } }, - "auth": { + "auth": { "enedis": { "connect": { - "info" : "En cliquant sur ce bouton, vous accéderez à votre compte Enedis. Vous pourrez donner votre accord pour récupérer vos données de consommation électriques dans votre cloud personnel", + "info": "En cliquant sur ce bouton, vous accéderez à votre compte Enedis. Vous pourrez donner votre accord pour récupérer vos données de consommation électriques dans votre cloud personnel", "label1": "J'accède à mon", "label2": "espace client Enedis" }, - "no_account" : { + "no_account": { "title": "Pas de compte Enedis ?", "text": "Vous pouvez le créer en vous munissant d'une facture d'élétricité." }, - "create_account": "Je crée mon compte personnel Enedis" + "create_account": "Je crée mon compte personnel Enedis" }, - "grdf" : { + "grdf": { "connect": { "label1": "Je me connecte à", "label2": "mon compte GRDF" }, - "no_account" : { + "no_account": { "title": "Pas de compte GRDF ?", "text": "Vous pouvez le créer en vous munissant d'une facture de gaz." }, - "create_account": "Je crée mon compte GRDF" + "create_account": "Je crée mon compte GRDF" }, - "egl" : { + "egl": { "connect": { "label1": "Je me connecte à", "label2": "mon compte Eau du Grand Lyon" }, - "no_account" : { + "no_account": { "title": "Pas de compte Eau du Grand Lyon ?", "text": "Vous pouvez le créer en vous munissant d'une facture d'eau." }, - "create_account": "Je crée mon compte Eau du GL" + "create_account": "Je crée mon compte Eau du GL" } }, "oauth": { diff --git a/src/styles/index.scss b/src/styles/index.scss index 79e0b9103d483cb5de60521f71f4276d6130e4f0..0545d607d34b96ae573444bcbd8e8eae554f9bfe 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -21,6 +21,7 @@ @import 'components/ecogesture'; @import 'components/modal'; @import 'components/faq'; +@import 'components/legal'; @import 'components/splash'; @import 'components/auth';