]> Untitled Git - lemmy-ui.git/blob - src/shared/utils/app/setup-date-fns.ts
fix submodule error
[lemmy-ui.git] / src / shared / utils / app / setup-date-fns.ts
1 import setDefaultOptions from "date-fns/setDefaultOptions";
2 import { I18NextService } from "../../services";
3
4 const EN_US = "en-US";
5
6 export default async function () {
7   let lang = I18NextService.i18n.language;
8   if (lang === "en") {
9     lang = EN_US;
10   }
11
12   // if lang and country are the same, then date-fns expects only the lang
13   // eg: instead of "fr-FR", we should import just "fr"
14
15   if (lang.includes("-")) {
16     const parts = lang.split("-");
17     if (parts[0] === parts[1].toLowerCase()) {
18       lang = parts[0];
19     }
20   }
21
22   let locale;
23
24   try {
25     locale = (
26       await import(
27         /* webpackExclude: /\.js\.flow$/ */
28         `date-fns/locale/${lang}`
29       )
30     ).default;
31   } catch (e) {
32     console.log(
33       `Could not load locale ${lang} from date-fns, falling back to ${EN_US}`,
34     );
35     locale = (
36       await import(
37         /* webpackExclude: /\.js\.flow$/ */
38         `date-fns/locale/${EN_US}`
39       )
40     ).default;
41   }
42   setDefaultOptions({
43     locale,
44   });
45 }