From f44258d4ce7daafad1c44fd77af6a82a3c2706fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=BA=E6=99=BA=E7=9A=84=E5=B0=8F=E9=B1=BC=E5=90=9B?= <44761872+dragon-fish@users.noreply.github.com> Date: Tue, 5 Mar 2024 08:35:51 +0000 Subject: [PATCH] fix: sort user artworks in desc --- src/components/ArtworksList/ArtworksByUser.vue | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/components/ArtworksList/ArtworksByUser.vue b/src/components/ArtworksList/ArtworksByUser.vue index b6780a09..17911421 100644 --- a/src/components/ArtworksList/ArtworksByUser.vue +++ b/src/components/ArtworksList/ArtworksByUser.vue @@ -37,9 +37,9 @@ const containerRef = ref() const artworkIds = ref([]) const pageSize = 24 const curPage = ref(1) -const cachedArtworks = ref>({}) +const cachedPages = ref>({}) const curArtworks = computed(() => { - return cachedArtworks.value[curPage.value] || [] + return cachedPages.value[curPage.value] || [] }) onMounted(async () => { @@ -62,7 +62,7 @@ function backToTop() { async function firstInit() { artworkIds.value = [] curPage.value = 1 - cachedArtworks.value = {} + cachedPages.value = {} artworkIds.value = await fetchAllArtworkIds() await fetchArtworksByPage(1) } @@ -72,9 +72,11 @@ async function fetchAllArtworkIds() { illusts: Record manga: Record }>(`/ajax/user/${props.userId}/profile/all`) - return props.workCategory === 'illust' - ? Object.keys(data.illusts) - : Object.keys(data.manga) + const works = + props.workCategory === 'illust' + ? Object.keys(data.illusts) + : Object.keys(data.manga) + return works.sort((a, b) => Number(b) - Number(a)) } function getArtworkIdsByPage(page: number) { @@ -82,7 +84,7 @@ function getArtworkIdsByPage(page: number) { } async function fetchArtworksByPage(page: number) { - if (cachedArtworks.value[page]) return cachedArtworks.value[page] + if (cachedPages.value[page]) return cachedPages.value[page] const ids = getArtworkIdsByPage(page) const { data } = await ajax.get<{ works: Record @@ -93,7 +95,7 @@ async function fetchArtworksByPage(page: number) { is_first_page: 0, }, }) - cachedArtworks.value[page] = Object.values(data.works) + cachedPages.value[page] = Object.values(data.works) return data }