@@ -26,6 +26,11 @@ const avatarBase = 'https://api.nuxtjs.org/api/ipx/s_44,f_webp/gh_avatar/'
26
26
const githubBase = ' https://github.com/'
27
27
const npmBase = ' https://www.npmjs.com/package/'
28
28
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
+
29
34
const openInEditor = useOpenInEditor ()
30
35
</script >
31
36
@@ -67,7 +72,7 @@ const openInEditor = useOpenInEditor()
67
72
<div flex-auto />
68
73
69
74
<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 />
71
76
<NuxtLink
72
77
:to =" data.website"
73
78
target =" _blank"
@@ -78,7 +83,7 @@ const openInEditor = useOpenInEditor()
78
83
</NuxtLink >
79
84
</div >
80
85
<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 />
82
87
<NuxtLink
83
88
:to =" data.github"
84
89
target =" _blank"
@@ -93,16 +98,16 @@ const openInEditor = useOpenInEditor()
93
98
<slot name =" items" />
94
99
95
100
<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 />
98
103
<span >
99
- {{ data.stats. stars }}
104
+ {{ stars }}
100
105
</span >
101
106
</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 />
104
109
<span >
105
- {{ data.stats. downloads }}
110
+ {{ downloads }}
106
111
</span >
107
112
</div >
108
113
</div >
@@ -115,7 +120,7 @@ const openInEditor = useOpenInEditor()
115
120
:factor =" 0.5"
116
121
>
117
122
<template #before >
118
- <NIcon icon =" carbon-time" mr2 text-lg op50 />
123
+ <NIcon icon =" carbon-time" mr2 flex-none text-lg op50 />
119
124
</template >
120
125
</DurationDisplay >
121
126
</div >
@@ -127,7 +132,7 @@ const openInEditor = useOpenInEditor()
127
132
h-20 w-20 flex flex-none rounded bg-gray:3 p4
128
133
>
129
134
<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 />
131
136
</div >
132
137
<div v-if =" data.maintainers?.length && maintainers" flex =" ~" mt2 flex-auto items-end justify-end >
133
138
<NuxtLink
0 commit comments