From 7fa150dfae4a4f893e651b730f7ebf26c8afaff3 Mon Sep 17 00:00:00 2001 From: Aaron Date: Wed, 8 Nov 2023 08:27:58 -0600 Subject: [PATCH] docs: Improve the "Used By" section on homepage (#220) --- .../.vitepress/components/UsingWxtSection.vue | 57 +++++++++++++------ .../composables/useListExtensionDetails.ts | 2 + 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/docs/.vitepress/components/UsingWxtSection.vue b/docs/.vitepress/components/UsingWxtSection.vue index ed389497..ec7d640d 100644 --- a/docs/.vitepress/components/UsingWxtSection.vue +++ b/docs/.vitepress/components/UsingWxtSection.vue @@ -11,11 +11,17 @@ const chromeExtensionIds = [ ]; const { data } = useListExtensionDetails(chromeExtensionIds); -const sortedExtensions = computed(() => - !data.value - ? undefined - : [...data.value].sort((l, r) => r.weeklyActiveUsers - l.weeklyActiveUsers), -); +const sortedExtensions = computed(() => { + if (!data.value?.length) return []; + + return [...data.value] + .map((item) => ({ + ...item, + // Sort based on the user count weighted by the rating + sortKey: ((item.rating ?? 5) / 5) * item.weeklyActiveUsers, + })) + .sort((l, r) => r.sortKey - l.sortKey); +}); function getStoreUrl(extension: ChromeExtension) { const url = new URL(extension.storeUrl); @@ -27,32 +33,41 @@ function getStoreUrl(extension: ChromeExtension) {