mirror of
https://github.com/jorgev259/soc_site-astro.git
synced 2025-06-29 07:57:41 +00:00
28 lines
834 B
Text
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>
|