diff --git a/src/components/Gitako.tsx b/src/components/Gitako.tsx
index ca91097..9a8b9c9 100644
--- a/src/components/Gitako.tsx
+++ b/src/components/Gitako.tsx
@@ -22,7 +22,7 @@ export function Gitako() {
)}
diff --git a/src/components/RepoContext.tsx b/src/components/RepoContext.tsx
index 2c97118..0bfdedd 100644
--- a/src/components/RepoContext.tsx
+++ b/src/components/RepoContext.tsx
@@ -12,10 +12,17 @@ export const RepoContext = React.createContext(null)
export function RepoContextWrapper({ children }: React.PropsWithChildren<{}>) {
const partialMetaData = usePartialMetaData()
+ const $state = useLoadedContext(SideBarStateContext)
+
+ React.useEffect(() => {
+ if (!partialMetaData) {
+ $state.onChange('disabled')
+ }
+ }, [partialMetaData])
const defaultBranch = useDefaultBranch(partialMetaData)
const metaData = useMetaData(partialMetaData, defaultBranch)
- return {metaData && children}
+ return {children}
}
function resolvePartialMetaData() {
@@ -54,11 +61,13 @@ function useBranchName(): MetaData['branchName'] | null {
function useDefaultBranch(partialMetaData: PartialMetaData | null) {
const { accessToken } = useConfigs().value
+ const $state = useLoadedContext(SideBarStateContext)
const $defaultBranch = useStateIO(null)
const catchNetworkError = useCatchNetworkError()
React.useEffect(() => {
catchNetworkError(async () => {
if (!partialMetaData) return
+ $state.onChange('meta-loading')
const defaultBranch = await platform.getDefaultBranchName(partialMetaData, accessToken)
$defaultBranch.onChange(defaultBranch)
@@ -75,12 +84,6 @@ function useMetaData(
const $metaData = useStateIO(null)
const branchName = useBranchName()
React.useEffect(() => {
- if (!partialMetaData) {
- $state.onChange('disabled')
- } else if (!defaultBranchName) {
- $state.onChange('meta-loading')
- }
-
if (partialMetaData && defaultBranchName) {
const { userName, repoName } = partialMetaData
const safeMetaData: MetaData = {
@@ -90,10 +93,10 @@ function useMetaData(
defaultBranchName,
}
$metaData.onChange(safeMetaData)
+ $state.onChange('meta-loaded')
} else {
$metaData.onChange(null)
}
- $state.onChange('meta-loaded')
}, [partialMetaData, branchName, defaultBranchName])
return $metaData.value
}