Skip to content
Snippets Groups Projects
EcogestureCard.tsx 2.61 KiB
Newer Older
  • Learn to ignore specific revisions
  • Hugo NOUTS's avatar
    Hugo NOUTS committed
    import React from 'react'
    import { translate } from 'cozy-ui/react/I18n'
    import { EcogestureType } from 'services/dataChallengeContracts'
    import StyledEcogestureCard from 'components/CommonKit/Card/StyledEcogestureCard'
    
    import Icon from 'cozy-ui/react/Icon'
    import { getEcogestureIconSVG } from '../../CommonKit/SVG/EcogesturesSVG'
    
    Hugo NOUTS's avatar
    Hugo NOUTS committed
    
    interface EcogestureCardProps {
      ecogesture: EcogestureType
      handleClick?: (ecogesture: EcogestureType) => void
      t: Function
      challengeEcogesture?: number
    }
    
    const EcogestureCard: React.FC<EcogestureCardProps> = ({
      ecogesture,
      handleClick,
      t,
      challengeEcogesture,
    }: EcogestureCardProps) => {
      const handleCardclick = () => {
        handleClick && ecogesture ? handleClick(ecogesture) : null
      }
    
    Hugo NOUTS's avatar
    Hugo NOUTS committed
      return (
        <>
          {challengeEcogesture ? (
            <div className={`cp-eg-${challengeEcogesture}`}>
              <StyledEcogestureCard border={true} onClick={handleCardclick}>
    
                <div className="ec">
                  <div className="ec-content ec-content-challenge">
                    {ecogesture.iconName && (
                      <div>
                        <Icon
                          className="Icon"
                          icon={getEcogestureIconSVG(ecogesture.iconName)}
                          size={64}
                        />
                      </div>
                    )}
                    <div className="ec-content-challenge-text">
                      {ecogesture.shortName}
                    </div>
    
    Hugo NOUTS's avatar
    Hugo NOUTS committed
                </div>
              </StyledEcogestureCard>
            </div>
          ) : (
            <StyledEcogestureCard
              unlocked={ecogesture.unlocked ? ecogesture.unlocked : false}
              onClick={handleCardclick}
            >
              <div className="ec">
    
                <div
                  className={`ec-content ${
                    ecogesture.unlocked ? 'ec-content-unlocked' : ''
                  }`}
                >
    
                  <div className="ec-content-icon">
                    {ecogesture.unlocked && ecogesture.iconName && (
    
                      <Icon
                        className="Icon"
                        icon={getEcogestureIconSVG(ecogesture.iconName)}
    
                    )}
                  </div>
    
    Hugo NOUTS's avatar
    Hugo NOUTS committed
                  <div className="ec-content-short-name text-16-bold">
                    {ecogesture.shortName}
                  </div>
    
                  <div className="ec-content-nwh">
    
    Hugo NOUTS's avatar
    Hugo NOUTS committed
                    <span className="text-16-bold">{ecogesture.nwh}</span>
                    <span className="text-16-normal"> nWh</span>
                  </div>
                </div>
              </div>
            </StyledEcogestureCard>
          )}
        </>
      )
    }
    
    export default translate()(EcogestureCard)