@@ -26,6 +26,11 @@ const avatarBase = 'https://api.nuxtjs.org/api/ipx/s_44,f_webp/gh_avatar/'
2626const githubBase = ' https://github.com/'
2727const npmBase = ' https://www.npmjs.com/package/'
2828
29+ const { format : formatNumber } = Intl .NumberFormat (navigator .language || ' en' , { notation: ' compact' , maximumFractionDigits: 1 })
30+
31+ const stars = computed (() => formatNumber (data .value .stats ?.stars || 0 ))
32+ const downloads = computed (() => formatNumber (data .value .stats ?.downloads || 0 ))
33+
2934const openInEditor = useOpenInEditor ()
3035 </script >
3136
@@ -67,7 +72,7 @@ const openInEditor = useOpenInEditor()
6772 <div flex-auto />
6873
6974 <div v-if =" data.website" flex =" ~ gap-2" title =" Documentation" >
70- <span i-carbon-link text-lg op50 />
75+ <span i-carbon-link flex-none text-lg op50 />
7176 <NuxtLink
7277 :to =" data.website"
7378 target =" _blank"
@@ -78,7 +83,7 @@ const openInEditor = useOpenInEditor()
7883 </NuxtLink >
7984 </div >
8085 <div v-if =" data.github" flex =" ~ gap-2" >
81- <span i-carbon-logo-github text-lg op50 />
86+ <span i-carbon-logo-github flex-none text-lg op50 />
8287 <NuxtLink
8388 :to =" data.github"
8489 target =" _blank"
@@ -93,16 +98,16 @@ const openInEditor = useOpenInEditor()
9398 <slot name =" items" />
9499
95100 <div v-if =" data.stats" flex =" ~ gap-4 items-center" >
96- <div flex =" ~ gap-2 items-center" op50 >
97- <NIcon icon =" carbon-star" text-lg />
101+ <div v-if = " data.stats.stars " flex =" ~ gap-2 items-center" op50 >
102+ <NIcon icon =" carbon-star" flex-none text-lg />
98103 <span >
99- {{ data.stats. stars }}
104+ {{ stars }}
100105 </span >
101106 </div >
102- <div flex =" ~ gap-2 items-center" op50 >
103- <NIcon icon =" carbon-download" text-lg />
107+ <div v-if = " data.stats.downloads " flex =" ~ gap-2 items-center" op50 >
108+ <NIcon icon =" carbon-download" flex-none text-lg />
104109 <span >
105- {{ data.stats. downloads }}
110+ {{ downloads }}
106111 </span >
107112 </div >
108113 </div >
@@ -115,7 +120,7 @@ const openInEditor = useOpenInEditor()
115120 :factor =" 0.5"
116121 >
117122 <template #before >
118- <NIcon icon =" carbon-time" mr2 text-lg op50 />
123+ <NIcon icon =" carbon-time" mr2 flex-none text-lg op50 />
119124 </template >
120125 </DurationDisplay >
121126 </div >
@@ -127,7 +132,7 @@ const openInEditor = useOpenInEditor()
127132 h-20 w-20 flex flex-none rounded bg-gray:3 p4
128133 >
129134 <img v-if =" data.icon" :src =" iconBase + data.icon" :alt =" mod.name" ma >
130- <div i-carbon-cube ma text-4xl op30 />
135+ <div v-else i-carbon-cube ma flex-none text-4xl op30 />
131136 </div >
132137 <div v-if =" data.maintainers?.length && maintainers" flex =" ~" mt2 flex-auto items-end justify-end >
133138 <NuxtLink
0 commit comments