fix(flux-note): stop showing sign-in prompt while readme is loading
Cache miss wrote null into store.readme before getMainReadme finished, collapsing isLoading and surfacing the not-accessible UI mid-fetch. Also branch that UI on auth state so signed-in users aren't told to sign in when access fails.
This commit is contained in:
@@ -5,6 +5,7 @@ import HeaderNote from "@/components/HeaderNote.vue"
|
||||
import SignInGithub from "@/components/SignInGithub.vue"
|
||||
import SkeletonLoader from "@/components/SkeletonLoader.vue"
|
||||
import StackedNote from "@/components/StackedNote.vue"
|
||||
import { useGitHubLogin } from "@/hooks/useGitHubLogin.hook"
|
||||
import { useLinks } from "@/hooks/useLinks.hook"
|
||||
import { markdownBuilder } from "@/hooks/useMarkdown.hook"
|
||||
import { useNoteView } from "@/hooks/useNoteView.hook"
|
||||
@@ -44,6 +45,7 @@ const { listenToClick } = useLinks("note-display")
|
||||
const { stackedNotes, scrollToFocusedNote } = useRouteQueryStackedNotes()
|
||||
|
||||
const { titles } = useNoteView()
|
||||
const { isLogged } = useGitHubLogin()
|
||||
useResizeContainer("note-container", stackedNotes)
|
||||
|
||||
const renderedContent = computed(() =>
|
||||
@@ -104,8 +106,13 @@ onUnmounted(() => {
|
||||
<slot />
|
||||
<skeleton-loader v-if="isLoading" />
|
||||
<div v-else-if="withContent && !hasContent" class="repo-not-found">
|
||||
<template v-if="isLogged">
|
||||
<p>This repository is not accessible.</p>
|
||||
</template>
|
||||
<template v-else>
|
||||
<p>This repository is private. Sign in to view it.</p>
|
||||
<sign-in-github />
|
||||
</template>
|
||||
</div>
|
||||
<p
|
||||
v-else-if="withContent && hasContent"
|
||||
|
||||
@@ -166,8 +166,10 @@ export const useUserRepoStore = defineStore("USER_REPO_STATE", {
|
||||
|
||||
getCachedMainReadme(user, repo).then(async (cachedReadme) => {
|
||||
if (requestId !== this._requestId) return
|
||||
this.readme = cachedReadme
|
||||
this.readme = await getMainReadme(user, repo)
|
||||
if (cachedReadme) this.readme = cachedReadme
|
||||
const fetched = await getMainReadme(user, repo)
|
||||
if (requestId !== this._requestId) return
|
||||
this.readme = fetched
|
||||
})
|
||||
},
|
||||
addFile(file: RepoFile) {
|
||||
|
||||
Reference in New Issue
Block a user