Files
pawol.nu/pages/awtis.js
T

52 lines
1.5 KiB
JavaScript
Raw Normal View History

2020-12-11 01:52:31 +01:00
import PropTypes from 'prop-types'
import {Container, Grid} from '@material-ui/core'
import {jwennAwtisKantite, jwennAwtisPajinasyon} from '../lib/oki-api'
import AwtisKat from '../components/awtis/awtis-kat'
import Pajinasyon from '../components/awtis/pajinasyon'
2020-12-15 23:46:05 +01:00
import HeadLayout from '../components/head-layout'
2020-12-11 01:52:31 +01:00
2020-12-12 21:50:16 +01:00
const AWTIS_POU_CHAK_PAJ = process.env.NEXT_PUBLIC_AWTIS_POU_CHAK_PAJ || 6
2020-12-11 01:52:31 +01:00
export default function Awtis({pajTotal, awtisPouChakPaj, paj}) {
return (
2020-12-24 13:39:07 +01:00
<HeadLayout title='Awtis' tab={1} slug='awtis'>
2020-12-11 01:52:31 +01:00
<Pajinasyon pajTotal={pajTotal} paj={paj} />
<Container>
<Grid container spacing={4}>
{awtisPouChakPaj.map(anAwtis => <AwtisKat key={anAwtis._id} anAwtis={anAwtis} />)}
</Grid>
</Container>
2020-12-15 23:46:05 +01:00
</HeadLayout>
2020-12-11 01:52:31 +01:00
)
}
Awtis.propTypes = {
pajTotal: PropTypes.number.isRequired,
awtisPouChakPaj: PropTypes.array.isRequired,
paj: PropTypes.number.isRequired
}
export async function getServerSideProps({query}) {
const {paj} = query
2020-12-14 13:23:51 +01:00
const pajParsed = Array.isArray(paj) ? Number.parseInt(paj[1], 10) : Number.parseInt(paj, 10)
2020-12-11 01:52:31 +01:00
const awtisPouChakPaj = await jwennAwtisPajinasyon(pajParsed)
const awtisCountRequest = await jwennAwtisKantite()
const awtisCount = Number.parseInt(awtisCountRequest, 10)
2020-12-12 21:50:16 +01:00
const pajTotal = Math.ceil(awtisCount / AWTIS_POU_CHAK_PAJ)
2020-12-11 01:52:31 +01:00
if (pajParsed > pajTotal) {
throw new Error('Pa twouvé paj-la')
}
return {
props: {
pajTotal,
awtisPouChakPaj,
paj: pajParsed
}
}
}