From 30910211946c76d0438aab7cf20080012049006b Mon Sep 17 00:00:00 2001 From: Prospector <6166773+Prospector@users.noreply.github.com> Date: Sat, 4 Apr 2026 07:53:53 -0700 Subject: [PATCH] fix: no gap after navtabs on collections (#5740) * fix: no gap after navtabs on collections * fix collection sorting --- .../april-fools-collection-redirect.global.ts | 10 ++++++++++ apps/frontend/src/pages/collection/[id].vue | 1 + apps/frontend/src/pages/user/[id].vue | 15 ++++++++++++--- 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 apps/frontend/src/middleware/april-fools-collection-redirect.global.ts diff --git a/apps/frontend/src/middleware/april-fools-collection-redirect.global.ts b/apps/frontend/src/middleware/april-fools-collection-redirect.global.ts new file mode 100644 index 000000000..29de4fb24 --- /dev/null +++ b/apps/frontend/src/middleware/april-fools-collection-redirect.global.ts @@ -0,0 +1,10 @@ +const COLLECTION_PREFIX = '/collection/bLYCa4PJ' + +export default defineNuxtRouteMiddleware((to) => { + if (to.path === COLLECTION_PREFIX || to.path.startsWith(`${COLLECTION_PREFIX}/`)) { + return navigateTo(`https://april-fools-2026.modrinth.com${to.fullPath}`, { + external: true, + redirectCode: 302, + }) + } +}) diff --git a/apps/frontend/src/pages/collection/[id].vue b/apps/frontend/src/pages/collection/[id].vue index a8ec70ea7..b3e0f285f 100644 --- a/apps/frontend/src/pages/collection/[id].vue +++ b/apps/frontend/src/pages/collection/[id].vue @@ -290,6 +290,7 @@ } }), ]" + class="mb-4" /> organizations.value ? [...organizations.value].sort((a, b) => a.name.localeCompare(b.name)) : [], ) +const sortedCollections = computed(() => { + const list = collections.value + if (!list?.length) return [] + return [...list].sort((a, b) => { + const updatedB = new Date(b.updated).getTime() + const updatedA = new Date(a.updated).getTime() + if (updatedB !== updatedA) return updatedB - updatedA + return new Date(b.created).getTime() - new Date(a.created).getTime() + }) +}) + const title = computed(() => (user.value ? `${user.value.username} - Modrinth` : 'Modrinth')) const description = computed(() => user.value?.bio