Change DenyeTeks commonent : add Skeleton feature

This commit is contained in:
Cédric FAMIBELLE-PRONZOLA
2022-05-14 01:27:11 +04:00
parent d32693c8ac
commit 1711068f72
4 changed files with 173 additions and 40 deletions
File diff suppressed because one or more lines are too long
+5 -7
View File
@@ -117,11 +117,11 @@ const Root = styled('div')((
const drawerWidth = 240 const drawerWidth = 240
export default function TeksDrawer({teks, anTeks, komante, denyeTeks}) { export default function TeksDrawer({teks, anTeks, komante}) {
const theme = useTheme() const theme = useTheme()
const [esMobilOuve, meteEsMobilOuve] = useState(false) const [esMobilOuve, meteEsMobilOuve] = useState(false)
const [open, setOpen] = useState(false) const [open, setOpen] = useState(false)
const [error, setError] = useState('') const [error, setError] = useState(null)
const [success, setSuccess] = useState('') const [success, setSuccess] = useState('')
const handleClose = (event, reason) => { const handleClose = (event, reason) => {
@@ -230,7 +230,7 @@ export default function TeksDrawer({teks, anTeks, komante, denyeTeks}) {
/> />
) : ( ) : (
<Box sx={{marginTop: '5em'}}> <Box sx={{marginTop: '5em'}}>
<DenyeTeks {...denyeTeks} /> <DenyeTeks error={error} setError={setError} />
</Box> </Box>
)} )}
</main> </main>
@@ -241,12 +241,10 @@ export default function TeksDrawer({teks, anTeks, komante, denyeTeks}) {
TeksDrawer.propTypes = { TeksDrawer.propTypes = {
teks: PropTypes.array.isRequired, teks: PropTypes.array.isRequired,
anTeks: PropTypes.object, anTeks: PropTypes.object,
komante: PropTypes.array, komante: PropTypes.array
denyeTeks: PropTypes.array
} }
TeksDrawer.defaultProps = { TeksDrawer.defaultProps = {
anTeks: null, anTeks: null,
komante: null, komante: null
denyeTeks: null
} }
+11 -21
View File
@@ -1,4 +1,4 @@
import PropTypes from 'prop-types' import {useState} from 'react'
import {Container, Typography, Box, Divider, Chip} from '@mui/material' import {Container, Typography, Box, Divider, Chip} from '@mui/material'
import ArrowCircleDownIcon from '@mui/icons-material/ArrowCircleDown' import ArrowCircleDownIcon from '@mui/icons-material/ArrowCircleDown'
@@ -6,9 +6,10 @@ import HeadLayout from '../components/head-layout'
import Footer from '../components/footer' import Footer from '../components/footer'
import RezoDialog from '../components/rezo/rezo-dialog' import RezoDialog from '../components/rezo/rezo-dialog'
import DenyeTeks from '../components/teks/denye-teks' import DenyeTeks from '../components/teks/denye-teks'
import {jwennDenyeTeks} from '../lib/oki-api'
export default function Home({teks}) { export default function Home() {
const [error, setError] = useState(null)
return ( return (
<HeadLayout tab={0}> <HeadLayout tab={0}>
<Box sx={{display: 'flex', flexDirection: 'column', minHeight: '100vh'}}> <Box sx={{display: 'flex', flexDirection: 'column', minHeight: '100vh'}}>
@@ -28,11 +29,13 @@ export default function Home({teks}) {
<RezoDialog /> <RezoDialog />
</Container> </Container>
</Box> </Box>
<Container> <Container sx={{flexGrow: 300}}>
<Divider variant='middle' sx={{marginBottom: 1}}> {!error && (
<Chip sx={{fontWeight: 'bold'}} color='primary' icon={<ArrowCircleDownIcon />} label='Derniers textes publiés ' variant='outlined' /> <Divider variant='middle' sx={{marginBottom: 1}}>
</Divider> <Chip sx={{fontWeight: 'bold'}} color='primary' icon={<ArrowCircleDownIcon />} label='Derniers textes publiés ' variant='outlined' />
<DenyeTeks {...teks} /> </Divider>
)}
<DenyeTeks error={error} setError={setError} />
</Container> </Container>
<Footer /> <Footer />
</Box> </Box>
@@ -40,16 +43,3 @@ export default function Home({teks}) {
) )
} }
export async function getServerSideProps() {
const denyeTeks = await jwennDenyeTeks()
return {
props: {
teks: denyeTeks
}
}
}
Home.propTypes = {
teks: PropTypes.array.isRequired
}
+5 -8
View File
@@ -1,31 +1,28 @@
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import {jwennDenyeTeks, jwennTeks} from '../../lib/oki-api' import {jwennTeks} from '../../lib/oki-api'
import TeksDrawer from '../../components/teks/teks-drawer' import TeksDrawer from '../../components/teks/teks-drawer'
import HeadLayout from '../../components/head-layout' import HeadLayout from '../../components/head-layout'
export default function Teks({teks, denyeTeks}) { export default function Teks({teks}) {
return ( return (
<HeadLayout title='Paroles et Traductions' tab={1} slug='paroles'> <HeadLayout title='Paroles et Traductions' tab={1} slug='paroles'>
<TeksDrawer teks={teks} denyeTeks={denyeTeks} /> <TeksDrawer teks={teks} />
</HeadLayout> </HeadLayout>
) )
} }
export async function getServerSideProps() { export async function getServerSideProps() {
const teks = await jwennTeks() const teks = await jwennTeks()
const denyeTeks = await jwennDenyeTeks()
return { return {
props: { props: {
teks, teks
denyeTeks
} }
} }
} }
Teks.propTypes = { Teks.propTypes = {
teks: PropTypes.array.isRequired, teks: PropTypes.array.isRequired
denyeTeks: PropTypes.array.isRequired
} }