Compare commits
10 Commits
v_1.10.2
...
update_sub
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
357449c1c6 | ||
|
|
de70522850 | ||
|
|
cf5f71d14e | ||
|
|
34b47e40ab | ||
|
|
32ea581437 | ||
|
|
16ccbca2af | ||
|
|
3fd9beae1e | ||
|
|
01d0ae96f9 | ||
|
|
c211817f78 | ||
|
|
7a3413b339 |
@@ -27,6 +27,11 @@ $(window).on('load',function(){
|
||||
hideLoader();
|
||||
})
|
||||
|
||||
//Generating Cookies
|
||||
function createCookie(e, t, n) {if (n) {var o = new Date;o.setTime(o.getTime() + n * 365 * 24 * 3600 * 1e3);var r = "; expires=" + o.toGMTString()} else var r = "";document.cookie = e + "=" + t + r + "; path=/"}
|
||||
function readCookie(e) {for (var t = e + "=", n = document.cookie.split(";"), o = 0; o < n.length; o++) {for (var r = n[o];" " == r.charAt(0);) r = r.substring(1, r.length);if (0 == r.indexOf(t)) return r.substring(t.length, r.length)}return null}
|
||||
function eraseCookie(e) {createCookie(e, "", -1)}
|
||||
|
||||
$(document).ready(function(){
|
||||
'use strict'
|
||||
|
||||
@@ -187,11 +192,6 @@ $(document).ready(function(){
|
||||
return false;
|
||||
});
|
||||
|
||||
//Generating Cookies
|
||||
function createCookie(e, t, n) {if (n) {var o = new Date;o.setTime(o.getTime() + n * 365 * 24 * 3600 * 1e3);var r = "; expires=" + o.toGMTString()} else var r = "";document.cookie = e + "=" + t + r + "; path=/"}
|
||||
function readCookie(e) {for (var t = e + "=", n = document.cookie.split(";"), o = 0; o < n.length; o++) {for (var r = n[o];" " == r.charAt(0);) r = r.substring(1, r.length);if (0 == r.indexOf(t)) return r.substring(t.length, r.length)}return null}
|
||||
function eraseCookie(e) {createCookie(e, "", -1)}
|
||||
|
||||
//Disabling & Enabling Dark Transitions in Dark Mode to Speed up Performance.
|
||||
function allowTransitions(){$('body').find('#transitions-remove').remove();}
|
||||
function removeTransitions(){$('body').append('<style id="transitions-remove">.btn, .header, #footer-bar, .menu-box, .menu-active{transition:all 0ms ease!important;}</style>'); setTimeout(function(){allowTransitions();},10);}
|
||||
|
||||
@@ -417,29 +417,31 @@ function dbSettingsSet(key, value) {
|
||||
}
|
||||
}
|
||||
|
||||
async function updateSyncStatus() { // TODO
|
||||
// var syncStatus = document.getElementById('syncstatus');
|
||||
// var lastSync = await dbGetData('update_times', 'last_sync');
|
||||
// lastSync = new Date(lastSync.time * 1000);
|
||||
// var now = new Date();
|
||||
// var diff = Math.round((now - lastSync) / 1000);
|
||||
// var txt = '';
|
||||
//
|
||||
// if (diff < 30) { // 30 sec
|
||||
// txt = 'jetzt';
|
||||
// } else if (diff < 3600) { // 60 min
|
||||
// diff = Math.round(diff / 60);
|
||||
// txt = 'vor ' + diff + ' ' + (diff == 1 ? 'Minute' : 'Minuten');
|
||||
// } else if (diff < 86400) { // 24 std
|
||||
// diff = Math.round(diff / 3600);
|
||||
// txt = 'vor ' + diff + ' ' + (diff == 1 ? 'Stunde' : 'Stunden');
|
||||
// } else {
|
||||
// diff = Math.round(diff / 86400);
|
||||
// txt = 'vor ' + diff + ' ' + (diff == 1 ? 'Tag' : 'Tagen');
|
||||
// }
|
||||
//
|
||||
// var btn = '<a href="#" onclick="setLoading(true); sync(); return false;"><i class="fas fa-sync"></i> Sync</a>';
|
||||
// syncStatus.innerHTML = 'Zuletzt aktualisiert: ' + txt + btn;
|
||||
async function updateSyncStatus() {
|
||||
var lastSync = await dbGetData('update_times', 'last_sync');
|
||||
lastSync = new Date(lastSync.time * 1000);
|
||||
if (lastSync > 0) {
|
||||
var now = new Date();
|
||||
var diff = Math.round((now - lastSync) / 1000);
|
||||
var txt = '';
|
||||
|
||||
if (diff < 30) { // 30 sec
|
||||
txt = 'jetzt';
|
||||
} else if (diff < 3600) { // 60 min
|
||||
diff = Math.round(diff / 60);
|
||||
txt = 'vor ' + diff + ' ' + (diff == 1 ? 'Minute' : 'Minuten');
|
||||
} else if (diff < 86400) { // 24 std
|
||||
diff = Math.round(diff / 3600);
|
||||
txt = 'vor ' + diff + ' ' + (diff == 1 ? 'Stunde' : 'Stunden');
|
||||
} else {
|
||||
diff = Math.round(diff / 86400);
|
||||
txt = 'vor ' + diff + ' ' + (diff == 1 ? 'Tag' : 'Tagen');
|
||||
}
|
||||
} else {
|
||||
var txt = 'nie';
|
||||
}
|
||||
|
||||
$('#syncstatus').html('Zuletzt aktualisiert: ' + txt);
|
||||
}
|
||||
|
||||
async function runPageScript() {
|
||||
@@ -460,16 +462,14 @@ async function runPageScript() {
|
||||
dbSettingsSet('myregattas_' + BOATCLASS, plannings);
|
||||
}
|
||||
}
|
||||
if (typeof updateSyncStatusTimer == 'undefined') { // TODO
|
||||
// var syncStatus = document.getElementById('syncstatus');
|
||||
if (typeof updateSyncStatusTimer == 'undefined') {
|
||||
if (canUseLocalDB) {
|
||||
updateSyncStatusTimer = window.setInterval(updateSyncStatus, 10000);
|
||||
} else {
|
||||
// syncStatus.innerHTML = 'Keine Offline-Nutzung möglich.';
|
||||
$('#syncstatus').html('Keine Offline-Nutzung möglich.');
|
||||
$('#i-sync').parent().hide();
|
||||
updateSyncStatusTimer = null;
|
||||
}
|
||||
// syncStatus.style.display = 'block';
|
||||
}
|
||||
|
||||
if (typeof siteScript === 'function') {
|
||||
@@ -933,6 +933,8 @@ function initDatabase() {
|
||||
request.onerror = function (event) {
|
||||
log("Cannot open DB: " + event.target);
|
||||
|
||||
if (typeof onDatabaseLoaded == 'function') onDatabaseLoaded();
|
||||
|
||||
runPageScript();
|
||||
};
|
||||
request.onsuccess = function (event) {
|
||||
@@ -1048,6 +1050,8 @@ function initDatabase() {
|
||||
osUpdateTimes.put({ table: 'last_sync', time: 0 });
|
||||
}
|
||||
} else {
|
||||
if (typeof onDatabaseLoaded == 'function') onDatabaseLoaded();
|
||||
|
||||
runPageScript();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -470,6 +470,20 @@ var onServiceWorkerLoaded = function() {
|
||||
}
|
||||
|
||||
var onDatabaseLoaded = function() {
|
||||
if (!canUseLocalDB && !$('#menu-welcome').hasClass('menu-active')) {
|
||||
function NoDbWarningOk() {
|
||||
createCookie('regatten_nodb_banner', true, 1);
|
||||
$('#menu-nodb-warning').hideMenu();
|
||||
}
|
||||
function showNoDbWarning() {
|
||||
if (!readCookie('regatten_nodb_banner')) {
|
||||
$('#menu-nodb-warning').showMenu();
|
||||
}
|
||||
}
|
||||
$('#menu-nodb-warning-okay').click(NoDbWarningOk);
|
||||
showNoDbWarning();
|
||||
}
|
||||
|
||||
onServiceWorkerLoaded();
|
||||
initPushSettings();
|
||||
|
||||
@@ -486,13 +500,13 @@ var addConsoleOpenerToPreloader = function() {
|
||||
var preloader = document.getElementById('preloader');
|
||||
var button = document.createElement('a');
|
||||
button.href = '#';
|
||||
button.classList = 'btn btn-full rounded-s text-uppercase font-900 shadow-m bg-highlight m-3';
|
||||
button.classList = 'btn rounded-s text-uppercase font-900 shadow-m m-3';
|
||||
button.style.position = 'fixed';
|
||||
button.style.bottom = 0;
|
||||
button.style.left = 0;
|
||||
button.style.right = 0;
|
||||
button.innerHTML = 'Show Console';
|
||||
button.innerHTML = '</>';
|
||||
button.onclick = function(){
|
||||
alert('CONSOLE OPENED\nDir werden jetzt einige Entwickler-Informationen angezeigt. Du kannst die Console über das X oben rechts wieder schließen.');
|
||||
mobileConsole.displayConsole();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -291,6 +291,21 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="menu-nodb-warning" class="menu menu-box-bottom menu-box-detached rounded-m" data-height="500">
|
||||
<div class="menu-title"><h1>Warnung</h1><p class="color-highlight">Datenbank nicht unterstützt</p><a href="#" class="close-menu"><i class="fa fa-times"></i></a></div>
|
||||
<div class="divider divider-margins mb-n2"></div>
|
||||
<div class="content bottom-0">
|
||||
<p>
|
||||
Das Speichern der benötigten Daten wird von Deinem Gerät nicht unterstützt.<br>
|
||||
Da deshalb die Daten jedesmal direkt vom Server geladen werden müssen, kannst Du die App nicht offline nutzen.<br>
|
||||
Das Nachladen kann außerdem gerade bei großen Datenmengen (wie Ranglisten) sehr lange dauern.
|
||||
Wir empfehlen Dir daher, auf diesem Gerät unsere normale Website zu benutzen. Diese ist auch für Mobil-Geräte optimiert.
|
||||
</p>
|
||||
<a class="btn btn-m mt-2 btn-full bg-highlight text-uppercase font-900" href="https://regatten.net/">Zur Website</a>
|
||||
<a id="menu-nodb-warning-okay" class="btn btn-m mt-2 mb-3 btn-full bg-highlight text-uppercase font-900" href="#">Nicht erneut anzeigen</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="menu-update">
|
||||
<div class="content bottom-0">
|
||||
<p class="text-center mt-5"><i class="fa fa-sync-alt fa-7x color-highlight fa-spin"></i></p>
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
<?php include(__DIR__ . '/headerfooter.php'); ?>
|
||||
|
||||
<!--start of page content, add your stuff here-->
|
||||
<div class="page-content header-clear-medium">
|
||||
<div class="page-content header-clear">
|
||||
<div id="syncstatus" class="text-right mr-2 mb-1">Zuletzt aktualisiert: nie</div>
|
||||
<?php echo $sp['output']; ?>
|
||||
</div>
|
||||
<!--end of page content, off canvas elements here-->
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
|
||||
define('PWA_VERSION', '1.10.2');
|
||||
define('PWA_VERSION', '1.10.3h2');
|
||||
|
||||
?>
|
||||
|
||||
@@ -311,3 +311,16 @@ self.addEventListener('notificationclick', function(event) {
|
||||
clients.openWindow(url)
|
||||
);
|
||||
});
|
||||
|
||||
self.addEventListener('pushsubscriptionchange', function(event) {
|
||||
var formData = new URLSearchParams();
|
||||
formData.append('old', JSON.stringify(event.oldSubscription));
|
||||
formData.append('new', JSON.stringify(event.newSubscription));
|
||||
event.waitUntil(
|
||||
fetch('<?php echo QUERY_URL; ?>update_subscription', {
|
||||
method: 'POST',
|
||||
cache: 'no-cache',
|
||||
body: formData
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user