Prevent errors from index and paroles pages

This commit is contained in:
Cédric FAMIBELLE-PRONZOLA
2022-05-14 03:37:04 +04:00
parent c1e8960290
commit 44e0329c64
5 changed files with 130 additions and 35 deletions
+36 -8
View File
@@ -5,7 +5,14 @@ import {jwennDenyeTeks, jwennTeks} from '../../lib/oki-api'
import TeksDrawer from '../../components/teks/teks-drawer'
import HeadLayout from '../../components/head-layout'
export default function Teks({teks, denyeTeks}) {
import Custom500 from '../500'
export default function Teks({errorCode, errorMessage, teks, denyeTeks}) {
if (errorCode) {
console.log('⚠️ error', errorMessage)
return <Custom500 />
}
return (
<HeadLayout title='Paroles et Traductions' tab={1} slug='paroles'>
<TeksDrawer teks={teks} denyeTeks={denyeTeks} />
@@ -14,18 +21,39 @@ export default function Teks({teks, denyeTeks}) {
}
export async function getServerSideProps() {
const teks = await jwennTeks()
const denyeTeks = await jwennDenyeTeks()
let teks
let denyeTeks
let hasError
let errorMessage
try {
teks = await jwennTeks()
denyeTeks = await jwennDenyeTeks()
} catch (error) {
errorMessage = error.message
hasError = true
}
return {
props: {
teks,
denyeTeks
errorCode: hasError || null,
errorMessage: errorMessage || null,
teks: teks || null,
denyeTeks: denyeTeks || null
}
}
}
Teks.propTypes = {
teks: PropTypes.array.isRequired,
denyeTeks: PropTypes.array.isRequired
Teks.defaultProps = {
errorCode: null,
errorMessage: null,
teks: null,
denyeTeks: null
}
Teks.propTypes = {
errorCode: PropTypes.bool,
errorMessage: PropTypes.string,
teks: PropTypes.array,
denyeTeks: PropTypes.array
}