Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/60819


Change subject: Story 477: Only show nearby in menu when supported
......................................................................

Story 477: Only show nearby in menu when supported

User must have geolocation support and javascript enabled

FIXME: Due to javascript running at the bottom there is a flash of JS
(See following commit)
Change-Id: I2553c303a6ef0161ac3b577c73abc5078f1cf4f9
---
M javascripts/common/mf-application.js
M javascripts/specials/nearby.js
M less/common/mainmenu.less
M stylesheets/common/ui.css
4 files changed, 31 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend 
refs/changes/19/60819/1

diff --git a/javascripts/common/mf-application.js 
b/javascripts/common/mf-application.js
index 3275f56..6a39598 100644
--- a/javascripts/common/mf-application.js
+++ b/javascripts/common/mf-application.js
@@ -98,6 +98,10 @@
                } );
        }
 
+       function supportsGeoLocation() {
+               return !!navigator.geolocation;
+       }
+
        // TODO: separate main menu navigation code into separate module
        function init() {
                // FIXME: use wgIsMainPage
@@ -111,6 +115,9 @@
                $doc.removeClass( 'page-loading' ); // FIXME: Kill with fire. 
This is here for historic reasons in case old HTML is cached
                if( supportsPositionFixed() ) {
                        $doc.addClass( 'supportsPositionFixed' );
+               }
+               if ( supportsGeoLocation() ) {
+                       $doc.addClass( 'supports-geo-location' );
                }
 
                // when rotating to landscape stop page zooming on ios
@@ -215,6 +222,7 @@
                message: message,
                on: on,
                prefix: 'mw-mf-',
+               supportsGeoLocation: supportsGeoLocation,
                supportsPositionFixed: supportsPositionFixed,
                triggerPageReadyHook: triggerPageReadyHook,
                prettyEncodeTitle: prettyEncodeTitle,
diff --git a/javascripts/specials/nearby.js b/javascripts/specials/nearby.js
index de8af5a..9f155a5 100644
--- a/javascripts/specials/nearby.js
+++ b/javascripts/specials/nearby.js
@@ -1,7 +1,7 @@
 ( function( M, $ ) {
 
 ( function() {
-       var supported = !!navigator.geolocation,
+       var supported = M.supportsGeoLocation(),
                popup = M.require( 'notifications' ),
                View = M.require( 'view' ),
                cachedPages,
diff --git a/less/common/mainmenu.less b/less/common/mainmenu.less
index 4c2d5f2..d76816d 100644
--- a/less/common/mainmenu.less
+++ b/less/common/mainmenu.less
@@ -66,8 +66,8 @@
                        /* @embed */background-image: 
url(images/menu/uploads.png);
                }
 
-               &.icon-nearby a {
-                       /* @embed */background-image: 
url(images/menu/nearby.png);
+               &.icon-nearby {
+                       display: none;
                }
 
                &.icon-settings a {
@@ -80,6 +80,17 @@
        }
 }
 
+.supports-geo-location {
+       #mw-mf-menu-main {
+               li.icon-nearby {
+                       display: block;
+                       a {
+                       /* @embed */background-image: 
url(images/menu/nearby.png);
+                       }
+               }
+       }
+}
+
 @media all and (min-width: 700px) {
        body.navigation-enabled.alpha,
        body.navigation-enabled.beta {
diff --git a/stylesheets/common/ui.css b/stylesheets/common/ui.css
index a268ebf..dd1074d 100644
--- a/stylesheets/common/ui.css
+++ b/stylesheets/common/ui.css
@@ -189,9 +189,8 @@
   /* @embed */
   background-image: url(images/menu/uploads.png);
 }
-#mw-mf-menu-main li.icon-nearby a {
-  /* @embed */
-  background-image: url(images/menu/nearby.png);
+#mw-mf-menu-main li.icon-nearby {
+  display: none;
 }
 #mw-mf-menu-main li.icon-settings a {
   /* @embed */
@@ -201,6 +200,13 @@
   /* @embed */
   background-image: url(images/menu/loginout.png);
 }
+.supportsGeoLocation #mw-mf-menu-main li.icon-nearby {
+  display: block;
+}
+.supportsGeoLocation #mw-mf-menu-main li.icon-nearby a {
+  /* @embed */
+  background-image: url(images/menu/nearby.png);
+}
 @media all and (min-width: 700px) {
   body.navigation-enabled.alpha #mw-mf-page-left,
   body.navigation-enabled.beta #mw-mf-page-left {

-- 
To view, visit https://gerrit.wikimedia.org/r/60819
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2553c303a6ef0161ac3b577c73abc5078f1cf4f9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to