diff --git a/js/services/go.js b/js/services/go.js index 88492b189..ac9d9d85b 100644 --- a/js/services/go.js +++ b/js/services/go.js @@ -14,18 +14,29 @@ angular.module('copayApp.services').factory('go', function($window, $location) { elem.removeClass('move-left'); }; - var showSidebar = function(invert) { + var toggleSidebar = function(invert) { if (typeof document === 'undefined') return; - // hack to hide sidebars and use ng-click (no href=) - var win = angular.element($window); - var elem = angular.element(document.querySelector('#off-canvas-wrap')) + var elem = angular.element(document.querySelector('#off-canvas-wrap')); + var leftbarActive = angular.element(document.getElementsByClassName('move-right')).length; + var rightbarActive = angular.element(document.getElementsByClassName('move-left')).length; + if (invert) { - elem.addClass('move-right'); + if (rightbarActive) { + hideSidebars(); + } + else { + elem.addClass('move-right'); + } } - else { - elem.addClass('move-left'); + else { + if (leftbarActive) { + hideSidebars(); + } + else { + elem.addClass('move-left'); + } } }; @@ -37,35 +48,8 @@ angular.module('copayApp.services').factory('go', function($window, $location) { hideSidebars(); }; - var pages = [ - '/homeWallet', - '/receive', - '/send', - '/history' - ]; - - var sidebarActive = false; - root.swipe = function(invert) { - var currentPage = $location.path(); - var pageIndex; - if (!sidebarActive) { - pageIndex = invert ? pages.indexOf(currentPage) - 1 : pages.indexOf(currentPage) + 1; - } - else { - pageIndex = pages.indexOf(currentPage); - } - var page = pages[pageIndex]; - - if (pageIndex === -1 || pageIndex === 4) { - sidebarActive = true; - showSidebar(invert); - } - else if (pageIndex >= 0 && pageIndex <= 3) { - var goTo = pages[pageIndex]; - sidebarActive = false; - root.go(goTo); - } + toggleSidebar(invert); }; return root;