Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: static/js/index.js

Issue 29727563: Fixes #35 - Progressively enhance install button with appropriate links and text (Closed) Base URL: https://hg.adblockplus.org/web.adblockplus.org
Patch Set: Rebase Created April 3, 2018, 4:04 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « static/css/index.css ('k') | static/js/vendor/bowser.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 "use strict";
juliandoucette 2018/04/04 10:18:23 Why is this necessary?
ire 2018/04/05 14:32:43 I originally added it because it was in the main.j
juliandoucette 2018/04/06 12:35:22 Ack. I don't really think it's necessary. Therefo
ire 2018/04/06 13:21:48 Acknowledged.
2
3 (function()
4 {
5 var supportedPlatforms = {
6 // Desktop browsers
juliandoucette 2018/04/04 10:18:23 NIT: Please put one blank line above to make this
ire 2018/04/05 14:32:44 Done.
7 "chrome": {
8 installer: "https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpkdaib dccddilifddb",
9 label: "Chrome"
10 },
11 "opera": {
12 installer: "https://addons.opera.com/extensions/details/opera-adblock/?dis play=en-US",
13 label: "Opera"
14 },
15 "yandexbrowser": {
16 installer: "https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpkdaib dccddilifddb",
17 label: "Yandex Browser"
18 },
19 "msie": {
20 installer: "https://update.adblockplus.org/latest/adblockplusie.exe",
21 label: "Internet Explorer"
22 },
23 "msedge": {
24 installer: "https://www.microsoft.com/store/p/adblock-plus/9nblggh4r9nz",
25 label: "Micrsoft Edge"
26 },
27 "firefox": {
28 installer: "https://update.adblockplus.org/latest/adblockplusfirefox.xpi",
29 label: "Firefox"
30 },
31 "safari": {
32 installer: "https://update.adblockplus.org/latest/adblockplussafari.safari extz",
33 label: "Safari"
34 },
35 "maxthon": "",
36
37 // Mobile platforms
38 "ios": {
39 installer: "https://eyeo.to/adblockbrowser/ios/abp-website",
40 label: "iOS",
41 },
42 "android": {
43 installer: "https://eyeo.to/adblockbrowser/android/abp-website",
44 label: "Android"
45 }
46 };
47
48 function setupHeroDownloadButton()
49 {
50 var heroDownloadButton = document.getElementById("hero-download-button");
51 var detectedPlatform;
52
53 for (var key in supportedPlatforms) if (bowser[key]) detectedPlatform = key;
juliandoucette 2018/04/04 10:18:23 NITs - It took me a minute to figure out what you
ire 2018/04/05 14:32:43 I'll go with your implementation. Done.
54
55 if (!detectedPlatform) return;
56
57 document.body.classList.add(detectedPlatform);
58
59 if (detectedPlatform === "maxthon") return;
60
61 heroDownloadButton.href = supportedPlatforms[detectedPlatform].installer;
62 heroDownloadButton.textContent = document
63 .getElementById("hero-download-button-template")
64 .innerHTML
65 .replace("browser", supportedPlatforms[detectedPlatform].label);
juliandoucette 2018/04/04 10:18:23 "browser" is not fixed in the include. Therefore,
juliandoucette 2018/04/04 10:18:23 I think the browser name itself is translated in s
ire 2018/04/05 14:32:43 Done.
ire 2018/04/05 14:32:43 Done.
66
67 heroDownloadButton.addEventListener("click", function(event)
juliandoucette 2018/04/04 10:18:23 I think chrome.webstore.install works on other chr
ire 2018/04/05 14:32:43 You're right. I switch to checking for the "chrome
68 {
69 if (detectedPlatform !== "chrome") return;
70 event.preventDefault();
71 chrome.webstore.install();
72 });
73 }
74
75 if (bowser) setupHeroDownloadButton();
76
77 }());
OLDNEW
« no previous file with comments | « static/css/index.css ('k') | static/js/vendor/bowser.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld