new version
This commit is contained in:
parent
612aa8168f
commit
71bde38da4
1
.idea/wordRotator.iml
generated
1
.idea/wordRotator.iml
generated
@ -3,7 +3,6 @@
|
|||||||
<component name="NewModuleRootManager">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/module/Application/src" isTestSource="false" packagePrefix="Application\" />
|
<sourceFolder url="file://$MODULE_DIR$/src/module/Application/src" isTestSource="false" packagePrefix="Application\" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/module/Application/pwa/public" isTestSource="false" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/public/js" />
|
<excludeFolder url="file://$MODULE_DIR$/public/js" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/publicTest" />
|
<excludeFolder url="file://$MODULE_DIR$/publicTest" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/event-manager" />
|
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/event-manager" />
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
cd $(dirname "$0")/..
|
cd $(dirname "$0")/..
|
||||||
npm run build
|
npm run build 1
|
||||||
7661
public/js/app.js
7661
public/js/app.js
File diff suppressed because one or more lines are too long
@ -3403,16 +3403,41 @@ class GapiHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class MyDb {
|
class MyDb {
|
||||||
constructor(dbName, version, indexedDB) {
|
constructor(dbName, version) {
|
||||||
indexedDB = indexedDB || window["myIndexedDB"] || window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB || window.shimIndexedDB;
|
this.queryPromise = new Promise(async (resolve, reject) => {
|
||||||
console.log("MyDB", indexedDB);
|
let indexedDB = null;
|
||||||
this._conn = indexedDB.open(dbName, version);
|
if (window["sqlite"]){
|
||||||
|
indexedDB = new Promise(sqliteResolve => {
|
||||||
|
function testSqlLiteResolve(){
|
||||||
|
if (window["sqliteIndexedDB"]){
|
||||||
|
sqliteResolve(window["sqliteIndexedDB"]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setTimeout(testSqlLiteResolve, 200);
|
||||||
|
}
|
||||||
|
console.log("t");
|
||||||
|
}
|
||||||
|
testSqlLiteResolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
indexedDB = Promise.resolve(window["myIndexedDB"] || window["indexedDB"] || window["mozIndexedDB"]|| window["webkitIndexedDB"]|| window["msIndexedDB"] || window["shimIndexedDB"]);
|
||||||
|
}
|
||||||
|
console.log("indexeddb 1");
|
||||||
|
this.indexeddb = (await indexedDB);
|
||||||
|
console.log("indexeddb 2");
|
||||||
|
this._conn = this.indexeddb.open(dbName, version);
|
||||||
|
|
||||||
let myDB = this;
|
let myDB = this;
|
||||||
this._conn.onupgradeneeded = function (upgradeEvent) {
|
this._conn.onupgradeneeded = function (upgradeEvent) {
|
||||||
myDB.upgrade(myDB._conn.result, upgradeEvent.oldVersion, upgradeEvent.newVersion, upgradeEvent);
|
try {
|
||||||
};
|
myDB.upgrade(myDB._conn.result, upgradeEvent.oldVersion, upgradeEvent.newVersion, upgradeEvent);
|
||||||
this.queryPromise = new Promise(function (resolve) {
|
}
|
||||||
|
catch(e){
|
||||||
|
reject(e);
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
};
|
||||||
myDB._conn.onsuccess = function (e) {
|
myDB._conn.onsuccess = function (e) {
|
||||||
myDB._db = myDB._conn.result;
|
myDB._db = myDB._conn.result;
|
||||||
resolve(e);
|
resolve(e);
|
||||||
@ -3446,7 +3471,6 @@ class MyDb {
|
|||||||
transactionMode = "readonly";
|
transactionMode = "readonly";
|
||||||
}
|
}
|
||||||
return this.openTransaction(name, transactionMode, function (t) {
|
return this.openTransaction(name, transactionMode, function (t) {
|
||||||
console.log("openStore", name, t);
|
|
||||||
callback(t.objectStore(name));
|
callback(t.objectStore(name));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -3491,13 +3515,10 @@ class MyDb {
|
|||||||
|
|
||||||
load(key, objectStore) {
|
load(key, objectStore) {
|
||||||
let self = this;
|
let self = this;
|
||||||
return new Promise( (resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
console.log("load 1");
|
|
||||||
self.openStore(objectStore, function (store) {
|
self.openStore(objectStore, function (store) {
|
||||||
console.log("load 2");
|
|
||||||
let request = store.get(key);
|
let request = store.get(key);
|
||||||
request.onsuccess = function (e) {
|
request.onsuccess = function (e) {
|
||||||
console.log("load 3");
|
|
||||||
resolve(e.currentTarget.result);
|
resolve(e.currentTarget.result);
|
||||||
};
|
};
|
||||||
request.onerror = function (e) {
|
request.onerror = function (e) {
|
||||||
@ -3514,10 +3535,9 @@ class MyDb {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
loadAll(objectStore, query, count)
|
loadAll(objectStore, query, count) {
|
||||||
{
|
|
||||||
let self = this;
|
let self = this;
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
self.openStore(objectStore, function (store) {
|
self.openStore(objectStore, function (store) {
|
||||||
let request = store.getAll(query, count);
|
let request = store.getAll(query, count);
|
||||||
request.onsuccess = function (e) {
|
request.onsuccess = function (e) {
|
||||||
@ -3647,13 +3667,13 @@ class MyDb {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
removeAll(objectStore){
|
removeAll(objectStore) {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
this.openStore(objectStore, "readwrite", (store) => {
|
this.openStore(objectStore, "readwrite", (store) => {
|
||||||
let req = store.clear();
|
let req = store.clear();
|
||||||
req.onerror = (e) => {
|
req.onerror = (e) => {
|
||||||
throw {
|
throw {
|
||||||
"type":"indexed-db-index-error",
|
"type": "indexed-db-index-error",
|
||||||
"event": e
|
"event": e
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -29,12 +29,12 @@ export class WordRotatorSettingFragment extends LocalStorageSettingsFragment {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.findBy("#reset-levels").addEventListener("click", () => {
|
this.findBy("#reset-levels").addEventListener("click", async () => {
|
||||||
localStorage.removeItem("currentLevel");
|
localStorage.removeItem("currentLevel");
|
||||||
localStorage.removeItem("date-last-sync");
|
localStorage.removeItem("date-last-sync");
|
||||||
localStorage.removeItem("levelCounter");
|
localStorage.removeItem("levelCounter");
|
||||||
localStorage.removeItem("tutorial-step");
|
localStorage.removeItem("tutorial-step");
|
||||||
WordRotatorDb.getInstance().removeAll(WordRotatorDb.OBJECT_STORE.LEVEL);
|
(await WordRotatorDb.getInstance()).removeAll(WordRotatorDb.OBJECT_STORE.LEVEL);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (location.hostname.includes("beta") || location.hostname.includes("127.0.0.1")) {
|
if (location.hostname.includes("beta") || location.hostname.includes("127.0.0.1")) {
|
||||||
|
|||||||
@ -2,19 +2,21 @@ import {Helper, MyDb} from "../../../../js/lib/pwa-lib";
|
|||||||
|
|
||||||
export class WordRotatorDb extends MyDb {
|
export class WordRotatorDb extends MyDb {
|
||||||
|
|
||||||
static getInstance() {
|
static async getInstance() {
|
||||||
if (Helper.isNull(WordRotatorDb.instance)) {
|
if (Helper.isNull(WordRotatorDb.instance)) {
|
||||||
WordRotatorDb.instance = new WordRotatorDb();
|
WordRotatorDb.instance = new WordRotatorDb();
|
||||||
}
|
}
|
||||||
|
await WordRotatorDb.instance.queryPromise;
|
||||||
return WordRotatorDb.instance;
|
return WordRotatorDb.instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super("wordRotator", 3);
|
super("wordRotator", 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
upgrade(db, oldVersion, newVersion, e) {
|
upgrade(db, oldVersion, newVersion, e) {
|
||||||
console.log("upgrading!");
|
console.log("upgrading!");
|
||||||
|
|
||||||
if (Helper.isNull(oldVersion) || oldVersion < 1 && newVersion >= 1) {
|
if (Helper.isNull(oldVersion) || oldVersion < 1 && newVersion >= 1) {
|
||||||
let levelObjectStore = db.createObjectStore(WordRotatorDb.OBJECT_STORE.LEVEL, {"keyPath": "id"});
|
let levelObjectStore = db.createObjectStore(WordRotatorDb.OBJECT_STORE.LEVEL, {"keyPath": "id"});
|
||||||
}
|
}
|
||||||
@ -22,10 +24,15 @@ export class WordRotatorDb extends MyDb {
|
|||||||
let levelObjectStore = e.target.transaction.objectStore(WordRotatorDb.OBJECT_STORE.LEVEL);
|
let levelObjectStore = e.target.transaction.objectStore(WordRotatorDb.OBJECT_STORE.LEVEL);
|
||||||
levelObjectStore.createIndex("played", ["deleted", "played", "difficulty", "id"], {"unique": false});
|
levelObjectStore.createIndex("played", ["deleted", "played", "difficulty", "id"], {"unique": false});
|
||||||
}
|
}
|
||||||
|
// xhklsfdbnk = 42;
|
||||||
if (Helper.isNull(oldVersion) || oldVersion < 3 && newVersion >= 3) {
|
if (Helper.isNull(oldVersion) || oldVersion < 3 && newVersion >= 3) {
|
||||||
let levelObjectStore = e.target.transaction.objectStore(WordRotatorDb.OBJECT_STORE.LEVEL);
|
let levelObjectStore = e.target.transaction.objectStore(WordRotatorDb.OBJECT_STORE.LEVEL);
|
||||||
levelObjectStore.createIndex("difficulty", "difficulty", {"unique": false});
|
levelObjectStore.createIndex("difficulty", "difficulty", {"unique": false});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Helper.isNull(oldVersion) || oldVersion < 3 && newVersion >= 4) {
|
||||||
|
let levelObjectStore = db.createObjectStore(WordRotatorDb.OBJECT_STORE.SYSTEM_VARS, {"keyPath": "name"});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
async saveManyLevels(levels) {
|
async saveManyLevels(levels) {
|
||||||
@ -35,7 +42,7 @@ export class WordRotatorDb extends MyDb {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async loadLevel(levelId) {
|
async loadLevel(levelId) {
|
||||||
console.log("load Level", levelId);
|
// console.log("load Level", levelId);
|
||||||
return this.load(levelId, WordRotatorDb.OBJECT_STORE.LEVEL);
|
return this.load(levelId, WordRotatorDb.OBJECT_STORE.LEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,12 +78,21 @@ export class WordRotatorDb extends MyDb {
|
|||||||
return await this.saveObj(level, WordRotatorDb.OBJECT_STORE.LEVEL);
|
return await this.saveObj(level, WordRotatorDb.OBJECT_STORE.LEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
async countLevels(){
|
async loadDateLastSync(){
|
||||||
|
let dateLastSync = await this.load("date-last-sync", WordRotatorDb.OBJECT_STORE.SYSTEM_VARS);
|
||||||
|
if (dateLastSync){
|
||||||
|
return dateLastSync["value"];
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
async saveDateLastSync(value){
|
||||||
|
return await this.saveObj({"name": "date-last-sync", "value":value}, WordRotatorDb.OBJECT_STORE.SYSTEM_VARS)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WordRotatorDb.OBJECT_STORE = {
|
WordRotatorDb.OBJECT_STORE = {
|
||||||
LEVEL: "level",
|
LEVEL: "level",
|
||||||
|
SYSTEM_VARS:"vars"
|
||||||
};
|
};
|
||||||
WordRotatorDb.instance = null;
|
WordRotatorDb.instance = null;
|
||||||
|
|||||||
@ -105,7 +105,7 @@ export class LevelSite extends WordRotatorBaseSite {
|
|||||||
if (Helper.isNotNull(currentLevelInfo)) {
|
if (Helper.isNotNull(currentLevelInfo)) {
|
||||||
currentLevelInfo = JSON.parse(currentLevelInfo);
|
currentLevelInfo = JSON.parse(currentLevelInfo);
|
||||||
|
|
||||||
const db = WordRotatorDb.getInstance();
|
const db = await WordRotatorDb.getInstance();
|
||||||
const levelJson = await db.loadLevel(currentLevelInfo["id"]);
|
const levelJson = await db.loadLevel(currentLevelInfo["id"]);
|
||||||
|
|
||||||
if (levelJson === null) {
|
if (levelJson === null) {
|
||||||
@ -144,18 +144,23 @@ export class LevelSite extends WordRotatorBaseSite {
|
|||||||
return this.nextLevel();
|
return this.nextLevel();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
startEndSite(){
|
||||||
|
this.startSite(EndSite);
|
||||||
|
this.finish();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
async nextLevel() {
|
async nextLevel() {
|
||||||
try {
|
try {
|
||||||
this._siteContent.classList.remove('won');
|
this._siteContent.classList.remove('won');
|
||||||
this.wonText.style.fontSize = "0";
|
this.wonText.style.fontSize = "0";
|
||||||
|
|
||||||
const db = WordRotatorDb.getInstance();
|
const db = await WordRotatorDb.getInstance();
|
||||||
const nextLevelJson = await db.loadNextLevel(LevelSite.RENDERER_TYPES);
|
const nextLevelJson = await db.loadNextLevel(LevelSite.RENDERER_TYPES);
|
||||||
|
|
||||||
console.log("nextLevelJson", nextLevelJson);
|
console.log("nextLevelJson", nextLevelJson);
|
||||||
if (nextLevelJson === null) {
|
if (nextLevelJson === null) {
|
||||||
this.startSite(EndSite);
|
this.startEndSite();
|
||||||
this.finish();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const level = LevelHelper.inflateLevel(nextLevelJson, this.templateContainer);
|
const level = LevelHelper.inflateLevel(nextLevelJson, this.templateContainer);
|
||||||
@ -193,6 +198,7 @@ export class LevelSite extends WordRotatorBaseSite {
|
|||||||
catch (e) {
|
catch (e) {
|
||||||
console.log("Fehler!");
|
console.log("Fehler!");
|
||||||
console.error(e);
|
console.error(e);
|
||||||
|
this.startEndSite();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -225,7 +231,7 @@ export class LevelSite extends WordRotatorBaseSite {
|
|||||||
|
|
||||||
async levelWon(level) {
|
async levelWon(level) {
|
||||||
try {
|
try {
|
||||||
const db = WordRotatorDb.getInstance();
|
const db = await WordRotatorDb.getInstance();
|
||||||
const savePromise = db.saveLevelPlayed(level.getId());
|
const savePromise = db.saveLevelPlayed(level.getId());
|
||||||
|
|
||||||
this.levelCounter++;
|
this.levelCounter++;
|
||||||
|
|||||||
@ -99,7 +99,7 @@ export class MenuSite extends WordRotatorBaseSite {
|
|||||||
async startLevelSite() {
|
async startLevelSite() {
|
||||||
SoundManager.getInstance().resumeContext();
|
SoundManager.getInstance().resumeContext();
|
||||||
this.startSite(LevelSite, Promise.race([this.loadLevelPromise, new Promise(async resolve => {
|
this.startSite(LevelSite, Promise.race([this.loadLevelPromise, new Promise(async resolve => {
|
||||||
const db = WordRotatorDb.getInstance();
|
const db = await WordRotatorDb.getInstance();
|
||||||
let level = await db.loadNextLevel(LevelSite.RENDERER_TYPES);
|
let level = await db.loadNextLevel(LevelSite.RENDERER_TYPES);
|
||||||
if (level !== null) {
|
if (level !== null) {
|
||||||
resolve();
|
resolve();
|
||||||
@ -147,7 +147,7 @@ export class MenuSite extends WordRotatorBaseSite {
|
|||||||
let playMusicButton = this.findBy("#play-music");
|
let playMusicButton = this.findBy("#play-music");
|
||||||
playMusicButton.checked = (settingsManager.getSetting("play-music", "1") === "1");
|
playMusicButton.checked = (settingsManager.getSetting("play-music", "1") === "1");
|
||||||
playMusicButton.addEventListener("change", () => {
|
playMusicButton.addEventListener("change", () => {
|
||||||
settingsManager.setSetting("play-music", (playMusicButton.checked)?"1":"0");
|
settingsManager.setSetting("play-music", (playMusicButton.checked) ? "1" : "0");
|
||||||
soundManager.set({muted: !playMusicButton.checked}, SoundManager.CHANNELS.MUSIC);
|
soundManager.set({muted: !playMusicButton.checked}, SoundManager.CHANNELS.MUSIC);
|
||||||
if (playMusicButton.checked) {
|
if (playMusicButton.checked) {
|
||||||
soundManager.play(SoundManager.CHANNELS.MUSIC);
|
soundManager.play(SoundManager.CHANNELS.MUSIC);
|
||||||
@ -158,7 +158,7 @@ export class MenuSite extends WordRotatorBaseSite {
|
|||||||
let playSoundButton = this.findBy("#play-sound");
|
let playSoundButton = this.findBy("#play-sound");
|
||||||
playSoundButton.checked = (settingsManager.getSetting("play-sound", "1") === "1");
|
playSoundButton.checked = (settingsManager.getSetting("play-sound", "1") === "1");
|
||||||
playSoundButton.addEventListener("change", () => {
|
playSoundButton.addEventListener("change", () => {
|
||||||
settingsManager.setSetting("play-sound", (playSoundButton.checked)?"1":"0");
|
settingsManager.setSetting("play-sound", (playSoundButton.checked) ? "1" : "0");
|
||||||
soundManager.set({muted: !playSoundButton.checked}, SoundManager.CHANNELS.SOUND);
|
soundManager.set({muted: !playSoundButton.checked}, SoundManager.CHANNELS.SOUND);
|
||||||
Matomo.push(["trackEvent", "MainMenu", "PlaySound", "Play Sound", (playSoundButton.checked) ? 1 : 0]);
|
Matomo.push(["trackEvent", "MainMenu", "PlaySound", "Play Sound", (playSoundButton.checked) ? 1 : 0]);
|
||||||
});
|
});
|
||||||
@ -176,45 +176,53 @@ export class MenuSite extends WordRotatorBaseSite {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async loadLevels() {
|
async loadLevels() {
|
||||||
const dateLastSync = Helper.nonNull(localStorage.getItem("date-last-sync"), 0);
|
try {
|
||||||
const db = WordRotatorDb.getInstance();
|
const db = await WordRotatorDb.getInstance();
|
||||||
|
const dateLastSync = Helper.nonNull(await db.loadDateLastSync(), 0);
|
||||||
|
// const dateLastSync = Helper.nonNull(localStorage.getItem("date-last-sync"), 0);
|
||||||
|
|
||||||
// let numberLevels = db.countLevels();
|
// let numberLevels = db.countLevels();
|
||||||
let newLastSync = null;
|
let newLastSync = null;
|
||||||
let maxRuns = 1;
|
let maxRuns = 1;
|
||||||
let levelPromises = [];
|
let levelPromises = [];
|
||||||
for (let run = 0; run < maxRuns; run++) {
|
for (let run = 0; run < maxRuns; run++) {
|
||||||
let res = await DataManager.load("wordRotator/levels" + DataManager.buildQuery({
|
let res = await DataManager.load("wordRotator/levels" + DataManager.buildQuery({
|
||||||
"currentRun": run,
|
"currentRun": run,
|
||||||
"dateLastSync": dateLastSync
|
"dateLastSync": dateLastSync
|
||||||
}));
|
|
||||||
if (!res["success"]) {
|
|
||||||
if (await db.loadNextLevel(LevelSite.RENDERER_TYPES) === null) {
|
|
||||||
FlashMessenger.addMessage("sync-error", null, 6000);
|
|
||||||
}
|
|
||||||
newLastSync = null;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
res = res["result"];
|
|
||||||
newLastSync = Helper.nonNull(newLastSync, res["currentSyncDate"]);
|
|
||||||
maxRuns = res["maxRuns"];
|
|
||||||
|
|
||||||
let levels = res["levels"];
|
|
||||||
for (let i = 0; i < levels.length; i++) {
|
|
||||||
let currentLevel = levels[i];
|
|
||||||
levelPromises.push(db.loadLevel(levels[i]["id"]).then(level => {
|
|
||||||
currentLevel["played"] = (Helper.nonNull(Helper.nonNull(level, {}).played, false));
|
|
||||||
console.log("currentLevel", currentLevel);
|
|
||||||
return currentLevel;
|
|
||||||
}));
|
}));
|
||||||
|
if (!res["success"]) {
|
||||||
|
if (await db.loadNextLevel(LevelSite.RENDERER_TYPES) === null) {
|
||||||
|
FlashMessenger.addMessage("sync-error", null, 6000);
|
||||||
|
}
|
||||||
|
newLastSync = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
res = res["result"];
|
||||||
|
newLastSync = Helper.nonNull(newLastSync, res["currentSyncDate"]);
|
||||||
|
maxRuns = res["maxRuns"];
|
||||||
|
|
||||||
|
let levels = res["levels"];
|
||||||
|
for (let i = 0; i < levels.length; i++) {
|
||||||
|
let currentLevel = levels[i];
|
||||||
|
levelPromises.push(db.loadLevel(levels[i]["id"]).then(level => {
|
||||||
|
currentLevel["played"] = (Helper.nonNull(Helper.nonNull(level, {}).played, false));
|
||||||
|
return currentLevel;
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let levels = await Promise.all(levelPromises);
|
||||||
|
await db.saveManyLevels(levels);
|
||||||
|
|
||||||
|
if (newLastSync != null && newLastSync !== "null") {
|
||||||
|
localStorage.setItem("date-last-sync", newLastSync);
|
||||||
|
db.saveDateLastSync(newLastSync);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let levels = await Promise.all(levelPromises);
|
catch(e){
|
||||||
console.log("levels to save", levels);
|
// if (await db.loadNextLevel(LevelSite.RENDERER_TYPES) === null) {
|
||||||
await db.saveManyLevels(levels);
|
FlashMessenger.addMessage("sync-error", null, 6000);
|
||||||
|
// }
|
||||||
if (newLastSync != null && newLastSync !== "null") {
|
console.error(e);
|
||||||
localStorage.setItem("date-last-sync", newLastSync);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -353,8 +353,8 @@ test('Play', async t => {
|
|||||||
.click(Selector('.segment-parent').nth(SEGMENT.SIXTEEN))
|
.click(Selector('.segment-parent').nth(SEGMENT.SIXTEEN))
|
||||||
.click(Selector('.segment-parent').nth(SEGMENT.FOURTEEN))
|
.click(Selector('.segment-parent').nth(SEGMENT.FOURTEEN))
|
||||||
.click(Selector('.segment-parent').nth(SEGMENT.NINETEEN))
|
.click(Selector('.segment-parent').nth(SEGMENT.NINETEEN))
|
||||||
.click(Selector('.segment-parent').nth(SEGMENT.TWENTYONE))
|
.click(Selector('.segment-parent').nth(SEGMENT.TWENTYONE)).debug()
|
||||||
.drag(Selector('.segment-parent').nth(SEGMENT.TEN).find('div').withText('P'), dragDimen, -3, {
|
.drag(Selector('.segment-parent').nth(SEGMENT.TEN), dragDimen, -3, {
|
||||||
offsetX: 10,
|
offsetX: 10,
|
||||||
offsetY: 10
|
offsetY: 10
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user