Blame main.js

Packit Service 0246ed
import "core-js/stable";
Packit Service 0246ed
// redux-saga uses generators, use regenerator-runtime/runtime to transform generators
Packit Service 0246ed
import "regenerator-runtime/runtime";
Packit Service 0246ed
Packit Service 0246ed
import "whatwg-fetch";
Packit Service 0246ed
Packit Service 0246ed
// Contains PF3 stylesheets and base for PF4
Packit Service 0246ed
import "./lib/patternfly/patternfly-cockpit.scss";
Packit Service 0246ed
Packit Service 0246ed
import React from "react";
Packit Service 0246ed
import ReactDOM from "react-dom";
Packit Service 0246ed
import { addLocaleData, IntlProvider } from "react-intl";
Packit Service 0246ed
import enLocaleData from "react-intl/locale-data/en";
Packit Service 0246ed
import FastClick from "fastclick";
Packit Service 0246ed
import { Provider } from "react-redux";
Packit Service 0246ed
import "@patternfly/patternfly/patternfly-addons.css";
Packit Service 0246ed
import "@patternfly/patternfly/layouts/Flex/flex.css";
Packit Service 0246ed
import "@patternfly/patternfly/utilities/Display/display.css";
Packit Service 0246ed
import "./public/custom.css";
Packit Service 0246ed
import "bootstrap";
Packit Service 0246ed
import cockpit from "cockpit";
Packit Service 0246ed
Packit Service 0246ed
import store from "./core/store";
Packit Service 0246ed
import router from "./core/router";
Packit Service 0246ed
import history from "./core/history";
Packit Service 0246ed
Packit Service 0246ed
// Intialize any necessary locale data, and load translated messages
Packit Service 0246ed
const translations = require("./build/translations.json");
Packit Service 0246ed
Packit Service 0246ed
const languages = [...new Set(Object.keys(translations).map((lang) => lang.split("_")[0]))];
Packit Service 0246ed
for (const lang of languages) {
Packit Service 0246ed
  const localData = require(`react-intl/locale-data/${lang}`); // eslint-disable-line import/no-dynamic-require
Packit Service 0246ed
  addLocaleData(localData);
Packit Service 0246ed
}
Packit Service 0246ed
// still need english
Packit Service 0246ed
addLocaleData(enLocaleData);
Packit Service 0246ed
Packit Service 0246ed
const routes = require("./routes.json");
Packit Service 0246ed
// Loaded with utils/routes-loader.js
Packit Service 0246ed
const container = document.getElementById("main");
Packit Service 0246ed
Packit Service 0246ed
const userLanguage = cockpit.language;
Packit Service 0246ed
Packit Service 0246ed
let messages;
Packit Service 0246ed
if (userLanguage in translations) {
Packit Service 0246ed
  messages = translations[userLanguage];
Packit Service 0246ed
}
Packit Service 0246ed
Packit Service 0246ed
let localeLang = "en";
Packit Service 0246ed
if (userLanguage) {
Packit Service 0246ed
  localeLang = userLanguage.includes("_") ? userLanguage.replace("_", "-") : userLanguage;
Packit Service 0246ed
}
Packit Service 0246ed
Packit Service 0246ed
function renderComponent(component) {
Packit Service 0246ed
  ReactDOM.render(
Packit Service 0246ed
    <Provider store={store}>
Packit Service 0246ed
      {messages !== undefined ? (
Packit Service 0246ed
        <IntlProvider locale={localeLang} messages={messages}>
Packit Service 0246ed
          {component}
Packit Service 0246ed
        </IntlProvider>
Packit Service 0246ed
      ) : (
Packit Service 0246ed
        <IntlProvider locale="en">{component}</IntlProvider>
Packit Service 0246ed
      )}
Packit Service 0246ed
    </Provider>,
Packit Service 0246ed
    container
Packit Service 0246ed
  );
Packit Service 0246ed
}
Packit Service 0246ed
Packit Service 0246ed
// Find and render a web page matching the current URL path,
Packit Service 0246ed
// if such page is not found then render an error page (see routes.json, core/router.js)
Packit Service 0246ed
function render(location) {
Packit Service 0246ed
  router
Packit Service 0246ed
    .resolve(routes, location)
Packit Service 0246ed
    .then(renderComponent)
Packit Service 0246ed
    .catch((error) => router.resolve(routes, { ...location, error }).then(renderComponent));
Packit Service 0246ed
}
Packit Service 0246ed
Packit Service 0246ed
// Handle client-side navigation by using HTML5 History API
Packit Service 0246ed
// For more information visit https://github.com/ReactJSTraining/history/tree/master/docs#readme
Packit Service 0246ed
history.listen(render);
Packit Service 0246ed
render(history.getCurrentLocation());
Packit Service 0246ed
Packit Service 0246ed
// Eliminates the 300ms delay between a physical tap
Packit Service 0246ed
// and the firing of a click event on mobile browsers
Packit Service 0246ed
// https://github.com/ftlabs/fastclick
Packit Service 0246ed
FastClick.attach(document.body);