soc_site-astro/src/pages/anim/latest/[...page].astro
Jorge Vargas 491d72bd3c
Some checks failed
/ build (push) Failing after 4m38s
Anim and game releases pages
2025-03-24 16:32:15 -06:00

28 lines
946 B
Text

---
import prismaClient from 'utils/prisma-client'
import * as m from 'paraglide/messages'
import { AlbumStatus } from '@prisma/client'
import PaginatedAlbumList from 'layouts/PaginatedAlbumList.astro'
const page = Math.min(1, parseInt(Astro.params.page ?? '1'))
const take = 40
const limitMD = 12
const limitXS = 5
const albums = await prismaClient.albums.findMany({
where: { status: AlbumStatus.SHOW, categories: { some: { categoryName: 'Animation' } } },
select: { id: true, title: true },
take,
skip: take * (page - 1),
orderBy: [{ releaseDate: 'desc' }, { publishedAt: 'desc' }, { createdAt: 'desc' }]
})
const count = await prismaClient.albums.count({ where: { status: AlbumStatus.SHOW } })
const fullPageList = [...Array(Math.ceil(count / take))].map((v, i) => i + 1)
const listProps = { fullPageList, page, albums, limitMD, limitXS }
---
<PaginatedAlbumList {...listProps}>
{m.latestAnimReleases()}
</PaginatedAlbumList>