soc_site-astro/src/pages/last-added/[...page].astro
felipesilvad 628e4cee5f
Some checks failed
/ build (push) Has been cancelled
Update [...page].astro
2025-04-04 11:05:49 -03:00

28 lines
834 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.max(1, parseInt(Astro.params.page ?? '1'))
const take = 52
const limitMD = 12
const limitXS = 5
const albums = await prismaClient.albums.findMany({
where: { status: AlbumStatus.SHOW },
select: { id: true, title: true },
take,
skip: take * (page - 1),
orderBy: { publishedAt: '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.lastAdded()}
</PaginatedAlbumList>