From f50a7eb63cc2843e6f594038998bfe7736d16fcf Mon Sep 17 00:00:00 2001 From: Florian Sundermann Date: Mon, 4 Mar 2013 12:32:22 +0100 Subject: [PATCH 1/6] new style for alert windows --- style.css | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/style.css b/style.css index f25501f9..bfed9b72 100644 --- a/style.css +++ b/style.css @@ -679,15 +679,14 @@ aside { max-width: 300px; position: absolute; z-index: 9999; - background-color: #fff; - border: 1px solid #ccc; - color: #222; - font: 13px/15px "Helvetica Neue", Arial, Helvetica, sans-serif; + background-color: rgba(8, 48, 78, 0.9); + border: 1px solid #20A8B1; + color: #eee; + font: 13px/15px "coda","Helvetica Neue", Arial, Helvetica, sans-serif; padding: 2px 4px; } .ui-dialog { - border: 1px solid #0F0F0F; padding: 0; border-radius: 2px; } @@ -720,9 +719,8 @@ aside { } .ui-dialog-buttonpane { - background: #F2F2F2; padding: 12px; - border-top: 1px solid #E6E6E6; + border-top: 1px solid #20A8B1; } .ui-dialog-buttonset { @@ -732,6 +730,13 @@ aside { .ui-dialog-buttonset button { padding: 2px; min-width: 80px; + color: #FFCE00; + border: 1px solid #FFCE00; + background-color: rgba(8, 48, 78, 0.9); +} + +.ui-dialog-buttonset button:hover { + text-decoration: underline; } td { From eb3ec79852a1591f54451ed331cb531838eee108 Mon Sep 17 00:00:00 2001 From: Xelio Date: Tue, 5 Mar 2013 03:17:46 +0800 Subject: [PATCH 2/6] Add hook: requestFinished Called after each request finished. Argument is {success: boolean} indicated the request success or fail. --- code/hooks.js | 5 +++-- code/map_data.js | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/code/hooks.js b/code/hooks.js index fbf5c602..c3e0aa25 100644 --- a/code/hooks.js +++ b/code/hooks.js @@ -46,14 +46,15 @@ // checkRenderLimit: callback is passed the argument of // {reached : false} to indicate that the renderlimit is reached // set reached to true. - +// requestFinished: called after each request finished. Argument is +// {success: boolean} indicated the request success or fail. window._hooks = {} window.VALID_HOOKS = ['portalAdded', 'portalDetailsUpdated', 'publicChatDataAvailable', 'portalDataLoaded', 'beforePortalReRender', - 'checkRenderLimit']; + 'checkRenderLimit', 'requestFinished']; window.runHooks = function(event, data) { if(VALID_HOOKS.indexOf(event) === -1) throw('Unknown event type: ' + event); diff --git a/code/map_data.js b/code/map_data.js index 6dc7f0c9..c8ccf116 100644 --- a/code/map_data.js +++ b/code/map_data.js @@ -59,6 +59,7 @@ window.handleFailedRequest = function() { var leftOverPortals = portalRenderLimit.mergeLowLevelPortals(null); handlePortalsRender(leftOverPortals); } + runHooks('requestFinished', {success: false}); } // works on map data response and ensures entities are drawn/updated. @@ -139,6 +140,7 @@ window.handleDataResponse = function(data, textStatus, jqXHR) { resolvePlayerNames(); renderUpdateStatus(); + runHooks('requestFinished', {success: true}); } window.handlePortalsRender = function(portals) { From 492f0846f846ca9598ec37d68146e88cf2cf0ed0 Mon Sep 17 00:00:00 2001 From: boombuler Date: Mon, 4 Mar 2013 21:02:25 +0100 Subject: [PATCH 3/6] Fixed some style issues --- plugins/player-tracker.user.js | 4 ++-- style.css | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/player-tracker.user.js b/plugins/player-tracker.user.js index f52f4347..fe9c66a8 100644 --- a/plugins/player-tracker.user.js +++ b/plugins/player-tracker.user.js @@ -204,9 +204,9 @@ window.plugin.playerTracker.drawData = function() { var evtsLength = playerData.events.length; var last = playerData.events[evtsLength-1]; var ago = plugin.playerTracker.ago; - var color = playerData.team === 'ALIENS' ? '#029C02' : '#00789C'; + var cssClass = playerData.team === 'ALIENS' ? 'enl' : 'res'; var title = - '' + playerData.nick + '\n' + '' + playerData.nick + '\n' + ago(last.time, now) + ' minutes ago\n' + last.name; // show previous data in tooltip diff --git a/style.css b/style.css index bfed9b72..7b79982e 100644 --- a/style.css +++ b/style.css @@ -682,10 +682,14 @@ aside { background-color: rgba(8, 48, 78, 0.9); border: 1px solid #20A8B1; color: #eee; - font: 13px/15px "coda","Helvetica Neue", Arial, Helvetica, sans-serif; + font: 13px/15px "Helvetica Neue", Arial, Helvetica, sans-serif; padding: 2px 4px; } +.ui-tooltip, .ui-dialog a { + color: #FFCE00; +} + .ui-dialog { padding: 0; border-radius: 2px; @@ -714,10 +718,6 @@ aside { max-width: 700px !important; } -.ui-dialog a { - color: #0000ca; -} - .ui-dialog-buttonpane { padding: 12px; border-top: 1px solid #20A8B1; From 3c1c596a6a2471573e3c8b2e6fa2b6e488692feb Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Mon, 4 Mar 2013 15:55:01 -0600 Subject: [PATCH 4/6] * Add detailed error messages for redemption errors (including rate-limiting, which happens sometimes). * Reverse XMPs and resonators in redemption display --- code/redeeming.js | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/code/redeeming.js b/code/redeeming.js index 51a126dc..12bc5e32 100644 --- a/code/redeeming.js +++ b/code/redeeming.js @@ -12,12 +12,12 @@ window.handleRedeemResponse = function(data, textStatus, jqXHR) { } else if (data.error === 'INVALID_PASSCODE') { error = 'This passcode is invalid.'; } else { - error = 'The passcode cannot be redeemed.'; + error = 'There was a problem redeeming the passcode. Try again?'; } - alert("Error: " + data.error + "\n" + error); + alert('' + data.error + "\n" + error); } else if (data.result) { - var res_level = 0, res_count = 0; var xmp_level = 0, xmp_count = 0; + var res_level = 0, res_count = 0; var shield_rarity = '', shield_count = 0; // This assumes that each passcode gives only one type of resonator/XMP/shield. @@ -30,17 +30,17 @@ window.handleRedeemResponse = function(data, textStatus, jqXHR) { shield_count++; } } else if (acquired.resourceWithLevels) { - if (acquired.resourceWithLevels.resourceType === 'EMITTER_A') { - res_level = acquired.resourceWithLevels.level; - res_count++; - } else if (acquired.resourceWithLevels.resourceType === 'EMP_BURSTER') { + if (acquired.resourceWithLevels.resourceType === 'EMP_BURSTER') { xmp_level = acquired.resourceWithLevels.level; xmp_count++; + } else if (acquired.resourceWithLevels.resourceType === 'EMITTER_A') { + res_level = acquired.resourceWithLevels.level; + res_count++; } } } - alert("Passcode redeemed!\n" + [data.result.apAward + 'AP', data.result.xmAward + 'XM', res_count + 'xL' + res_level + ' RES', xmp_count + 'xL' + xmp_level + ' XMP', shield_count + 'x' + shield_rarity + ' SHIELD'].join('/')); + alert("Passcode accepted!\n" + [data.result.apAward + 'AP', data.result.xmAward + 'XM', xmp_count + 'xL' + xmp_level + ' XMP', res_count + 'xL' + res_level + ' RES', shield_count + 'x' + shield_rarity + ' SH'].join('/')); } } @@ -49,6 +49,19 @@ window.setupRedeem = function() { if((e.keyCode ? e.keyCode : e.which) != 13) return; var data = {passcode: $(this).val()}; window.postAjax('redeemReward', data, window.handleRedeemResponse, - function() { alert('The HTTP request failed. Either your code is invalid or their servers are down. No way to tell.'); }); + function(response) { + var extra = ''; + if (response && response.status) { + if (response.status === 429) { + extra = "You have been rate-limited by the server. Wait a bit and try again."; + } else { + extra = "The server indicated an error."; + } + extra += "\n" + 'Response: HTTP ' + jq.status + "."; + } else { + extra = "No status code was returned."; + } + alert('The HTTP request failed. ' + extra); + }); }); } From 4024c67f3aa290d697eb44a7ac0ff96fb192d577 Mon Sep 17 00:00:00 2001 From: Xelio Date: Tue, 5 Mar 2013 16:23:38 +0800 Subject: [PATCH 5/6] Make style of buttons in dialog consistant. --- style.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/style.css b/style.css index 7b79982e..31270562 100644 --- a/style.css +++ b/style.css @@ -727,7 +727,8 @@ aside { text-align: right; } -.ui-dialog-buttonset button { +.ui-dialog-buttonset button, +.ui-dialog-content button { padding: 2px; min-width: 80px; color: #FFCE00; From dbda13112ebb0defe959683afbca965df7842614 Mon Sep 17 00:00:00 2001 From: Xelio Date: Tue, 5 Mar 2013 23:10:49 +0800 Subject: [PATCH 6/6] Bug fix in "isSameResonator" It was throwing error when only one of the resonator is null. --- code/map_data.js | 1 + 1 file changed, 1 insertion(+) diff --git a/code/map_data.js b/code/map_data.js index c8ccf116..3da36190 100644 --- a/code/map_data.js +++ b/code/map_data.js @@ -453,6 +453,7 @@ window.isResonatorsShow = function() { window.isSameResonator = function(oldRes, newRes) { if(!oldRes && !newRes) return true; + if(!oldRes || !newRes) return false; if(typeof oldRes !== typeof newRes) return false; if(oldRes.level !== newRes.level) return false; if(oldRes.energyTotal !== newRes.energyTotal) return false;