From 3f03c62f20221eb880375cfac18c285c1d9036ac Mon Sep 17 00:00:00 2001 From: EnixCoda Date: Fri, 9 Nov 2018 11:17:57 +0800 Subject: [PATCH] fix: revert branch handler --- src/driver/core/SideBar.js | 5 +++-- src/utils/DOMHelper.js | 13 +++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/driver/core/SideBar.js b/src/driver/core/SideBar.js index 5fa99c1..5489b2f 100644 --- a/src/driver/core/SideBar.js +++ b/src/driver/core/SideBar.js @@ -12,9 +12,10 @@ const init = dispatch => async () => { const metaData = URLHelper.parse() if (DOMHelper.isInCodePage()) { // in case GitHub page structure changes, fallback to 'master' - const detectedBranchName = DOMHelper.getCurrentBranch() || 'master' + let detectedBranchName = DOMHelper.getCurrentBranch() + branchDetected = Boolean(detectedBranchName) + detectedBranchName = detectedBranchName || 'master' metaData.branchName = detectedBranchName - branchDetected = true } else { metaData.branchName = 'master' branchDetected = false diff --git a/src/utils/DOMHelper.js b/src/utils/DOMHelper.js index d6275fa..dcf641a 100644 --- a/src/utils/DOMHelper.js +++ b/src/utils/DOMHelper.js @@ -40,12 +40,13 @@ function getBranches() { } function getCurrentBranch() { - const title = document.title - const reg = /(.*?) at (.*?)($| )/ - const match = title.match(reg) - if (!match) return - const [_, nameAndPath, branch] = match - return branch + const selectedBranchButtonSelector = '.repository-content > .file-navigation > .branch-select-menu > button' + const branchNameFromButtonElement = $(selectedBranchButtonSelector, element => element.title.trim()) + if (branchNameFromButtonElement) return branchNameFromButtonElement + + const selectedBranchSelector = '.select-menu.branch-select-menu .select-menu-modal .select-menu-list .select-menu-item.selected svg.select-menu-item-icon + span' + const branchNameFromSelectElement = $(selectedBranchSelector, element => element.textContent.trim()) + if (branchNameFromSelectElement) return branchNameFromSelectElement } /**