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

Idrinth / api-bench / 8805786888

23 Apr 2024 07:00PM UTC coverage: 84.256% (+0.006%) from 84.25%
8805786888

Pull #874

github

web-flow
Merge 542869f11 into 0eadee98e
Pull Request #874: feature(documentation-website): add language switch on footer (#702)

529 of 826 branches covered (64.04%)

Branch coverage included in aggregate %.

30 of 34 new or added lines in 3 files covered. (88.24%)

5561 of 6402 relevant lines covered (86.86%)

1051.08 hits per line

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

87.1
/documentation-website/src/components/language-switch.tsx
1
import React, {
1✔
2
  lazy,
1✔
3
  Suspense,
1✔
4
  useState,
1✔
5
} from 'react';
1✔
6
import Lang from './lang.tsx';
1✔
7
import languages from '../locales/languages';
1✔
8
import languageKey from '../locales/language-key.ts';
1✔
9
import t from './t.ts';
1✔
10
import Window from './window.ts';
1✔
11
import './language-switch.scss';
1✔
12

1✔
13
const LanguageSwitch = () => {
101✔
14
  const that: Window = window as unknown as Window;
376✔
15

16
  const [
17
    language,
18
    setLanguage,
19
  ] = useState<string>(() => that?.localStorage?.getItem('language',) ?? 'en',);
376✔
20

21
  const changeLanguage = (newLanguage: string,) => {
376✔
NEW
22
    setLanguage(newLanguage,);
×
NEW
23
    that?.localStorage?.setItem('language', newLanguage,);
×
24
    // reload page
NEW
25
    that?.location?.reload();
×
26
  };
27

28
  const EL = lazy(async() => {
376✔
29
    const ariaLabel = await t('language-switch.aria',);
373✔
30
    return {
370✔
31
      default: () => <select
963✔
32
        className='language-switch'
33
        aria-label={ ariaLabel }
34
        value={ language }
NEW
35
        onChange={ (event,) => changeLanguage(event.target.value,) }
×
36
      >{
37
          languages.map((lang,) => <option
1,926✔
38
            key={ lang }
39
            value={ lang }
40
          >
41
            <Lang lnkey={`languages.${ lang }` as languageKey}/>
42
          </option>,)
43
        }
44
      </select>,
45
    };
46
  },);
47

48
  return <Suspense fallback={
376✔
49
    <select className='language-switch'>{ languages.map((lang,) => <option
752✔
50
      key={ lang }
51
      value={ lang }
52
    >{ lang }</option>,) }</select>}>
53
    <EL/>
54
  </Suspense>;
55
};
56

1✔
57
export default LanguageSwitch;
1✔
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

© 2025 Coveralls, Inc