diff --git a/www/css/main.css b/www/css/main.css index 18ffc52..2144310 100644 --- a/www/css/main.css +++ b/www/css/main.css @@ -449,4 +449,120 @@ body { right: 10px; color: white; z-index: 90000; +} + + +@keyframes cooldown-fade { + /* Apparently gradients don't animate. We'll see about that! */ + /* SyMAT code (gradient-animate.syjs): + for (var i = 0; i <= 100; i++) { + print(i+"% { background: linear-gradient(to top, rgba(255,255,255,.8) " + i + "%, rgba(0,0,0,.8) 0%); }"); + } + */ + 0% { background: linear-gradient(to top, rgba(255,255,255,.8) 0%, rgba(0,0,0,.8) 0%); } + 1% { background: linear-gradient(to top, rgba(255,255,255,.8) 1%, rgba(0,0,0,.8) 0%); } + 2% { background: linear-gradient(to top, rgba(255,255,255,.8) 2%, rgba(0,0,0,.8) 0%); } + 3% { background: linear-gradient(to top, rgba(255,255,255,.8) 3%, rgba(0,0,0,.8) 0%); } + 4% { background: linear-gradient(to top, rgba(255,255,255,.8) 4%, rgba(0,0,0,.8) 0%); } + 5% { background: linear-gradient(to top, rgba(255,255,255,.8) 5%, rgba(0,0,0,.8) 0%); } + 6% { background: linear-gradient(to top, rgba(255,255,255,.8) 6%, rgba(0,0,0,.8) 0%); } + 7% { background: linear-gradient(to top, rgba(255,255,255,.8) 7%, rgba(0,0,0,.8) 0%); } + 8% { background: linear-gradient(to top, rgba(255,255,255,.8) 8%, rgba(0,0,0,.8) 0%); } + 9% { background: linear-gradient(to top, rgba(255,255,255,.8) 9%, rgba(0,0,0,.8) 0%); } + 10% { background: linear-gradient(to top, rgba(255,255,255,.8) 10%, rgba(0,0,0,.8) 0%); } + 11% { background: linear-gradient(to top, rgba(255,255,255,.8) 11%, rgba(0,0,0,.8) 0%); } + 12% { background: linear-gradient(to top, rgba(255,255,255,.8) 12%, rgba(0,0,0,.8) 0%); } + 13% { background: linear-gradient(to top, rgba(255,255,255,.8) 13%, rgba(0,0,0,.8) 0%); } + 14% { background: linear-gradient(to top, rgba(255,255,255,.8) 14%, rgba(0,0,0,.8) 0%); } + 15% { background: linear-gradient(to top, rgba(255,255,255,.8) 15%, rgba(0,0,0,.8) 0%); } + 16% { background: linear-gradient(to top, rgba(255,255,255,.8) 16%, rgba(0,0,0,.8) 0%); } + 17% { background: linear-gradient(to top, rgba(255,255,255,.8) 17%, rgba(0,0,0,.8) 0%); } + 18% { background: linear-gradient(to top, rgba(255,255,255,.8) 18%, rgba(0,0,0,.8) 0%); } + 19% { background: linear-gradient(to top, rgba(255,255,255,.8) 19%, rgba(0,0,0,.8) 0%); } + 20% { background: linear-gradient(to top, rgba(255,255,255,.8) 20%, rgba(0,0,0,.8) 0%); } + 21% { background: linear-gradient(to top, rgba(255,255,255,.8) 21%, rgba(0,0,0,.8) 0%); } + 22% { background: linear-gradient(to top, rgba(255,255,255,.8) 22%, rgba(0,0,0,.8) 0%); } + 23% { background: linear-gradient(to top, rgba(255,255,255,.8) 23%, rgba(0,0,0,.8) 0%); } + 24% { background: linear-gradient(to top, rgba(255,255,255,.8) 24%, rgba(0,0,0,.8) 0%); } + 25% { background: linear-gradient(to top, rgba(255,255,255,.8) 25%, rgba(0,0,0,.8) 0%); } + 26% { background: linear-gradient(to top, rgba(255,255,255,.8) 26%, rgba(0,0,0,.8) 0%); } + 27% { background: linear-gradient(to top, rgba(255,255,255,.8) 27%, rgba(0,0,0,.8) 0%); } + 28% { background: linear-gradient(to top, rgba(255,255,255,.8) 28%, rgba(0,0,0,.8) 0%); } + 29% { background: linear-gradient(to top, rgba(255,255,255,.8) 29%, rgba(0,0,0,.8) 0%); } + 30% { background: linear-gradient(to top, rgba(255,255,255,.8) 30%, rgba(0,0,0,.8) 0%); } + 31% { background: linear-gradient(to top, rgba(255,255,255,.8) 31%, rgba(0,0,0,.8) 0%); } + 32% { background: linear-gradient(to top, rgba(255,255,255,.8) 32%, rgba(0,0,0,.8) 0%); } + 33% { background: linear-gradient(to top, rgba(255,255,255,.8) 33%, rgba(0,0,0,.8) 0%); } + 34% { background: linear-gradient(to top, rgba(255,255,255,.8) 34%, rgba(0,0,0,.8) 0%); } + 35% { background: linear-gradient(to top, rgba(255,255,255,.8) 35%, rgba(0,0,0,.8) 0%); } + 36% { background: linear-gradient(to top, rgba(255,255,255,.8) 36%, rgba(0,0,0,.8) 0%); } + 37% { background: linear-gradient(to top, rgba(255,255,255,.8) 37%, rgba(0,0,0,.8) 0%); } + 38% { background: linear-gradient(to top, rgba(255,255,255,.8) 38%, rgba(0,0,0,.8) 0%); } + 39% { background: linear-gradient(to top, rgba(255,255,255,.8) 39%, rgba(0,0,0,.8) 0%); } + 40% { background: linear-gradient(to top, rgba(255,255,255,.8) 40%, rgba(0,0,0,.8) 0%); } + 41% { background: linear-gradient(to top, rgba(255,255,255,.8) 41%, rgba(0,0,0,.8) 0%); } + 42% { background: linear-gradient(to top, rgba(255,255,255,.8) 42%, rgba(0,0,0,.8) 0%); } + 43% { background: linear-gradient(to top, rgba(255,255,255,.8) 43%, rgba(0,0,0,.8) 0%); } + 44% { background: linear-gradient(to top, rgba(255,255,255,.8) 44%, rgba(0,0,0,.8) 0%); } + 45% { background: linear-gradient(to top, rgba(255,255,255,.8) 45%, rgba(0,0,0,.8) 0%); } + 46% { background: linear-gradient(to top, rgba(255,255,255,.8) 46%, rgba(0,0,0,.8) 0%); } + 47% { background: linear-gradient(to top, rgba(255,255,255,.8) 47%, rgba(0,0,0,.8) 0%); } + 48% { background: linear-gradient(to top, rgba(255,255,255,.8) 48%, rgba(0,0,0,.8) 0%); } + 49% { background: linear-gradient(to top, rgba(255,255,255,.8) 49%, rgba(0,0,0,.8) 0%); } + 50% { background: linear-gradient(to top, rgba(255,255,255,.8) 50%, rgba(0,0,0,.8) 0%); } + 51% { background: linear-gradient(to top, rgba(255,255,255,.8) 51%, rgba(0,0,0,.8) 0%); } + 52% { background: linear-gradient(to top, rgba(255,255,255,.8) 52%, rgba(0,0,0,.8) 0%); } + 53% { background: linear-gradient(to top, rgba(255,255,255,.8) 53%, rgba(0,0,0,.8) 0%); } + 54% { background: linear-gradient(to top, rgba(255,255,255,.8) 54%, rgba(0,0,0,.8) 0%); } + 55% { background: linear-gradient(to top, rgba(255,255,255,.8) 55%, rgba(0,0,0,.8) 0%); } + 56% { background: linear-gradient(to top, rgba(255,255,255,.8) 56%, rgba(0,0,0,.8) 0%); } + 57% { background: linear-gradient(to top, rgba(255,255,255,.8) 57%, rgba(0,0,0,.8) 0%); } + 58% { background: linear-gradient(to top, rgba(255,255,255,.8) 58%, rgba(0,0,0,.8) 0%); } + 59% { background: linear-gradient(to top, rgba(255,255,255,.8) 59%, rgba(0,0,0,.8) 0%); } + 60% { background: linear-gradient(to top, rgba(255,255,255,.8) 60%, rgba(0,0,0,.8) 0%); } + 61% { background: linear-gradient(to top, rgba(255,255,255,.8) 61%, rgba(0,0,0,.8) 0%); } + 62% { background: linear-gradient(to top, rgba(255,255,255,.8) 62%, rgba(0,0,0,.8) 0%); } + 63% { background: linear-gradient(to top, rgba(255,255,255,.8) 63%, rgba(0,0,0,.8) 0%); } + 64% { background: linear-gradient(to top, rgba(255,255,255,.8) 64%, rgba(0,0,0,.8) 0%); } + 65% { background: linear-gradient(to top, rgba(255,255,255,.8) 65%, rgba(0,0,0,.8) 0%); } + 66% { background: linear-gradient(to top, rgba(255,255,255,.8) 66%, rgba(0,0,0,.8) 0%); } + 67% { background: linear-gradient(to top, rgba(255,255,255,.8) 67%, rgba(0,0,0,.8) 0%); } + 68% { background: linear-gradient(to top, rgba(255,255,255,.8) 68%, rgba(0,0,0,.8) 0%); } + 69% { background: linear-gradient(to top, rgba(255,255,255,.8) 69%, rgba(0,0,0,.8) 0%); } + 70% { background: linear-gradient(to top, rgba(255,255,255,.8) 70%, rgba(0,0,0,.8) 0%); } + 71% { background: linear-gradient(to top, rgba(255,255,255,.8) 71%, rgba(0,0,0,.8) 0%); } + 72% { background: linear-gradient(to top, rgba(255,255,255,.8) 72%, rgba(0,0,0,.8) 0%); } + 73% { background: linear-gradient(to top, rgba(255,255,255,.8) 73%, rgba(0,0,0,.8) 0%); } + 74% { background: linear-gradient(to top, rgba(255,255,255,.8) 74%, rgba(0,0,0,.8) 0%); } + 75% { background: linear-gradient(to top, rgba(255,255,255,.8) 75%, rgba(0,0,0,.8) 0%); } + 76% { background: linear-gradient(to top, rgba(255,255,255,.8) 76%, rgba(0,0,0,.8) 0%); } + 77% { background: linear-gradient(to top, rgba(255,255,255,.8) 77%, rgba(0,0,0,.8) 0%); } + 78% { background: linear-gradient(to top, rgba(255,255,255,.8) 78%, rgba(0,0,0,.8) 0%); } + 79% { background: linear-gradient(to top, rgba(255,255,255,.8) 79%, rgba(0,0,0,.8) 0%); } + 80% { background: linear-gradient(to top, rgba(255,255,255,.8) 80%, rgba(0,0,0,.8) 0%); } + 81% { background: linear-gradient(to top, rgba(255,255,255,.8) 81%, rgba(0,0,0,.8) 0%); } + 82% { background: linear-gradient(to top, rgba(255,255,255,.8) 82%, rgba(0,0,0,.8) 0%); } + 83% { background: linear-gradient(to top, rgba(255,255,255,.8) 83%, rgba(0,0,0,.8) 0%); } + 84% { background: linear-gradient(to top, rgba(255,255,255,.8) 84%, rgba(0,0,0,.8) 0%); } + 85% { background: linear-gradient(to top, rgba(255,255,255,.8) 85%, rgba(0,0,0,.8) 0%); } + 86% { background: linear-gradient(to top, rgba(255,255,255,.8) 86%, rgba(0,0,0,.8) 0%); } + 87% { background: linear-gradient(to top, rgba(255,255,255,.8) 87%, rgba(0,0,0,.8) 0%); } + 88% { background: linear-gradient(to top, rgba(255,255,255,.8) 88%, rgba(0,0,0,.8) 0%); } + 89% { background: linear-gradient(to top, rgba(255,255,255,.8) 89%, rgba(0,0,0,.8) 0%); } + 90% { background: linear-gradient(to top, rgba(255,255,255,.8) 90%, rgba(0,0,0,.8) 0%); } + 91% { background: linear-gradient(to top, rgba(255,255,255,.8) 91%, rgba(0,0,0,.8) 0%); } + 92% { background: linear-gradient(to top, rgba(255,255,255,.8) 92%, rgba(0,0,0,.8) 0%); } + 93% { background: linear-gradient(to top, rgba(255,255,255,.8) 93%, rgba(0,0,0,.8) 0%); } + 94% { background: linear-gradient(to top, rgba(255,255,255,.8) 94%, rgba(0,0,0,.8) 0%); } + 95% { background: linear-gradient(to top, rgba(255,255,255,.8) 95%, rgba(0,0,0,.8) 0%); } + 96% { background: linear-gradient(to top, rgba(255,255,255,.8) 96%, rgba(0,0,0,.8) 0%); } + 97% { background: linear-gradient(to top, rgba(255,255,255,.8) 97%, rgba(0,0,0,.8) 0%); } + 98% { background: linear-gradient(to top, rgba(255,255,255,.8) 98%, rgba(0,0,0,.8) 0%); } + 99% { background: linear-gradient(to top, rgba(255,255,255,.8) 99%, rgba(0,0,0,.8) 0%); } + 100% { background: linear-gradient(to top, rgba(255,255,255,.8) 100%, rgba(0,0,0,.8) 0%); } +} + +.cooldown-fade-anim { + /* To change cooldown time, also change CODE_SCAN_COOLDOWN_SECONDS in main.js */ + animation: cooldown-fade 15s ease-in-out; } \ No newline at end of file diff --git a/www/js/main.js b/www/js/main.js index 18670c4..6ab925c 100644 --- a/www/js/main.js +++ b/www/js/main.js @@ -16,7 +16,7 @@ * limitations under the License. */ -// Constants +// Important Globals username = ""; password = ""; energy = 100; @@ -25,7 +25,7 @@ level = 1; userteamid = 0; MUNZEE_CLIENT_ID = '616cecc70e17f4a3cb64146dce2d33f5'; MUNZEE_REDIRECT = 'http://gs.terranquest.net/munzee.php'; - +CODE_SCAN_COOLDOWN_SECONDS = 15; // Also change in CSS (.cooldown-fade-anim) currentscreen = ""; /* @@ -152,11 +152,18 @@ function closemodal(modalselector) { $(modalselector).modal(hide); } +var scanCodeEnabled = true; + function scanCode() { + // If code scanning disabled (cooldown, etc) + if (!scanCodeEnabled) { + return; + } try { cordova.plugins.barcodeScanner.scan( function (result) { if (!result.cancelled) { + scanCodeEnabled = false; $.getJSON(mkApiUrl('code2item', 'gs'), { code: result.text, latitude: latitude, @@ -164,15 +171,24 @@ function scanCode() { accuracy: gpsaccuracy }, function (data) { if (data.status === 'OK') { + $('#codescanbtn').addClass('cooldown-fade-anim'); + setTimeout(function () { + scanCodeEnabled = true; + $('#codescanbtn').removeClass('cooldown-fade-anim'); + }, CODE_SCAN_COOLDOWN_SECONDS * 1000); if (data.messages.length >= 2) { showFoundBox2(data.messages[0].title, data.messages[0].text, data.messages[1].title, data.messages[1].text); } else { showFoundBox(data.messages[0].title, data.messages[0].text); } } else { + scanCodeEnabled = true; + $('#codescanbtn').removeClass('cooldown-fade-anim'); showFoundBox("Huh?", data.message); } }).fail(function () { + scanCodeEnabled = true; + $('#codescanbtn').removeClass('cooldown-fade-anim'); showFoundBox("Huh?", "Nothing happened!"); //navigator.notification.alert("Nothing happened!", null, "Huh?", 'OK'); }); @@ -180,6 +196,8 @@ function scanCode() { } }, function (error) { + scanCodeEnabled = true; + $('#codescanbtn').removeClass('cooldown-fade-anim'); navigator.notification.alert("Scanning failed: " + error, null, "Error", 'Dismiss'); }, { @@ -188,6 +206,8 @@ function scanCode() { } ); } catch (ex) { + scanCodeEnabled = true; + $('#codescanbtn').removeClass('cooldown-fade-anim'); navigator.notification.alert(ex.message, null, "Error", 'Dismiss'); } } diff --git a/www/screens/home.html b/www/screens/home.html index c4245d8..d7920f0 100644 --- a/www/screens/home.html +++ b/www/screens/home.html @@ -54,7 +54,7 @@
Menu
-
+
Scan Code