50 lines
982 B
Vue
50 lines
982 B
Vue
<script setup lang="ts">
|
|
import { computed } from 'vue'
|
|
|
|
const props = defineProps<{
|
|
authors: string[]
|
|
}>()
|
|
|
|
interface Author {
|
|
name: string
|
|
github: string
|
|
}
|
|
|
|
const data = [
|
|
{
|
|
name: 'nbats',
|
|
github: 'https://github.com/nbats'
|
|
},
|
|
{
|
|
name: 'Kai',
|
|
github: 'https://github.com/Kai-FMHY'
|
|
},
|
|
{
|
|
name: 'taskylizard',
|
|
github: 'https://github.com/taskylizard'
|
|
},
|
|
{
|
|
name: 'zinklog',
|
|
github: 'https://github.com/zinklog2'
|
|
},
|
|
{
|
|
name: 'Q',
|
|
github: 'https://github.com/qiracy'
|
|
}
|
|
] satisfies Author[]
|
|
|
|
const authors = computed(() =>
|
|
data.filter((author) => props.authors.includes(author.name))
|
|
)
|
|
</script>
|
|
|
|
<template>
|
|
<div class="flex flex-wrap gap-4 pt-2">
|
|
<div v-for="(c, index) of authors" class="flex gap-2 items-center">
|
|
<img :src="`${c.github}.png`" class="w-8 h-8 rounded-full" >
|
|
<a :href="c.github">{{ c.name }}</a>
|
|
<span v-if="index < authors.length - 1">•</span>
|
|
</div>
|
|
</div>
|
|
</template>
|