2022-12-08 00:55:45 +09:00
|
|
|
<script setup lang="ts">
|
2023-01-08 15:21:09 +09:00
|
|
|
import type { mastodon } from 'masto'
|
2022-12-08 00:55:45 +09:00
|
|
|
|
2022-12-10 06:13:59 +09:00
|
|
|
const props = defineProps<{
|
2023-01-08 15:21:09 +09:00
|
|
|
card: mastodon.v1.PreviewCard
|
2022-12-10 06:13:59 +09:00
|
|
|
/** For the preview image, only the small image mode is displayed */
|
|
|
|
smallPictureOnly?: boolean
|
|
|
|
/** When it is root card in the list, not appear as a child card */
|
|
|
|
root?: boolean
|
2022-12-08 00:55:45 +09:00
|
|
|
}>()
|
2022-12-14 03:30:40 +09:00
|
|
|
|
2022-12-11 19:52:36 +09:00
|
|
|
const providerName = $computed(() => props.card.providerName ? props.card.providerName : new URL(props.card.url).hostname)
|
2022-12-08 00:55:45 +09:00
|
|
|
|
2023-01-15 23:19:22 +09:00
|
|
|
const gitHubCards = $(usePreferences('experimentalGitHubCards'))
|
2022-12-08 00:55:45 +09:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
2023-01-17 18:59:16 +09:00
|
|
|
<LazyStatusPreviewGitHub v-if="gitHubCards && providerName === 'GitHub'" :card="card" />
|
|
|
|
<LazyStatusPreviewStackBlitz v-else-if="gitHubCards && providerName === 'stackblitz.com'" :card="card" :small-picture-only="smallPictureOnly" :root="root" />
|
|
|
|
<StatusPreviewCardNormal v-else :card="card" :small-picture-only="smallPictureOnly" :root="root" />
|
2022-12-08 00:55:45 +09:00
|
|
|
</template>
|