mirror of
https://github.com/EnixCoda/Gitako.git
synced 2026-03-11 08:54:44 +00:00
fix: resolve default branch when not found in DOM
This commit is contained in:
parent
cb4b83102c
commit
18cf30b7ab
4 changed files with 18 additions and 23 deletions
|
|
@ -50,7 +50,6 @@ export const init: BoundMethodCreator = dispatch => async () => {
|
|||
dispatch.set({ disabled: true })
|
||||
return
|
||||
}
|
||||
const detectedBranchName = metaData.branchName
|
||||
DOMHelper.markGitakoReadyState(true)
|
||||
dispatch.set({
|
||||
errorDueToAuth: false,
|
||||
|
|
@ -62,10 +61,11 @@ export const init: BoundMethodCreator = dispatch => async () => {
|
|||
const [, { configContext }] = dispatch.get()
|
||||
const { access_token: accessToken } = configContext.val
|
||||
|
||||
if (!metaData.branchName || !metaData.userName || !metaData.repoName) return
|
||||
if (!metaData.userName || !metaData.repoName) return
|
||||
const guessDefaultBranch = 'master'
|
||||
const getTreeDataAggressively = platform.getTreeData(
|
||||
{
|
||||
branchName: metaData.branchName,
|
||||
branchName: metaData.branchName || guessDefaultBranch,
|
||||
userName: metaData.userName,
|
||||
repoName: metaData.repoName,
|
||||
},
|
||||
|
|
@ -81,13 +81,13 @@ export const init: BoundMethodCreator = dispatch => async () => {
|
|||
let getTreeData = getTreeDataAggressively
|
||||
const metaDataFromAPI = await platform.getMetaData(
|
||||
{
|
||||
branchName: metaData.branchName,
|
||||
userName: metaData.userName,
|
||||
repoName: metaData.repoName,
|
||||
},
|
||||
accessToken,
|
||||
)
|
||||
const projectDefaultBranchName = metaDataFromAPI?.defaultBranchName
|
||||
const detectedBranchName = metaData.branchName
|
||||
if (
|
||||
!detectedBranchName &&
|
||||
projectDefaultBranchName &&
|
||||
|
|
|
|||
|
|
@ -92,22 +92,18 @@ export const GitHub: Platform = {
|
|||
|
||||
const metaData = {
|
||||
...URLHelper.parse(),
|
||||
branchName: detectedBranchName || 'master',
|
||||
branchName: detectedBranchName,
|
||||
} as MetaData
|
||||
return metaData
|
||||
},
|
||||
async getMetaData(rawMetaData, accessToken) {
|
||||
const { userName, repoName, branchName } = rawMetaData
|
||||
async getMetaData(partialMetaData, accessToken) {
|
||||
const { userName, repoName } = partialMetaData
|
||||
const data = await API.getRepoMeta(userName, repoName, accessToken)
|
||||
const metaData: MetaData = {
|
||||
userName: data.owner.login,
|
||||
repoName: data.name,
|
||||
branchName,
|
||||
return {
|
||||
userUrl: data?.owner?.html_url,
|
||||
repoUrl: data?.html_url,
|
||||
defaultBranchName: data.default_branch,
|
||||
}
|
||||
|
||||
return metaData
|
||||
},
|
||||
async getTreeData(metaData, accessToken) {
|
||||
const { userName, repoName, branchName } = metaData
|
||||
|
|
|
|||
|
|
@ -92,22 +92,18 @@ export const Gitee: Platform = {
|
|||
|
||||
const metaData = {
|
||||
...URLHelper.parse(),
|
||||
branchName: detectedBranchName || 'master',
|
||||
branchName: detectedBranchName,
|
||||
} as MetaData
|
||||
return metaData
|
||||
},
|
||||
async getMetaData(rawMetaData, accessToken) {
|
||||
const { userName, repoName, branchName } = rawMetaData
|
||||
async getMetaData(partialMetaData, accessToken) {
|
||||
const { userName, repoName } = partialMetaData
|
||||
const data = await API.getRepoMeta(userName, repoName, accessToken)
|
||||
const metaData: MetaData = {
|
||||
userName,
|
||||
repoName,
|
||||
branchName,
|
||||
return {
|
||||
userUrl: data?.html_url?.replace(/(.*)\/.*?$/, '$1'),
|
||||
repoUrl: data?.html_url,
|
||||
defaultBranchName: data.default_branch,
|
||||
}
|
||||
|
||||
return metaData
|
||||
},
|
||||
async getTreeData(metaData, accessToken) {
|
||||
const { userName, repoName, branchName } = metaData
|
||||
|
|
|
|||
5
src/platforms/platform.d.ts
vendored
5
src/platforms/platform.d.ts
vendored
|
|
@ -1,6 +1,9 @@
|
|||
type Platform = {
|
||||
resolveMeta(): MetaData | null
|
||||
getMetaData(metaData: MetaData, accessToken?: string): Promise<MetaData>
|
||||
getMetaData(
|
||||
metaData: Pick<MetaData, 'userName' | 'repoName'>,
|
||||
accessToken?: string,
|
||||
): Promise<Pick<MetaData, 'userUrl' | 'repoUrl' | 'defaultBranchName'>>
|
||||
getTreeData(metaData: MetaData, accessToken?: string): Promise<TreeNode>
|
||||
shouldShow(metaData?: Partial<MetaData>): boolean
|
||||
getCurrentPath(branchName: string): string[] | null
|
||||
|
|
|
|||
Loading…
Reference in a new issue