diff --git a/components/teks/drawer-bar.js b/components/teks/drawer-bar.js
index 65e897c..6b40804 100644
--- a/components/teks/drawer-bar.js
+++ b/components/teks/drawer-bar.js
@@ -1,49 +1,20 @@
+'use client'
+
import {useState} from 'react'
-import {styled} from '@mui/material/styles'
+import Box from '@mui/material/Box'
import PropTypes from 'prop-types'
import {union, deburr} from 'lodash'
import useMediaQuery from '@mui/material/useMediaQuery'
-import {
- Divider,
- FormControl,
- InputAdornment,
- InputBase
-} from '@mui/material'
+import Divider from '@mui/material/Divider'
+import FormControl from '@mui/material/FormControl'
+import InputAdornment from '@mui/material/InputAdornment'
+import InputBase from '@mui/material/InputBase'
import SearchIcon from '@mui/icons-material/Search'
import MizikLis from '../awtis/mizik-lis'
-const PREFIX = 'drawer-bar'
-
-const classes = {
- toolbar: `${PREFIX}-toolbar`,
- list: `${PREFIX}-list`,
- form: `${PREFIX}-form`,
- text: `${PREFIX}-text`
-}
-
-const Root = styled('div')((
- {
- theme
- }
-) => ({
- [`& .${classes.toolbar}`]: theme.mixins.toolbar,
-
- [`& .${classes.list}`]: {
- marginBottom: '3em'
- },
-
- [`& .${classes.form}`]: {
- marginLeft: theme.spacing(1)
- },
-
- [`& .${classes.text}`]: {
- marginBottom: '0.5em'
- }
-}))
-
const getMizikFiltered = (paroles, filter) => {
if (paroles) {
const filteredTitre = paroles.filter(({attributes}) => {
@@ -60,10 +31,9 @@ const getMizikFiltered = (paroles, filter) => {
}
}
-export default function DrawerBar({meteEsMobilOuve, paroles, slug}) {
+export default function DrawerBar({paroles}) {
const isMobile = useMediaQuery('(max-width:600px)')
const [search, setSearch] = useState('')
- const [slugTeksChwazi, meteSlugTeksChwazi] = useState(slug)
const mizikFiltered = getMizikFiltered(paroles, search)
@@ -74,10 +44,10 @@ export default function DrawerBar({meteEsMobilOuve, paroles, slug}) {
}
return (
-
-
+
+
@@ -89,26 +59,16 @@ export default function DrawerBar({meteEsMobilOuve, paroles, slug}) {
/>
-
+
-
-
+
+
)
}
DrawerBar.propTypes = {
- meteEsMobilOuve: PropTypes.func,
- paroles: PropTypes.array.isRequired,
- slug: PropTypes.string
-}
-
-DrawerBar.defaultProps = {
- meteEsMobilOuve: null,
- slug: null
+ paroles: PropTypes.array.isRequired
}
diff --git a/components/teks/teks-drawer.js b/components/teks/teks-drawer.js
index 87ac0a1..f9b0eba 100644
--- a/components/teks/teks-drawer.js
+++ b/components/teks/teks-drawer.js
@@ -1,8 +1,9 @@
-import {useEffect, useState, useContext} from 'react'
+'use client'
+
+import {useState, useEffect, forwardRef} from 'react'
import Link from 'next/link'
import {useParams} from 'next/navigation'
import PropTypes from 'prop-types'
-import {styled} from '@mui/material/styles'
import AppBar from '@mui/material/AppBar'
import Box from '@mui/material/Box'
import CssBaseline from '@mui/material/CssBaseline'
@@ -10,100 +11,28 @@ import Drawer from '@mui/material/Drawer'
import IconButton from '@mui/material/IconButton'
import MenuIcon from '@mui/icons-material/Menu'
import Toolbar from '@mui/material/Toolbar'
-import Typography from '@mui/material/Typography'
-import LinearProgress from '@mui/material/LinearProgress'
-import CircularProgress from '@mui/material/CircularProgress'
-
+import MuiAlert from '@mui/material/Alert'
+import Snackbar from '@mui/material/Snackbar'
import KeyboardBackspaceIcon from '@mui/icons-material/KeyboardBackspace'
-
-import {jwennTeks} from '../../lib/oki-api'
-
-import ParolesListContext from '../../contexts/paroles-list'
-import MontreTeks from './montre-teks'
-import DenyeTeks from './denye-teks'
-import Teks from './teks'
import VweKouteAchte from './vwe-koute-achte'
+
import DrawerBar from './drawer-bar'
+import Pataje from './pataje'
const drawerWidth = 240
-const PREFIX = 'drawer-bar'
+const Alert = forwardRef(function Alert(props, ref) {
+ return
+})
-const classes = {
- vwe: `${PREFIX}-vwe`,
- koute: `${PREFIX}-koute`
-}
-
-const Stream = styled('div')((
- {
- theme
- }
-) => ({
- [`& .${classes.koute}`]: {
- position: 'absolute',
- right: '40px',
- top: '8px',
- [theme.breakpoints.up('sm')]: {
- top: '10px'
- }
- },
-
- [`& .${classes.vwe}`]: {
- position: 'absolute',
- right: '90px',
- top: '8px',
- [theme.breakpoints.up('sm')]: {
- top: '10px'
- }
- }
-}))
-
-export default function TeksDrawer({parole, paroleId, slug, denyeTeks}) {
- const [open, setOpen] = useState(false)
- const {paroles, setParoles} = useContext(ParolesListContext)
+export default function TeksDrawer({paroles}) {
+ const {slug} = useParams()
const [mobileOpen, setMobileOpen] = useState(false)
- const [isLoading, setIsLoading] = useState(false)
- const [isParolesHidden, setIsParolesHidden] = useState(true)
+ const [open, setOpen] = useState(false)
const [error, setError] = useState('')
const [success, setSuccess] = useState('')
- const handleOpenDrawer = async () => {
- setMobileOpen(true)
- if (paroles.length === 0) {
- setIsLoading(true)
- try {
- const teks = await jwennTeks()
- setParoles(teks)
- } catch (error) {
- console.log('⚠️ error', error.message)
- }
-
- setIsLoading(false)
- }
- }
-
- const handleCloseDrawer = () => {
- setMobileOpen(false)
- }
-
- const handleClick = async () => {
- setIsLoading(true)
- try {
- const teks = await jwennTeks()
- setParoles(teks)
- } catch (error) {
- console.log('⚠️ error', error.message)
- }
-
- setIsLoading(false)
- setIsParolesHidden(false)
- }
-
- useEffect(() => {
- if (paroles.length > 0) {
- setIsParolesHidden(false)
- }
- }, [paroles.length])
+ const parole = paroles.find(({attributes}) => attributes.slug === slug)
useEffect(() => {
if (error || success) {
@@ -121,6 +50,14 @@ export default function TeksDrawer({parole, paroleId, slug, denyeTeks}) {
setError('')
}
+ const handleOpenDrawer = async () => {
+ setMobileOpen(true)
+ }
+
+ const handleCloseDrawer = () => {
+ setMobileOpen(false)
+ }
+
return (
@@ -135,37 +72,41 @@ export default function TeksDrawer({parole, paroleId, slug, denyeTeks}) {
}}
>
-
-
-
- {parole ? (
-
+
+
+
+
+ {parole && (
- {parole.streamVideo && parole.streamVideo.length > 0 && (
-
-
-
+ )}
+
+ {parole && (
+
+
+
+
+
+ {parole.attributes.streamVideo && parole.attributes.streamVideo.length > 0 && (
+
+
+
)}
- {parole.streamAudio && parole.streamAudio.length > 0 && (
-
-
-
+ {parole.attributes.streamAudio && parole.attributes.streamAudio.length > 0 && (
+
+
+
)}
-
- ) : (
-
- Dernières paroles
-
+
)}
@@ -186,18 +127,7 @@ export default function TeksDrawer({parole, paroleId, slug, denyeTeks}) {
}}
onClose={handleCloseDrawer}
>
- {isLoading ? (
-
-
-
- ) : (
-
- )}
+
- {isLoading || isParolesHidden ? (
- <>
-
- {isLoading && (
-
-
-
- )}
- >
- ) : (
-
- )}
+
-
-
- {parole ? (
-
- ) : (
-
- )}
-
+ {success && (
+
+
+ {success}
+
+
+ )}
+ {error && (
+
+
+ Une erreur s’est produite : {error.message}
+
+
+ )}
)
}
-TeksDrawer.defaultProps = {
- parole: null,
- paroleId: null,
- slug: null,
- denyeTeks: null
-}
-
TeksDrawer.propTypes = {
- parole: PropTypes.object,
- paroleId: PropTypes.number,
- slug: PropTypes.string,
- denyeTeks: PropTypes.array
+ paroles: PropTypes.array,
}