Skip to content

Commit

Permalink
fix: sort user artworks in desc
Browse files Browse the repository at this point in the history
  • Loading branch information
dragon-fish authored Mar 5, 2024
1 parent 2cdb7a1 commit f44258d
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions src/components/ArtworksList/ArtworksByUser.vue
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ const containerRef = ref<HTMLElement>()
const artworkIds = ref<string[]>([])
const pageSize = 24
const curPage = ref(1)
const cachedArtworks = ref<Record<number, ArtworkInfo[]>>({})
const cachedPages = ref<Record<number, ArtworkInfo[]>>({})
const curArtworks = computed(() => {
return cachedArtworks.value[curPage.value] || []
return cachedPages.value[curPage.value] || []
})
onMounted(async () => {
Expand All @@ -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)
}
Expand All @@ -72,17 +72,19 @@ async function fetchAllArtworkIds() {
illusts: Record<string, null>
manga: Record<string, null>
}>(`/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) {
return artworkIds.value.slice((page - 1) * pageSize, page * pageSize)
}
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<string, ArtworkInfo>
Expand All @@ -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
}
</script>
Expand Down

0 comments on commit f44258d

Please sign in to comment.