30 lines
940 B
JavaScript
30 lines
940 B
JavaScript
import PropTypes from 'prop-types'
|
|
import Box from '@mui/material/Box'
|
|
import Paper from '@mui/material/Paper'
|
|
import Titre from './titre.js'
|
|
import Article from './article.js'
|
|
import {formatKonstitisyon} from '@/lib/format.js'
|
|
|
|
export default function Konstitisyon({session, titres, articles}) {
|
|
const konstitisyon = formatKonstitisyon(titres, articles)
|
|
|
|
return (
|
|
<Box>
|
|
{konstitisyon.map(({titreId, titre, articles}) => (
|
|
<Paper key={titreId} variant='outlined' sx={{p: 1, marginBlock: 2}} p={2} >
|
|
<Titre session={session} titreId={titreId} titre={titre} />
|
|
{articles.map(({id, numero, contenu}) => (
|
|
<Article key={id} session={session} articleId={id} numero={numero} contenu={contenu} />
|
|
))}
|
|
</Paper>
|
|
))}
|
|
</Box>
|
|
)
|
|
}
|
|
|
|
Konstitisyon.propTypes = {
|
|
session: PropTypes.object,
|
|
titres: PropTypes.object.isRequired,
|
|
articles: PropTypes.object.isRequired
|
|
}
|