|
1 | 1 | <script setup lang="ts"> |
2 | 2 | import { joinURL } from 'ufo' |
3 | | -import type { PackumentVersion, NpmVersionDist } from '#shared/types' |
| 3 | +import type { PackumentVersion, NpmVersionDist, ReadmeResponse } from '#shared/types' |
4 | 4 | import type { JsrPackageInfo } from '#shared/types/jsr' |
5 | 5 | import { assertValidPackageName } from '#shared/utils/npm' |
6 | 6 |
|
@@ -56,13 +56,13 @@ const { data: downloads } = usePackageDownloads(packageName, 'last-week') |
56 | 56 | const { data: weeklyDownloads } = usePackageWeeklyDownloadEvolution(packageName, { weeks: 52 }) |
57 | 57 |
|
58 | 58 | // Fetch README for specific version if requested, otherwise latest |
59 | | -const { data: readmeData } = useLazyFetch<{ html: string }>( |
| 59 | +const { data: readmeData } = useLazyFetch<ReadmeResponse>( |
60 | 60 | () => { |
61 | 61 | const base = `/api/registry/readme/${packageName.value}` |
62 | 62 | const version = requestedVersion.value |
63 | 63 | return version ? `${base}/v/${version}` : base |
64 | 64 | }, |
65 | | - { default: () => ({ html: '' }) }, |
| 65 | + { default: () => ({ html: '', playgroundLinks: [] }) }, |
66 | 66 | ) |
67 | 67 |
|
68 | 68 | // Check if package exists on JSR (only for scoped packages) |
@@ -664,9 +664,15 @@ defineOgImageComponent('Package', { |
664 | 664 | </ul> |
665 | 665 | </section> |
666 | 666 |
|
667 | | - <!-- Donwload stats --> |
| 667 | + <!-- Download stats --> |
668 | 668 | <PackageDownloadStats :downloads="weeklyDownloads" /> |
669 | 669 |
|
| 670 | + <!-- Playground links --> |
| 671 | + <PackagePlaygrounds |
| 672 | + v-if="readmeData?.playgroundLinks?.length" |
| 673 | + :links="readmeData.playgroundLinks" |
| 674 | + /> |
| 675 | + |
670 | 676 | <section |
671 | 677 | v-if=" |
672 | 678 | displayVersion?.engines && (displayVersion.engines.node || displayVersion.engines.npm) |
|
0 commit comments