This commit is contained in:
huchenlei
2024-08-31 09:46:20 -04:00
committed by Chenlei Hu
parent 0e88308571
commit 9247aec03a
2 changed files with 7 additions and 28 deletions

View File

@@ -1,20 +1,16 @@
<template>
<Button
@click="openGitHubIssues"
:label="buttonLabel"
:label="$t('findIssues')"
severity="secondary"
icon="pi pi-github"
:badge="issueCount.toString()"
>
</Button>
</template>
<script setup lang="ts">
import { computed } from 'vue'
import { useAsyncState } from '@vueuse/core'
import axios from 'axios'
import Button from 'primevue/button'
import { useI18n } from 'vue-i18n'
const props = defineProps<{
errorMessage: string
@@ -22,30 +18,7 @@ const props = defineProps<{
repoName: string
}>()
const GITHUB_API_URL = 'https://api.github.com/search/issues'
const queryString = computed(() => props.errorMessage + ' is:issue')
const getIssueCount = async () => {
const query = `${queryString.value} repo:${props.repoOwner}/${props.repoName}`
const response = await axios.get(GITHUB_API_URL, {
params: {
q: query,
per_page: 1
}
})
return response.data.total_count
}
const {
state: issueCount,
isLoading,
execute
} = useAsyncState(getIssueCount, 0)
const { t } = useI18n()
const buttonLabel = computed(() => {
return isLoading.value ? 'Loading...' : t('findIssues')
})
const openGitHubIssues = () => {
const query = encodeURIComponent(queryString.value)