Welcome to mirror list, hosted at ThFree Co, Russian Federation.

index.js « language_switcher « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b224e2510bbd42353ba5483da6a9d64c73674fa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import Vue from 'vue';
import { getCookie } from '~/lib/utils/common_utils';
import LanguageSwitcher from './components/app.vue';
import { PREFERRED_LANGUAGE_COOKIE_KEY } from './constants';

export const initLanguageSwitcher = () => {
  const el = document.querySelector('.js-language-switcher');
  if (!el) return false;
  const locales = JSON.parse(el.dataset.locales);
  const preferredLangCode = getCookie(PREFERRED_LANGUAGE_COOKIE_KEY);
  const preferredLocale = locales.find((locale) => locale.value === preferredLangCode);

  return new Vue({
    el,
    provide: {
      locales,
      preferredLocale,
    },
    render(createElement) {
      return createElement(LanguageSwitcher);
    },
  });
};