{"version":3,"sources":["pages/Locale/Locale.tsx"],"names":["Locale","useTitle","process","locale","setLocale","useLocale","localeObject","locales","find","language","displayName","undefined","history","useHistory","disableFrenchEpic","FeatureFlagValues","disableGermanEpic","onLanguageClick","useCallback","goBack","setTimeout","localStorage","setItem","sessionStorage","React","createElement","Fragment","className","role","aria-level","FormattedMessage","id","defaultMessage","map","index","visible","langCode","isFrenchEpicDisabled","key","Link","ariaLabel","concat","label","title","englishName","onClick","bind","target"],"mappings":"qHAAA,sIAWO,MAAMA,EAAkCA,KAC7CC,YAASC,0DACT,MAAM,OAAEC,EAAM,UAAEC,GAAcC,cACxBC,EAAeC,IAAQC,KAAKF,GAAgBA,EAAaH,SAAWA,GACpEM,EAAWH,EAAeA,EAAaI,iBAAcC,EACrDC,EAAUC,cACVC,EAAoBC,cAAoBD,kBACxCE,EAAoBD,cAAoBC,kBAExCC,EAAkBC,sBACtBf,IACES,EAAQO,SACRC,WAAW,KACTC,aAAaC,QAAQ,aAAcnB,GACnCC,EAAUD,GAAQ,GAClBoB,eAAeD,QAAQ,SAAUnB,IAChC,KAEL,CAACC,EAAWQ,IASd,OACEY,IAAAC,cAACD,IAAME,SAAQ,KACbF,IAAAC,cAAA,OAAKE,UAAU,cACbH,IAAAC,cAAA,OAAKG,KAAK,UAAUD,UAAU,mBAAmBE,aAAY,GAC3DL,IAAAC,cAAA,UACED,IAAAC,cAAA,QAAME,UAAU,yCACdH,IAAAC,cAACK,IAAgB,CAAAC,GAAA,SAACC,eAAc,4CAGpCR,IAAAC,cAAA,OAAKE,UAAU,0CACbH,IAAAC,cAACK,IAAgB,CAAAC,GAAA,SAACC,eAAc,uCAC/B,KACAvB,IAGLe,IAAAC,cAAA,OAAKG,KAAK,SAASD,UAAU,qBAC3BH,IAAAC,cAAA,MAAIE,UAAU,qBACXpB,IAAQ0B,IACP,CAAC3B,EAAc4B,KACb5B,OAAyB,IAAzBA,EAAa6B,UAtBGC,EAuBM9B,EAAaH,SAtBxCa,IAAmC,UAAboB,GAAqC,UAAbA,GAAqC,UAAbA,OAJjDA,IACrBtB,IAAmC,UAAbsB,GAAqC,UAAbA,GAAqC,UAAbA,GA0BhEC,CAAqB/B,EAAaH,SACjCqB,IAAAC,cAAA,MAAIa,IAAKJ,EAAOP,UAAU,cACxBH,IAAAC,cAACc,IAAI,CACHC,UAAS,aAAAC,OAAenC,EAAaI,aACrCgC,MAAOpC,EAAaI,YACpBiC,MAAOrC,EAAasC,YAEpBC,QAAS5B,EAAgB6B,KAAK,KAAMxC,EAAaH,QACjDwB,UAAS,uCAAAc,OACPnC,EAAaH,SAAWA,EAAS,2CAA6C,IAEhF4C,OAAO,YAEPvB,IAAAC,cAAA,QAAME,UAAWrB,EAAaH,SAAWA,EAAS,GAAK,qBAAsBG,EAAaI,eArChF0B,aAiDjBpC","file":"static/js/31.a4f3aef8.chunk.js","sourcesContent":["import React, { useCallback } from 'react';\r\nimport { Link } from '@fluentui/react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport { useTitle } from '../../hooks';\r\nimport { locales } from '../../locales';\r\nimport { useLocale } from '../../components/LocalizationProvider/LocalizationProvider';\r\nimport FeatureFlagValues from '../../utilities/featureFlagValues';\r\nimport './Locale.scss';\r\n\r\nexport const Locale: React.FunctionComponent = () => {\r\n useTitle(process.env.REACT_APP_SITE_NAME + ': Select your language');\r\n const { locale, setLocale } = useLocale();\r\n const localeObject = locales.find(localeObject => localeObject.locale === locale);\r\n const language = localeObject ? localeObject.displayName : undefined;\r\n const history = useHistory();\r\n const disableFrenchEpic = FeatureFlagValues().disableFrenchEpic;\r\n const disableGermanEpic = FeatureFlagValues().disableGermanEpic;\r\n\r\n const onLanguageClick = useCallback(\r\n locale => {\r\n history.goBack();\r\n setTimeout(() => {\r\n localStorage.setItem('initLocale', locale);\r\n setLocale(locale, true);\r\n sessionStorage.setItem('locale', locale);\r\n }, 10);\r\n },\r\n [setLocale, history]\r\n );\r\n\r\n const isFrenchEpicDisabled = (langCode: string) => {\r\n return disableFrenchEpic && (langCode === 'fr-FR' || langCode === 'es-ES' || langCode === 'pt-BR');\r\n };\r\n const isGermanEpicDisabled = (langCode: string) => {\r\n return disableGermanEpic && (langCode === 'de-DE' || langCode === 'it-IT' || langCode === 'id-ID');\r\n };\r\n return (\r\n <React.Fragment>\r\n <div className=\"localePage\">\r\n <div role=\"heading\" className=\"localePageHeader\" aria-level={1}>\r\n <h1>\r\n <span className=\"ms-fontSize-30 ms-fontWeight-semibold\">\r\n <FormattedMessage defaultMessage=\"Select your language\" />\r\n </span>\r\n </h1>\r\n <div className=\"ms-fontSize-30 ms-fontWeight-semilight\">\r\n <FormattedMessage defaultMessage=\"Current selection\" />\r\n {': '}\r\n {language}\r\n </div>\r\n </div>\r\n <div role=\"region\" className=\"languagesPageGrid\">\r\n <ul className=\"languagesPageList\">\r\n {locales.map(\r\n (localeObject, index: number) =>\r\n localeObject.visible === true &&\r\n !isGermanEpicDisabled(localeObject.locale) &&\r\n !isFrenchEpicDisabled(localeObject.locale) && (\r\n <li key={index} className=\"localeItem\">\r\n <Link\r\n ariaLabel={`Languages ${localeObject.displayName}`}\r\n label={localeObject.displayName}\r\n title={localeObject.englishName}\r\n // eslint-disable-next-line react/jsx-no-bind\r\n onClick={onLanguageClick.bind(null, localeObject.locale)}\r\n className={`ms-Grid-col ms-sm12 ms-md12 ms-lg12 ${\r\n localeObject.locale === locale ? 'localeCurrentItem ms-fontWeight-semibold' : ''\r\n }`}\r\n target=\"/welcome\"\r\n >\r\n <span className={localeObject.locale === locale ? '' : 'localeCurrentText'}>{localeObject.displayName}</span>\r\n </Link>\r\n </li>\r\n )\r\n )}\r\n </ul>\r\n </div>\r\n </div>\r\n </React.Fragment>\r\n );\r\n};\r\n\r\nexport default Locale;\r\n"],"sourceRoot":""}