diff --git a/components/navigasyon.js b/components/navigasyon.js index a2fb380..3021fe6 100644 --- a/components/navigasyon.js +++ b/components/navigasyon.js @@ -38,19 +38,19 @@ const Appdiv = styled('div')(( const tabRouteHref = [ '/', - '/soutyen', + '/sipote', '/paroles', - '/awtis?paj&paj=1', - '/soumet' + '/awtis', + '/pwopose' ] -const tabRouteAs = [ - '/', - '/soutyen', - '/paroles', - '/awtis/paj/1', - '/soumet', -] +const tabPath = { + akey: 0, + sipote: 1, + paroles: 2, + awtis: 3, + pwopose: 4 +} function TabPanel(props) { const {children, value, index, ...other} = props @@ -85,8 +85,12 @@ function a11yProps(index) { } } -export default function Navigasyon({selectedTab}) { +export default function Navigasyon() { const router = useRouter() + const pathname = usePathname() + const selectedPath = pathname === '/' ? 'akey' : pathname.split('/')[1] + const selectedTab = tabPath[selectedPath] + const isMobile = useMediaQuery('(max-width:422px)') const [value, setValue] = useState(0) @@ -94,14 +98,14 @@ export default function Navigasyon({selectedTab}) { setValue(newValue) if (newValue !== selectedTab) { - router.push(tabRouteHref[newValue], tabRouteAs[newValue]).then(() => window.scrollTo(0, 0)) + router.push(tabRouteHref[newValue]) } } return (
- + } aria-label='Nous soutenir' {...a11yProps(1)} /> } aria-label='Paroles' {...a11yProps(2)} /> } aria-label='Artistes' {...a11yProps(3)} /> - } aria-label='Soumettre' {...a11yProps(4)} /> + } aria-label='Proposer des paroles' {...a11yProps(4)} /> @@ -134,7 +138,3 @@ export default function Navigasyon({selectedTab}) { ) } - -Navigasyon.propTypes = { - selectedTab: PropTypes.number.isRequired -} diff --git a/components/password/new-password.js b/components/password/new-password.js index c8f0346..a1783e5 100644 --- a/components/password/new-password.js +++ b/components/password/new-password.js @@ -42,7 +42,7 @@ export default function NewPassword({code}) { setLoading(false) setPasswordSuccess(true) setTimeout(() => { - router.push('/soumet') + router.push('/pwopose') }, 10_000) } catch { setOpen(true) @@ -165,7 +165,7 @@ export default function NewPassword({code}) { style={{marginTop: 20}} variant='outlined' color='primary' - onClick={() => router.push('/soumet')} + onClick={() => router.push('/pwopose')} > Retour à la page de connexion @@ -190,7 +190,7 @@ export default function NewPassword({code}) { open={passwordSuccess} onClose={handleClose} > - Votre changement de mot de passe a été pris en compte. Vous serez redirigé vers la page de connexion. Cliquez ici si vous n’êtes pas redirigé vers la page de connexion + Votre changement de mot de passe a été pris en compte. Vous serez redirigé vers la page de connexion. Cliquez ici si vous n’êtes pas redirigé vers la page de connexion )} diff --git a/components/pwopose.js b/components/pwopose.js new file mode 100644 index 0000000..6bf2d9c --- /dev/null +++ b/components/pwopose.js @@ -0,0 +1,113 @@ +'use client' + +import {useState, useEffect, forwardRef} from 'react' +import PropTypes from 'prop-types' +import {useSession} from 'next-auth/react' +import MuiAlert from '@mui/material/Alert' +import Snackbar from '@mui/material/Snackbar' +import Box from '@mui/material/Box' + +import Koneksyon from '../../components/sesyon/koneksyon' +import Dekoneksyon from '../../components/sesyon/dekoneksyon' +import EkriTeks from '../../components/soumet/ekri-teks' +import Footer from '../../components/footer' + +import {jwennUserEpiToken, jwennUserEpiUsername} from '../../lib/oki-api' +import NewPassword from '../../components/password/new-password' +import ChwaTeks from '../../components/soumet/chwa-teks' + +const Alert = forwardRef(function Alert(props, ref) { + return +}) + +export default function Pwopose({code}) { + const {data: session} = useSession() + const [localUsername, setLocalUsername] = useState(null) + const [username, setUsername] = useState(null) + const [open, setOpen] = useState(true) + const [selectedTeks, setSelectedTeks] = useState(null) + const [canAutoTranslate, setCanAutoTranslate] = useState(false) + + const handleClose = (event, reason) => { + if (reason === 'clickaway') { + return + } + + setOpen(false) + } + + useEffect(() => { + if (session?.jwt) { + const getUser = async token => { + const user = await jwennUserEpiToken(token) + setCanAutoTranslate(user.canAutoTranslate) + } + + getUser(session.jwt) + } + }) + + useEffect(() => { + if (localStorage.getItem('username')) { + const username = localStorage.getItem('username') + setLocalUsername(username) + } + }, []) + + useEffect(() => { + if (localUsername) { + const getUser = async username => { + const user = await jwennUserEpiUsername(username) + setUsername(user?.username) + } + + getUser(localUsername) + } + }, [localUsername]) + + useEffect(() => { + if (username && localStorage.getItem('username')) { + localStorage.removeItem('username') + } + }, [username]) + + return ( + + + {!session && !code && ( + + )} + + {!session && code && ( + + )} + {session && session.user && ( + <> + + + + + )} + {session && !session.user && ( + + )} + {username && ( + + Bonjour {username}, votre compte a été activé avec succès. Vous pouvez vous connecter. + + )} + +