diff --git a/src/components/Action/ActionCard.tsx b/src/components/Action/ActionCard.tsx index 6e53ee2d1f6845eef6cee505d8cec7c6300bfd10..ec510ca4ad5b450205ab17f72582ecc2e56b4bae 100644 --- a/src/components/Action/ActionCard.tsx +++ b/src/components/Action/ActionCard.tsx @@ -46,8 +46,9 @@ const ActionCard: React.FC<ActionCardProps> = ({ <div className="action-title text-18-bold">{action.shortName}</div> </Button> )} - {openEcogestureModal && action && ( + {action && ( <EcogestureModal + open={openEcogestureModal} ecogesture={action} isAction={true} handleCloseClick={toggleModal} diff --git a/src/components/Action/ActionOnGoing.tsx b/src/components/Action/ActionOnGoing.tsx index cf11105fba598b3fa44fb51ce2ac70f0337a761c..cb7a95266822e7f06bf4e2741315ca009bffb6dc 100644 --- a/src/components/Action/ActionOnGoing.tsx +++ b/src/components/Action/ActionOnGoing.tsx @@ -103,13 +103,12 @@ const ActionOnGoing: React.FC<ActionOnGoingProps> = ({ > {t('action.details')} </Button> - {openEcogestureModal && ( - <EcogestureModal - ecogesture={userAction.ecogesture} - isAction={false} - handleCloseClick={toggleEcogestureModal} - /> - )} + <EcogestureModal + open={openEcogestureModal} + ecogesture={userAction.ecogesture} + isAction={false} + handleCloseClick={toggleEcogestureModal} + /> </> )} </div> diff --git a/src/components/CommonKit/Modal/Modal.tsx b/src/components/CommonKit/Modal/Modal.tsx index 0956960a85409a46c5b9e577768fcfed14635edc..64386e82933aef4bd22a7dfbb387b067f2a3ccba 100644 --- a/src/components/CommonKit/Modal/Modal.tsx +++ b/src/components/CommonKit/Modal/Modal.tsx @@ -59,7 +59,7 @@ const Modal: React.FC<ModalProps> = ({ > {displayCloseButton && ( <StyledIconButton - aria-label={t('modal.accessibility.close')} + aria-label={t('modal.accessibility.button_close')} className="modal-close-button" icon={CloseIcon} onClick={closeClick} diff --git a/src/components/Connection/ConnectionFormOAuth.tsx b/src/components/Connection/ConnectionFormOAuth.tsx index a4f7e187c7ccdb481c6b7957c6c26ed1a28f4475..74b190355e772e827d3a8008a9cc2e93d72951b0 100644 --- a/src/components/Connection/ConnectionFormOAuth.tsx +++ b/src/components/Connection/ConnectionFormOAuth.tsx @@ -88,7 +88,7 @@ const ConnectionFormOAuth: React.FC<ConnectionFormOAuthProps> = ({ </div> <div className="koauthform-button"> <MuiButton - aria-label={t('auth.accessibility.create_account')} + aria-label={t('auth.accessibility.button_create_account')} onClick={() => window.open(siteLink, '_blank')} classes={{ root: 'btn-secondary-positive', diff --git a/src/components/Connection/OAuthForm.tsx b/src/components/Connection/OAuthForm.tsx index 364681ded45458fcfb529f50343259640d5f5539..9299ceef24d5d31725eeaf0d79a5de9113bcb03a 100644 --- a/src/components/Connection/OAuthForm.tsx +++ b/src/components/Connection/OAuthForm.tsx @@ -71,7 +71,7 @@ const OAuthForm: React.FC<OAuthFormProps> = ({ return !konnector ? null : ( <> <MuiButton - aria-label={t('auth.accessibility.connect')} + aria-label={t('auth.accessibility.button_connect')} onClick={ konnector.slug === fluidconfig[FluidType.GAS].konnectorConfig.slug ? toggleGRDFModal diff --git a/src/components/Ecogesture/EcogestureList.tsx b/src/components/Ecogesture/EcogestureList.tsx index 0f543a6b1f9c54283140f2ffe41f126a191af481..98f2563d1169fd40c83b6b31ce7751c20af9896f 100644 --- a/src/components/Ecogesture/EcogestureList.tsx +++ b/src/components/Ecogesture/EcogestureList.tsx @@ -225,8 +225,9 @@ const EcogestureList: React.FC<EcogestureListProps> = ({ </div> </> - {openEcogestureModal && selectedEcogesture && ( + {selectedEcogesture && ( <EcogestureModal + open={openEcogestureModal} ecogesture={selectedEcogesture} isAction={false} handleCloseClick={handleCloseClick} diff --git a/src/components/Ecogesture/EcogestureModal.tsx b/src/components/Ecogesture/EcogestureModal.tsx index c8982edb74e2febac050a1d349eccf942087e56f..6274541760eb45387f0c2d07d1018fcfb56558d2 100644 --- a/src/components/Ecogesture/EcogestureModal.tsx +++ b/src/components/Ecogesture/EcogestureModal.tsx @@ -1,22 +1,26 @@ import React, { useState, useEffect } from 'react' +import './ecogestureModal.scss' +import classNames from 'classnames' import { useI18n } from 'cozy-ui/transpiled/react/I18n' +import { AppStore } from 'store' +import { useSelector } from 'react-redux' import { getPicto } from 'utils/picto' +import useExploration from 'components/Hooks/useExploration' +import { importIconbyId } from 'utils/utils' import { Ecogesture } from 'models' -import Modal from 'components/CommonKit/Modal/Modal' -import StyledIcon from 'components/CommonKit/Icon/StyledIcon' -import { importIconbyId } from 'utils/utils' -import './ecogestureModal.scss' -import useExploration from 'components/Hooks/useExploration' -import { AppStore } from 'store' -import { useSelector } from 'react-redux' +import Icon from 'cozy-ui/transpiled/react/Icon' +import MuiDialog from '@material-ui/core/Dialog' +import IconButton from '@material-ui/core/IconButton' import MuiButton from '@material-ui/core/Button' +import StyledIcon from 'components/CommonKit/Icon/StyledIcon' import EfficientyRating from './EfficientyRating' -import classNames from 'classnames' +import CloseIcon from 'assets/icons/ico/close.svg' import defaultIcon from 'assets/icons/visu/ecogesture/default.svg' interface EcogestureModalProps { + open: boolean ecogesture: Ecogesture isAction: boolean handleCloseClick: () => void @@ -24,6 +28,7 @@ interface EcogestureModalProps { } const EcogestureModal: React.FC<EcogestureModalProps> = ({ + open, ecogesture, isAction, handleCloseClick, @@ -55,10 +60,32 @@ const EcogestureModal: React.FC<EcogestureModalProps> = ({ }, [ecogesture, setValidExploration, currentChallenge]) return ( - <Modal border={true} handleCloseClick={handleCloseClick}> + <MuiDialog + open={open} + onClose={handleCloseClick} + aria-label={t( + `ecogesture_modal.accessibility.window_title_${ + isAction ? 'action' : 'ecogesture' + }` + )} + classes={{ + root: 'modal-root', + paper: 'modal-paper no-padding blue-border', + }} + > + <IconButton + aria-label={t('ecogesture_modal.accessibility.button_close')} + className="modal-paper-close-button" + onClick={handleCloseClick} + > + <Icon icon={CloseIcon} size={16} /> + </IconButton> <div className="em-header text-14-normal-uppercase"> - {isAction ? t('action.title_action') : t('ECOGESTURE.TITLE_ECOGESTURE')} + {isAction + ? t('action.title_action') + : t('ecogesture_modal.title_ecogesture')} </div> + <div className="em-root ecogesture-modal"> <div className="em-content"> <div className="em-content-box-img"> @@ -70,7 +97,7 @@ const EcogestureModal: React.FC<EcogestureModalProps> = ({ <div className="em-detail"> <div className="em-detail-efficiency"> <span className="em-efficiency"> - {t('ECOGESTURE.EFFICIENCY')} + {t('ecogesture_modal.efficiency')} </span> <EfficientyRating result={Math.round(ecogesture.efficiency)} /> </div> @@ -89,6 +116,9 @@ const EcogestureModal: React.FC<EcogestureModalProps> = ({ <div className="long-name">{ecogesture.longName}</div> {isAction ? ( <MuiButton + aria-label={t( + 'ecogesture_modal.accessibility.button_select_action' + )} classes={{ root: 'btn-action-launch', label: 'text-16-bold', @@ -107,6 +137,9 @@ const EcogestureModal: React.FC<EcogestureModalProps> = ({ {ecogesture.longDescription} </div> <MuiButton + aria-label={t( + 'ecogesture_modal.accessibility.button_see_more_detail' + )} onClick={toggleMoreDetail} classes={{ root: 'btn-secondary-negative', @@ -114,14 +147,14 @@ const EcogestureModal: React.FC<EcogestureModalProps> = ({ }} > {isMoreDetail - ? t('ECOGESTURE.SHOW_LESS') - : t('ECOGESTURE.SHOW_MORE')} + ? t('ecogesture_modal.show_less') + : t('ecogesture_modal.show_more')} </MuiButton> </> )} </div> </div> - </Modal> + </MuiDialog> ) } diff --git a/src/components/Ecogesture/ecogestureModal.scss b/src/components/Ecogesture/ecogestureModal.scss index 66dc8063090782561bf339ced77de5af4f5535e1..ec332bd67bda03bce772145245e77d8ac1948e69 100644 --- a/src/components/Ecogesture/ecogestureModal.scss +++ b/src/components/Ecogesture/ecogestureModal.scss @@ -4,7 +4,7 @@ .em-header { color: $grey-bright; border-bottom: 1px solid rgba(163, 163, 163, 0.4); - padding-bottom: 1em; + padding: 1em 0; width: 100%; display: flex; justify-content: center; diff --git a/src/components/Feedback/FeedbackModal.tsx b/src/components/Feedback/FeedbackModal.tsx index 4b325c051e44206aeee69de339e787a711c75f99..a18613c6626a00280abf94900c5aa73a81dbce45 100644 --- a/src/components/Feedback/FeedbackModal.tsx +++ b/src/components/Feedback/FeedbackModal.tsx @@ -169,14 +169,14 @@ const FeedbackModal: React.FC<FeedbackModalProps> = ({ disableBackdropClick disableEscapeKeyDown onClose={closeModal} - aria-labelledby="feedback-title" + aria-label={t('feedback.accessibility.title')} classes={{ root: 'modal-root', paper: 'modal-paper yellow-border', }} > <IconButton - aria-label={t('feedback.accessibility.close')} + aria-label={t('feedback.accessibility.button_close')} className="modal-paper-close-button" onClick={closeModal} > @@ -203,7 +203,7 @@ const FeedbackModal: React.FC<FeedbackModalProps> = ({ </div> )} <MuiButton - aria-label={t('feedback.accessibility.ok')} + aria-label={t('feedback.accessibility.button_ok')} onClick={validResult} variant={'contained'} classes={{ @@ -217,9 +217,7 @@ const FeedbackModal: React.FC<FeedbackModalProps> = ({ </> ) : ( <> - <div id="feedback-title" className="fb-header text-18-bold"> - {t('feedback.title')} - </div> + <div className="fb-header text-18-bold">{t('feedback.title')}</div> <form className="fb-content"> <label htmlFor="feedbackType" className="fb-label text-16-bold"> {t('feedback.type')} @@ -246,7 +244,7 @@ const FeedbackModal: React.FC<FeedbackModalProps> = ({ value={description} ></textarea> <MuiButton - aria-label={t('feedback.accessibility.send')} + aria-label={t('feedback.accessibility.button_send')} onClick={sendEmail} disabled={sending} classes={{ diff --git a/src/components/Header/CozyBar.tsx b/src/components/Header/CozyBar.tsx index 57865e72d29ad93a814e379837cc0850b8d7bb14..4923fc89839aaa54a88c31f754b978e515c7c74b 100644 --- a/src/components/Header/CozyBar.tsx +++ b/src/components/Header/CozyBar.tsx @@ -41,7 +41,7 @@ const CozyBar = ({ {displayBackArrow && ( <BarLeft> <StyledIconButton - aria-label={t('header.accessibility.back')} + aria-label={t('header.accessibility.button_back')} className="cv-button" icon={BackArrowIcon} onClick={handleClickBack} @@ -55,7 +55,7 @@ const CozyBar = ({ </BarCenter> <BarRight> <StyledIconButton - aria-label={t('header.accessibility.open_feedbacks')} + aria-label={t('header.accessibility.button_open_feedbacks')} className="cv-button" icon={FeedbacksIcon} size={40} diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx index ce516312588e22140642914ac681f194c1939de2..ed0434e2c6ec16e23cb2ea3c2f40be045612cea8 100644 --- a/src/components/Header/Header.tsx +++ b/src/components/Header/Header.tsx @@ -89,7 +89,7 @@ const Header: React.FC<HeaderProps> = ({ > {displayBackArrow && ( <StyledIconButton - aria-label={t('header.accessibility.back')} + aria-label={t('header.accessibility.button_back')} className="header-back-button" icon={BackArrowIcon} onClick={handleClickBack} @@ -99,7 +99,7 @@ const Header: React.FC<HeaderProps> = ({ </div> )} <StyledIconButton - aria-label={t('header.accessibility.open_feedbacks')} + aria-label={t('header.accessibility.button_open_feedbacks')} className={ !textKey && !desktopTitleKey ? 'header-feedbacks-button right' diff --git a/src/locales/fr.json b/src/locales/fr.json index f5dd9286328c186aa236cee3c065d816e8f2a49a..b34ea43a07eed8ab3fffe88b843e1fd666949783 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -33,13 +33,13 @@ }, "header": { "accessibility" : { - "back": "Retour à la page précédente", - "open_feedbacks": "Ouvrir le partage de retours" + "button_back": "Retour à la page précédente", + "button_open_feedbacks": "Ouvrir le partage de retours" } }, "modal": { "accessibility": { - "close": "Fermer cette fenètre" + "button_close": "Fermer cette fenètre" } }, "welcome_modal": { @@ -175,7 +175,6 @@ "ECOGESTURE": { "FILTER_TITLE": "Tous les ecogestes", "SECOND_TAB": "Ecogestes adaptés à votre profil", - "TITLE_ECOGESTURE": "Ecogeste", "ALL": "Tous les usages", "HEATING": "Chauffage", "AIR_CONDITIONING": "Climatisation", @@ -184,10 +183,6 @@ "ELECTRICITY_SPECIFIC": "Electricité courante", "COOKING": "Cuisson", "NO_ECOGESTURE": "Aucun écogeste ne correspond à votre filtre", - "QUESTION_NEGAWATT": "nWh ?", - "EFFICIENCY": "Efficacité", - "SHOW_LESS": "Je veux moins d’infos", - "SHOW_MORE": "Je veux plus d’infos", "ADJUST_PROFIL": { "DESCRIPTION": "Pour une sélection d’écogestes appropriés à votre consommation, vous pouvez ajuster votre profil.", "BTN_TEXT": "Ajuster mon profil" @@ -202,6 +197,19 @@ "BUTTONTEXT": "J'ai compris" } }, + "ecogesture_modal": { + "title_ecogesture": "Ecogeste", + "efficiency": "Efficacité", + "show_less": "Je veux moins d’infos", + "show_more": "Je veux plus d’infos", + "accessibility": { + "window_title_ecogesture": "Fenètre ecogeste", + "window_action": "Fenètre action", + "button_close": "Fermer la fenètre", + "button_select_action": "Selectionner cette action", + "button_see_more_detail": "Afficher plus de détail" + } + }, "auth": { "enedisgrandlyon": { "connect": { @@ -254,9 +262,9 @@ }, "password_label": "Mot de passe", "accessibility": { - "reveal_password": "Afficher le mot de passe", - "connect": "Se connecter", - "create_account" : "Se créer un compte" + "button_reveal_password": "Afficher le mot de passe", + "button_connect": "Se connecter", + "button_create_account" : "Se créer un compte" } }, "oauth": { @@ -287,12 +295,13 @@ "error_empty_description": "Le champ de description est vide.", "error_sending": "Erreur lors de l'envoi, veuillez essayer ultérieurement.", "accessibility": { + "title": "Fenètre de partage de retours", "select_type_bug": "Sélectionner le motif bug", "select_type_idea": "Sélectionner le motif idée", "select_type_other": "Sélectionner le motif autre", - "send": "Envoyer le retour", - "ok": "Valider", - "close": "Fermer la fenêtre de retours" + "button_send": "Envoyer le retour", + "button_ok": "Valider", + "button_close": "Fermer la fenêtre de partage de retours" } }, "modalOldData": { diff --git a/src/styles/components/_dialog.scss b/src/styles/components/_dialog.scss index 4654d1cd297103831950cc0e3d804d46ef28ff4c..ab7ac5a748fb0be5cf07764b646fe17c7428486a 100644 --- a/src/styles/components/_dialog.scss +++ b/src/styles/components/_dialog.scss @@ -27,6 +27,9 @@ div.modal-paper{ max-width: 35rem; margin: 0; } + &.no-padding { + padding: 0; + } &.blue-border { border: 1px solid $blue-40; }