mirror of
https://github.com/EnixCoda/Gitako.git
synced 2026-03-11 08:54:44 +00:00
fix: handle more branch name types
Handles projects not use ‘master’ as default branch Handles projects has branches whose name contains ‘/‘
This commit is contained in:
parent
de1d1b07f0
commit
3c81f96079
2 changed files with 24 additions and 3 deletions
|
|
@ -12,10 +12,10 @@ const init = dispatch => async () => {
|
|||
dispatch(setMetaData, metaData)
|
||||
const { access_token: accessToken, shortcut, compressSingletonFolder } = await configHelper.get()
|
||||
dispatch({ accessToken, toggleShowSideBarShortcut: shortcut, compressSingletonFolder })
|
||||
const defaultBranchName = 'master'
|
||||
const detectedBranchName = DOMHelper.getCurrentBranch() || 'master'
|
||||
let aggressivelyGotTreeData = GitHubHelper.getTreeData({
|
||||
...metaData,
|
||||
branchName: metaData.branchName || defaultBranchName,
|
||||
branchName: detectedBranchName,
|
||||
accessToken,
|
||||
}).catch(err => {
|
||||
nothingWentWrong = false
|
||||
|
|
@ -25,7 +25,7 @@ const init = dispatch => async () => {
|
|||
const projectDefaultBranchName = metaDataFromAPI['default_branch']
|
||||
if (!metaData.branchName) {
|
||||
// User accessed repo's homepage(no branch name in URL) and we predicted its default branch to be 'master'
|
||||
if (projectDefaultBranchName !== defaultBranchName) {
|
||||
if (projectDefaultBranchName !== detectedBranchName) {
|
||||
// And the repo do not use {defaultBranchName} as default branch,
|
||||
aggressivelyGotTreeData = GitHubHelper.getTreeData({
|
||||
...metaData,
|
||||
|
|
|
|||
|
|
@ -20,6 +20,24 @@ function setBodyIndent(shouldShowGitako) {
|
|||
}
|
||||
}
|
||||
|
||||
function isInCodePage() {
|
||||
const branchListSelector = '.branch-select-menu'
|
||||
const listElement = document.querySelector(branchListSelector)
|
||||
return Boolean(listElement)
|
||||
}
|
||||
|
||||
function getBranches() {
|
||||
const branchSelector = '.branch-select-menu .select-menu-list > div .select-menu-item-text'
|
||||
const branchElements = Array.from(document.querySelectorAll(branchSelector))
|
||||
return branchElements.map(element => element.innerHTML.trim())
|
||||
}
|
||||
|
||||
function getCurrentBranch() {
|
||||
const selectedBranchSelector = '.select-menu.branch-select-menu .select-menu-modal .select-menu-list .select-menu-item.selected svg.select-menu-item-icon + span'
|
||||
const selectedBranchElement = document.querySelector(selectedBranchSelector)
|
||||
return selectedBranchElement ? selectedBranchElement.textContent.trim() : null
|
||||
}
|
||||
|
||||
/**
|
||||
* add the logo element into DOM
|
||||
*
|
||||
|
|
@ -338,4 +356,7 @@ export default {
|
|||
scrollToRepoContent,
|
||||
mountTopProgressBar,
|
||||
unmountTopProgressBar,
|
||||
isInCodePage,
|
||||
getBranches,
|
||||
getCurrentBranch,
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue