@@ -23,18 +23,13 @@ const { data: profile }: { data?: NPMXProfile } = useFetch(
2323 },
2424)
2525
26- const { data : likes , status } = await useProfileLikes (handle )
26+ const { data : likesData , status } = await useProfileLikes (handle )
2727
2828useSeoMeta ({
2929 title : () => ` ${handle .value } - npmx ` ,
3030 description : () => ` npmx profile by ${handle .value } ` ,
3131})
3232
33- function extractPackageFromRef(ref : string ) {
34- const { pkg } = / https:\/\/ npmx. dev\/ package\/ (?<pkg >. * )/ .exec (ref ).groups
35- return pkg
36- }
37-
3833/**
3934defineOgImageComponent('Default', {
4035 title: () => `~${username.value}`,
@@ -57,13 +52,13 @@ defineOgImageComponent('Default', {
5752 </div >
5853 </header >
5954
60- <section class =" flex flex-col gap-3 " >
55+ <section class =" flex flex-col gap-8 " >
6156 <h1
6257 class =" font-mono text-2xl sm:text-3xl font-medium min-w-0 break-words"
6358 :title =" Likes"
6459 dir =" ltr"
6560 >
66- Likes <span v-if =" status === 'success' " >({{ likes .likes.records.length ?? 0 }})</span >
61+ Likes <span v-if =" likesData " >({{ likesData .likes.records.length ?? 0 }})</span >
6762 </h1 >
6863 <div v-if =" status === 'pending'" >
6964 <p >Loading...</p >
@@ -72,20 +67,11 @@ defineOgImageComponent('Default', {
7267 <p >Error</p >
7368 </div >
7469 <div v-else class =" grid grid-cols-1 lg:grid-cols-3 gap-4" >
75- <NuxtLink
76- :to =" {
77- name: 'package-pkg',
78- params: { pkg: extractPackageFromRef(like.value.subjectRef) },
79- }"
80- v-for =" like in likes.likes.records"
81- >
82- <BaseCard class =" group font-mono flex justify-between" >
83- <p >
84- {{ extractPackageFromRef(like.value.subjectRef) }}
85- </p >
86- <p class =" transition-transform duration-150 group-hover:rotate-45" >↗</p >
87- </BaseCard >
88- </NuxtLink >
70+ <PackageBasicCard
71+ v-if =" likesData.likes.records"
72+ v-for =" like in likesData.likes.records"
73+ :packageName =" like.value.subjectRef"
74+ />
8975 </div >
9076 </section >
9177 </main >
0 commit comments