109 lines
3.9 KiB
JavaScript
109 lines
3.9 KiB
JavaScript
import translationGerman from '../translations/de.json';
|
|
import translationEn from '../translations/en.json';
|
|
import {App, Translator, DataManager, Toast} from "cordova-sites/dist/client";
|
|
|
|
import "cordova-sites-user-management/dist/client/js/translationInit"
|
|
import "cordova-sites/dist/client/js/translationInit"
|
|
|
|
import {LoginSite, RegistrationSite, UserManager} from "cordova-sites-user-management/dist/client";
|
|
|
|
import {BaseDatabase} from "cordova-sites-database/dist/cordova-sites-database";
|
|
import {DeleteUserManagement1000000000000} from "cordova-sites-user-management/dist/shared//migrations/DeleteUserManagement";
|
|
import {SetupUserManagement1000000001000} from "cordova-sites-user-management/dist/shared/migrations/SetupUserManagement";
|
|
import {Setup1000000002000} from "../../shared/model/migration/shared/Setup";
|
|
import {SetupEasySync1000000000500} from "cordova-sites-easy-sync/dist/client";
|
|
import {MainMenuSite} from "./Sites/MainMenuSite";
|
|
import {ClientSetup1000000002001} from "./model/migration/ClientSetup";
|
|
import {EasySyncClientDb} from "cordova-sites-easy-sync/dist/client/EasySyncClientDb";
|
|
import {NavbarFragment} from "cordova-sites/dist/client/js/Context/Menu/NavbarFragment";
|
|
import {NativeStoragePromise} from "cordova-sites/dist/client/js/NativeStoragePromise";
|
|
|
|
import music from "../sound/brightAndBeautifull__.mp3";
|
|
import {SoundManager} from "cordova-sites/dist/client/js/Sound/SoundManager";
|
|
|
|
window["JSObject"] = Object;
|
|
|
|
//Disable Google Analytics for VideoJS
|
|
window["HELP_IMPROVE_VIDEOJS"] = false;
|
|
|
|
LoginSite.ADD_LOGIN_ACTION = false;
|
|
RegistrationSite.ADD_REGISTRATION_ACTION = false;
|
|
|
|
App.addInitialization(async () => {
|
|
Translator.init({
|
|
translations: {
|
|
"de": translationGerman,
|
|
"en": translationEn
|
|
},
|
|
fallbackLanguage: "de",
|
|
// markTranslations: true,
|
|
markUntranslatedTranslations: true,
|
|
});
|
|
|
|
//Setting Title
|
|
NavbarFragment.title = "WordRotator";
|
|
|
|
let soundManager = SoundManager.getInstance();
|
|
soundManager.play(SoundManager.CHANNELS.MUSIC, {
|
|
audio: music,
|
|
loop: true,
|
|
volume: 0.6,
|
|
muted: (await NativeStoragePromise.getItem("play-music", "1") !== "1")
|
|
}).catch(e => console.error(e));
|
|
|
|
await UserManager.getInstance().getMe().catch(e => console.error(e));
|
|
|
|
UserManager.getInstance().addLoginChangeCallback(async (isLoggedIn) => {
|
|
if (isLoggedIn) {
|
|
// await new SyncJob().sync([UserManager.syncParamFor(Definition), UserManager.syncParamFor(ExerciseProgress), UserManager.syncParamFor(WrongAnswer)]).catch(e => console.error(e));
|
|
}
|
|
});
|
|
});
|
|
|
|
DataManager._basePath = __HOST_ADDRESS__;
|
|
DataManager.onlineCallback = isOnline => {
|
|
if (!isOnline){
|
|
new Toast("not online!").show();
|
|
}
|
|
};
|
|
|
|
Object.assign(BaseDatabase.CONNECTION_OPTIONS, {
|
|
logging: ["error",],
|
|
synchronize: false,
|
|
migrationsRun: true,
|
|
migrations: [
|
|
DeleteUserManagement1000000000000,
|
|
SetupEasySync1000000000500,
|
|
SetupUserManagement1000000001000,
|
|
Setup1000000002000,
|
|
ClientSetup1000000002001,
|
|
]
|
|
});
|
|
|
|
let app = new App();
|
|
app.start(MainMenuSite).catch(e => console.error(e)).then(async () => {
|
|
window["queryDb"] = async (sql) => {
|
|
// SELECT name FROM my_db.sqlite_master WHERE type='table';
|
|
|
|
|
|
// console.log("DB", EasySyncClientDb.getInstance());
|
|
let res = await EasySyncClientDb.getInstance().rawQuery(sql);
|
|
console.log(res);
|
|
return res;
|
|
}
|
|
});
|
|
app.ready(() => {
|
|
console.log("initialisation over", new Date());
|
|
|
|
if (device.platform === "browser"){
|
|
// Check that service workers are supported
|
|
if ('serviceWorker' in navigator) {
|
|
// Use the window load event to keep the page load performant
|
|
window.addEventListener('load', () => {
|
|
navigator.serviceWorker.register('service-worker.js');
|
|
});
|
|
}
|
|
}
|
|
|
|
});
|