Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/danielroe/unsight.dev. Detect duplicate GitHub issues, areas of concern and more across related rep unsight.dev
Something went wrong. Try again.
1.4 kB · 47 lines
Vue
at web-ext
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748<script setup lang="ts">import type { Issue } from '~/components/SimilarIssue.vue'import { useFetch } from '@vueuse/core'import SimilarIssue from '~/components/SimilarIssue.vue'import 'uno.css'
const VITE_UNSIGHT_DOT_DEV_BASE_URL = import.meta.env.VITE_UNSIGHT_DOT_DEV_BASE_URL || 'https://unsight.dev/'
const [, ownerPart, repoPart, , issuePart] = window.location.pathname.split('/')
const issueUrl = computed(() => new URL(`/api/similarity/${ownerPart}/${repoPart}/${issuePart}`, VITE_UNSIGHT_DOT_DEV_BASE_URL).toString())
const { data: issues, error, isFetching,} = useFetch<Issue[]>(issueUrl, { immediate: true, timeout: 5000, onFetchError: (ctx) => { console.error('Failed to fetch similar issues:', ctx.error) return ctx }}).json()</script>
<template> <details class="grid gap-2" aria-live="polite"> <summary>Similar issues</summary> <div v-if="isFetching"> Loading... </div> <div v-else-if="error" class="text-red-700"> Error loading similar issues </div> <template v-else-if="issues"> <p v-if="issues.length === 0"> No similar issues </p> <ul v-else class="list-none grid gap-4" style="padding-inline-start: 0;"> <li v-for="issue in issues" :key="issue.number"> <SimilarIssue :issue="issue" /> </li> </ul> </template> </details></template>