• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

EcrituresNumeriques / stylo / 13526047851

25 Feb 2025 04:26PM UTC coverage: 26.874% (-0.01%) from 26.885%
13526047851

push

github

web-flow
Merge pull request #1270 from EcrituresNumeriques/feat-traductionespaceenespagnol

Traduction interface en espagnol

368 of 570 branches covered (64.56%)

Branch coverage included in aggregate %.

0 of 6 new or added lines in 1 file covered. (0.0%)

3630 of 14307 relevant lines covered (25.37%)

1.86 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/front/src/components/header/LanguagesMenu.jsx
1
import React, { useCallback, useEffect, useState } from 'react'
×
2
import { useTranslation } from 'react-i18next'
×
3
import useComponentVisible from '../../hooks/componentVisible.js'
×
4
import i18n from '../../i18n.js'
×
5
import LanguagesIcon from './LanguagesIcon.jsx'
×
6
import styles from './LanguagesMenu.module.scss'
×
7

8
export default function LanguagesMenu() {
×
9
  const { t } = useTranslation()
×
10
  const { ref, isComponentVisible, setIsComponentVisible } =
×
11
    useComponentVisible(false)
×
12

13
  const [language, setLanguage] = useState(i18n.language)
×
14

15
  useEffect(() => {
×
16
    setLanguage(i18n.language)
×
17
  }, [i18n.language])
×
18

19
  const handleLanguageChange = useCallback(async (value) => {
×
20
    await i18n.changeLanguage(value)
×
21
    setLanguage(value)
×
22
  }, [])
×
23

24
  useEffect(() => {
×
25
    setIsComponentVisible(false)
×
26
  }, [])
×
27

28
  return (
×
29
    <div ref={ref} className={styles.container}>
×
30
      <div
×
31
        className={styles.languagesMenuLink}
×
32
        onClick={() => setIsComponentVisible(!isComponentVisible)}
×
33
      >
34
        <LanguagesIcon width={20} height={20} />
×
35
      </div>
×
36
      {isComponentVisible && (
×
37
        <div className={styles.menu}>
×
38
          <div>
×
39
            <ul className={styles.languages}>
×
40
              <li
×
41
                onClick={() => handleLanguageChange('en')}
×
42
                className={language === 'en' ? styles.activeStyle : ''}
×
43
                title="English"
×
44
              >
×
45
                English
46
              </li>
×
47
              <li
×
48
                onClick={() => handleLanguageChange('fr')}
×
49
                className={language === 'fr' ? styles.activeStyle : ''}
×
50
                title="Français"
×
51
              >
×
52
                Français
53
              </li>
×
NEW
54
              <li
×
NEW
55
                onClick={() => handleLanguageChange('es')}
×
NEW
56
                className={language === 'es' ? styles.activeStyle : ''}
×
NEW
57
                title="Español"
×
NEW
58
              >
×
59
                Español
NEW
60
              </li>
×
61
            </ul>
×
62
          </div>
×
63
        </div>
×
64
      )}
65
    </div>
×
66
  )
67
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc