-
-
-
- {{ formatNumber(downloads) }} downloads
-
-
-
-
-
- {{ formatNumber(follows) }} followers
-
-
-
-
-
-
-
- Updated {{ sinceUpdated }}
-
-
-
-
Published {{ sinceCreation }}
+
+
+ {{ formatNumber(downloads) }}
+
+
+
+ {{ formatNumber(follows) }}
+
+
+
+ {{ dayjs(updatedAt).fromNow() }}
+
+
+
+ {{ dayjs(createdAt).fromNow() }}
+
+
+
+
-
diff --git a/lib/components/base/Promotion.vue b/lib/components/base/Promotion.vue
index f83f8c4c6..a0a6e620b 100644
--- a/lib/components/base/Promotion.vue
+++ b/lib/components/base/Promotion.vue
@@ -44,7 +44,7 @@ const target = computed(() => (props.external ? '_blank' : '_self'))
diff --git a/lib/components/index.js b/lib/components/index.js
index 000ab7584..a6f163f37 100644
--- a/lib/components/index.js
+++ b/lib/components/index.js
@@ -22,6 +22,9 @@ export { default as ProjectCard } from './base/ProjectCard.vue'
export { default as Promotion } from './base/Promotion.vue'
export { default as Slider } from './base/Slider.vue'
export { default as Toggle } from './base/Toggle.vue'
+export { default as ListSelector } from './base/ListSelector.vue'
+export { default as PageBar } from './base/PageBar.vue'
+export { default as ScrollableMultiSelect } from './base/ScrollableMultiSelect.vue'
// Branding
export { default as AnimatedLogo } from './brand/AnimatedLogo.vue'
diff --git a/lib/components/nav/Breadcrumbs.vue b/lib/components/nav/Breadcrumbs.vue
index b23ded1e2..b96a7be8d 100644
--- a/lib/components/nav/Breadcrumbs.vue
+++ b/lib/components/nav/Breadcrumbs.vue
@@ -1,5 +1,5 @@
-