diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 8fafd864..0f640d5a 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -12,26 +12,7 @@ "options_improve_configurator": { "message": "Send anonymous usage data to the developer team" }, - - "reviewHead": { - "message": "Application Review" - }, - "reviewInitial": { - "message": "Do you like this app?" - }, - "reviewStore": { - "message": "We are glad to hear that, would you like to send a review to make the application more popular?" - }, - "reviewBug": { - "message": "We are sorry to hear that, would you like to submit a ticker and tell us what bothers you?" - }, - "reviewYes": { - "message": "Yes" - }, - "reviewNo": { - "message": "No" - }, - + "connect": { "message": "Connect" }, diff --git a/js/review.js b/js/review.js deleted file mode 100644 index dcd8cfca..00000000 --- a/js/review.js +++ /dev/null @@ -1,143 +0,0 @@ -'use strict'; - -$(document).ready(function () { - function Dialog(identifier, content, handler) { - var self = this; - - this.block = $('
').css({ - 'position': 'fixed', - 'top': 0, - 'left': 0, - 'width': '100%', - 'height': '100%', - 'background-color': 'rgba(0, 0, 0, 0.25)', - 'z-index': 1000 - }); - - $('body').append(this.block); - - this.element = $('
').prop('id', 'dialog').addClass(identifier).load(content, function () { - // position the dialog - self.element.css({ - 'top': window.innerHeight / 3, - 'left': (window.innerWidth - self.element.width()) / 2 - }); - - // display content - self.element.fadeIn(100); - - if (handler) handler(self); - }); - - $('body').append(this.element); - - // handle window resize - var resizeHandler = function () { - self.element.css({ - 'top': window.innerHeight / 3, - 'left': (window.innerWidth - self.element.width()) / 2 - }); - }; - - $(window).on('resize', resizeHandler); - - - // handle confirm/dismiss keys - var keyDownHandler = function (e) { - if (e.which == 13) { - // Enter - self.element.find('.yes').click(); - } else if (e.which == 27) { - // ESC - self.element.find('.no').click(); - } - }; - - $(document).on('keydown', keyDownHandler); - - // cleanup routine - this.cleanup = function () { - $(window).off('resize', resizeHandler); - $(document).off('keydown', keyDownHandler); - - self.element.empty().remove(); - self.block.remove(); - }; - - return this; - } - - chrome.storage.sync.get('appReview', function (result) { - if (typeof result.appReview !== 'undefined') { - var data = result.appReview; - - if (data.launched < 10) { - data.launched += 1; - - chrome.storage.sync.set({'appReview': data}); - return; - } - - if ((data.firstStart + 604800000) < new Date().getTime()) { - if ((data.refused == 0 || (data.refused + 604800000) < new Date().getTime()) && !data.reviewed) { // needs verifying - var dialog = new Dialog('review', './tabs/review.html', function () { - localize(); - - $('.initial', dialog.element).show(); - - var stage = 0; - $(dialog.element).on('click', '.yes, .no', function () { - if (!stage) { - $('p', dialog.element).hide(); - if ($(this).hasClass('yes')) { - $('.storeReview', dialog.element).show(); - stage = 1; - googleAnalytics.sendEvent('Review', 'Likes App', true); - } else { - $('.bugTicket', dialog.element).show(); - stage = 2 - googleAnalytics.sendEvent('Review', 'Likes App', false); - } - return false; - } - - if (stage == 1) { - if ($(this).hasClass('yes')) { - window.open('https://chrome.google.com/webstore/detail/baseflight-configurator/mppkgnedeapfejgfimkdoninnofofigk/reviews'); - data.reviewed = new Date().getTime(); - googleAnalytics.sendEvent('Review', 'Submits Review', true); - } else { - data.refused = new Date().getTime(); - googleAnalytics.sendEvent('Review', 'Refused', true); - } - } - - if (stage == 2) { - if ($(this).hasClass('yes')) { - window.open('https://chrome.google.com/webstore/detail/baseflight-configurator/mppkgnedeapfejgfimkdoninnofofigk/support'); - data.refused = new Date().getTime(); - googleAnalytics.sendEvent('Review', 'Submits Bug Ticket', true); - } else { - data.refused = new Date().getTime(); - googleAnalytics.sendEvent('Review', 'Refused', true); - } - } - - chrome.storage.sync.set({'appReview': data}); - dialog.cleanup(); - }); - - }); - } - } - } else { - // object not in storage, initial setup - chrome.storage.sync.set({'appReview': { - 'firstStart': new Date().getTime(), - 'launched': 1, - 'reviewed': 0, - 'refused': 0 - }}); - } - }); -}); \ No newline at end of file