diff --git a/src/components/ContainerComponents/EcogestureContainer/EcogesturesContainer.tsx b/src/components/ContainerComponents/EcogestureContainer/EcogesturesContainer.tsx index 559485a2175455e4f73f792b5217a6feabdc0cc0..8b9f6b9ca0b40ec92db12a6db163fd95ceb56665 100644 --- a/src/components/ContainerComponents/EcogestureContainer/EcogesturesContainer.tsx +++ b/src/components/ContainerComponents/EcogestureContainer/EcogesturesContainer.tsx @@ -1,12 +1,29 @@ -import React, { useEffect } from 'react' +import React, { useEffect, useState } from 'react' import EcogesturesList from 'components/ContentComponents/EcogestureList/EcogestureList' +import CozyBar from 'components/ContainerComponents/CozyBar/CozyBar' +import Header from 'components/ContainerComponents/Header/Header' +import Content from 'components/ContainerComponents/Content/Content' const EcogesturesContainer: React.FC = () => { useEffect(() => { window.scrollTo(0, 0) }, []) - - return <EcogesturesList /> + const [headerHeight, setHeaderHeight] = useState<number>(0) + const defineHeaderHeight = (height: number) => { + setHeaderHeight(height) + } + return ( + <> + <CozyBar titleKey={'COMMON.APP_ECO_GESTURE_TITLE'} /> + <Header + setHeaderHeight={defineHeaderHeight} + desktopTitleKey={'COMMON.APP_ECO_GESTURE_TITLE'} + ></Header> + <Content height={headerHeight}> + <EcogesturesList /> + </Content> + </> + ) } export default EcogesturesContainer diff --git a/src/components/ContainerComponents/ViewContainer/ChallengesViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/ChallengesViewContainer.tsx index 083944ccecf8758a9cd263bbbdccff81c2e16a71..63e5d2b4a35fb5788dc231a509e5b559660a4ef8 100644 --- a/src/components/ContainerComponents/ViewContainer/ChallengesViewContainer.tsx +++ b/src/components/ContainerComponents/ViewContainer/ChallengesViewContainer.tsx @@ -2,35 +2,24 @@ import React, { useState } from 'react' import CozyBar from 'components/ContainerComponents/CozyBar/CozyBar' import Header from 'components/ContainerComponents/Header/Header' import Content from 'components/ContainerComponents/Content/Content' -import { SelectView } from 'services/dataChallengeContracts' -import ChallengeNavigator from 'components/ContentComponents/ChallengeNavigator/ChallengeNavigator' import BadgesContainer from 'components/ContainerComponents/BadgesContainer/BadgesContainer' -import EcogesturesContainer from 'components/ContainerComponents/EcogestureContainer/EcogesturesContainer' const ChallengesViewContainer: React.FC = () => { const [headerHeight, setHeaderHeight] = useState<number>(0) - const [selectedView, setSelectedView] = useState<SelectView>(0) + const defineHeaderHeight = (height: number) => { setHeaderHeight(height) } - const handleClickSelectedViewForNavigation = (_selectedView: SelectView) => { - setSelectedView(_selectedView) - } return ( <React.Fragment> <CozyBar titleKey={'COMMON.APP_CHALLENGE_TITLE'} /> <Header setHeaderHeight={defineHeaderHeight} desktopTitleKey={'COMMON.APP_CHALLENGE_TITLE'} - > - <ChallengeNavigator - selectedView={selectedView} - handleClickSelectView={handleClickSelectedViewForNavigation} - /> - </Header> + ></Header> <Content height={headerHeight} background="var(--darkLight2)"> - {selectedView === 0 ? <BadgesContainer /> : <EcogesturesContainer />} + <BadgesContainer /> </Content> </React.Fragment> ) diff --git a/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx index cf4ac4cc891b2b966dd6d9f1656b28ae203e9ad3..7fb2270c5bbdefe272780ee6e1f5a53d1572e116 100644 --- a/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx +++ b/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx @@ -20,6 +20,7 @@ import AvailableChallengeDetailsViewContainer from './AvailableChallengeDetailsV import SplashContainer from 'components/ContainerComponents/SplashContainer/SplashContainer' import LegalNoticeViewContainer from './LegalNoticeViewContainer' import FeedbackContainer from 'components/ContainerComponents/FeedbackContainer/FeedbackContainer' +import EcogesturesContainer from 'components/ContainerComponents/EcogestureContainer/EcogesturesContainer' import ProfileViewContainer from './ProfileViewContainer' export const history = createBrowserHistory() @@ -119,6 +120,7 @@ export const ViewContainer = () => { </> )} /> + <Route path="/ecogestures" component={EcogesturesContainer} /> <Route path="/profile" component={ProfileViewContainer} /> <Route path="/splash" component={SplashContainer} /> <Redirect from="/" to="/consumption" /> diff --git a/src/components/ContentComponents/ChallengeNavigator/ChallengeNavigator.tsx b/src/components/ContentComponents/ChallengeNavigator/ChallengeNavigator.tsx deleted file mode 100644 index ad7d1aeb598de56ef0e523d1dc4a03a50b0a9a44..0000000000000000000000000000000000000000 --- a/src/components/ContentComponents/ChallengeNavigator/ChallengeNavigator.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react' -import { translate } from 'cozy-ui/react/I18n' -import Tabs from 'components/CommonKit/Tabs/StyledBlueTabs' -import Tab from 'components/CommonKit/Tabs/StyledBlueTab' -import { SelectView } from 'services/dataChallengeContracts' - -interface ChallengeNavigatorProps { - selectedView: SelectView - handleClickSelectView(selectView: SelectView): void - t: Function -} - -const ChallengeNavigator: React.FC<ChallengeNavigatorProps> = ({ - selectedView, - handleClickSelectView, - t, -}: ChallengeNavigatorProps) => { - // const view = SelectView[selectedView[0]] - const handleClick = (selectedView: SelectView) => { - handleClickSelectView(selectedView) - } - - const defineNavTab = () => { - return [SelectView.BADGES, SelectView.ECOGESTURES] - } - - const defineLabel = (inputSelectedView: SelectView) => { - const classes = - inputSelectedView === selectedView ? `tab-text-on` : `tab-text-off` - return ( - <span className={classes}> - {t(`Nav.${SelectView[inputSelectedView]}`)} - </span> - ) - } - - return ( - <div className="cn"> - <Tabs className="cn-tabs" value={selectedView} variant="fullWidth"> - {defineNavTab().map((inputSelectedView, index) => { - return ( - <Tab - className="cn-tab" - key={index} - value={inputSelectedView} - label={defineLabel(inputSelectedView)} - onClick={() => handleClick(inputSelectedView)} - /> - ) - })} - </Tabs> - </div> - ) -} - -export default translate()(ChallengeNavigator) diff --git a/src/components/ContentComponents/Navbar/Navbar.tsx b/src/components/ContentComponents/Navbar/Navbar.tsx index 4cc276017ab15801a18e7760416af14e5a438e48..c9f4086a5b58f21ee3381b55955e857157291e8d 100644 --- a/src/components/ContentComponents/Navbar/Navbar.tsx +++ b/src/components/ContentComponents/Navbar/Navbar.tsx @@ -10,6 +10,8 @@ import ChallengeIconOff from 'assets/icons/tabbar/defi/off.svg' import ParameterIconOff from 'assets/icons/tabbar/parametre/off.svg' import ConsoIconOn from 'assets/icons/tabbar/conso/on.svg' import ParameterIconOn from 'assets/icons/tabbar/parametre/on.svg' +import EcogestesIconOn from 'assets/icons/tabbar/ecogeste/on.svg' +import EcogestesIconOff from 'assets/icons/tabbar/ecogeste/off.svg' import ProfileIconOn from 'assets/icons/tabbar/profile/on.svg' import ProfileIconOff from 'assets/icons/tabbar/profile/off.svg' import logoGrandLyon from 'assets/icons/tabbar/grand-lyon.svg' @@ -49,7 +51,17 @@ export const Navbar = ({ t }: NavbarProps) => { {t('Nav.challenges')} </NavLink> </li> - + <li className="c-nav-item"> + <NavLink + to="/ecogestures" + className="c-nav-link" + activeClassName="is-active" + > + <Icon className="c-nav-icon off" icon={EcogestesIconOff} /> + <Icon className="c-nav-icon on" icon={EcogestesIconOn} /> + {t('Nav.ECOGESTURES')} + </NavLink> + </li> <li className="c-nav-item"> <NavLink to="/profile" diff --git a/src/locales/fr.json b/src/locales/fr.json index e063790cb983bf298ab633c70a9a00389e79096a..2469c9cfbeb901aaefba94cc6463c55d341b28bc 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -20,7 +20,7 @@ "COMMON": { "APP_TITLE": "Ecolyo", "APP_CHALLENGE_TITLE": "Défis", - "APP_ECO_GESTURE_TITLE": "Eco-gestes", + "APP_ECO_GESTURE_TITLE": "Ecogestes", "APP_PARAMETERS_TITLE": "Options", "APP_HELLO": "Bonjour", "APP_PRESENTATION": "Votre consommation d'énergie",