Files
WorkManager/app/index.js
2024-12-13 08:53:01 +01:00

64 lines
1.4 KiB
JavaScript

(function() {
// globals
MyApp.Utils = {};
// utility functions
// app functions
// events
// app startup
//configure noty
Noty.overrideDefaults({
layout: 'topRight',
theme: 'bootstrap-v4',
closeWith: ['click', 'button']
});
// set language
i18next
.use(i18nextBrowserLanguageDetector)
.use(i18nextXHRBackend)
.init({
detection: {
order: ['querystring', 'cookie', 'navigator'],
lookupQuerystring: 'lang',
lookupCookie: 'current-language',
caches: ['cookie'],
cookieMinutes: 5256000,
cookieOptions: {samesite: 'lax'}
},
whitelist: ['en', 'de', 'it'],
load: 'languageOnly',
fallbackLng: 'it',
backend: {
loadPath: '/i18n/{{lng}}.json'
}
})
.then(function() {
// language initialized
// if there is a lang query string parameter, remove it and reload: we save the language in a cookie so the url stays nice
var urlQueryString = new URLSearchParams(window.location.search);
if (urlQueryString.has('lang')) {
urlQueryString.delete('lang');
var newUrl = [location.protocol, '//', location.host, location.pathname].join('') +
(urlQueryString.toString() !== '' ? '?' + urlQueryString.toString() : '') +
window.location.hash;
window.location = newUrl;
return;
}
// render main shell
MyApp.Shell.renderShell()
.then(function() {
//setup routing
page({
hashbang: true
});
});
});
})();