Adapt with new next-auth version

This commit is contained in:
Cédric FAMIBELLE-PRONZOLA
2022-02-03 01:59:49 +04:00
parent 25ccc206ab
commit 1bd18fbdf1
8 changed files with 18 additions and 16 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
import {useState, useEffect, useRef} from 'react' import {useState, useEffect, useRef} from 'react'
import {styled} from '@mui/material/styles' import {styled} from '@mui/material/styles'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import {useSession} from 'next-auth/client' import {useSession} from 'next-auth/react'
import { import {
IconButton, IconButton,
@@ -48,7 +48,7 @@ export default function VweKomante({komante, teks}) {
const [esOuve, meteEsOuve] = useState(false) const [esOuve, meteEsOuve] = useState(false)
const [esKoneksyonOuve, meteEsKoneksyonOuve] = useState(false) const [esKoneksyonOuve, meteEsKoneksyonOuve] = useState(false)
const [esKomenteOuve, meteEsKomanteOuve] = useState(false) const [esKomenteOuve, meteEsKomanteOuve] = useState(false)
const [session] = useSession() const {data: session} = useSession()
const router = useRouter() const router = useRouter()
const handleClick = () => { const handleClick = () => {
+1 -1
View File
@@ -1,7 +1,7 @@
import {useState} from 'react' import {useState} from 'react'
import {styled} from '@mui/material/styles' import {styled} from '@mui/material/styles'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import {signOut} from 'next-auth/client' import {signOut} from 'next-auth/react'
import {Tooltip, Fab, Zoom} from '@mui/material' import {Tooltip, Fab, Zoom} from '@mui/material'
import ExitToAppIcon from '@mui/icons-material/ExitToApp' import ExitToAppIcon from '@mui/icons-material/ExitToApp'
+1 -1
View File
@@ -1,5 +1,5 @@
import {useEffect, useState, forwardRef} from 'react' import {useEffect, useState, forwardRef} from 'react'
import {signIn} from 'next-auth/client' import {signIn} from 'next-auth/react'
import {useRouter} from 'next/router' import {useRouter} from 'next/router'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import Link from 'next/link' import Link from 'next/link'
+1 -1
View File
@@ -1,6 +1,6 @@
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import Link from 'next/link' import Link from 'next/link'
import {signIn} from 'next-auth/client' import {signIn} from 'next-auth/react'
import {Button} from '@mui/material' import {Button} from '@mui/material'
export default function LoginProvider({id, title, icon, callbackUrl}) { export default function LoginProvider({id, title, icon, callbackUrl}) {
+2 -2
View File
@@ -12,7 +12,7 @@ import {
import {styled} from '@mui/material/styles' import {styled} from '@mui/material/styles'
import MuiAlert from '@mui/material/Alert' import MuiAlert from '@mui/material/Alert'
import ExplicitIcon from '@mui/icons-material/Explicit' import ExplicitIcon from '@mui/icons-material/Explicit'
import {useSession} from 'next-auth/client' import {useSession} from 'next-auth/react'
import {formatJsonString} from '../../lib/utils/format' import {formatJsonString} from '../../lib/utils/format'
@@ -116,7 +116,7 @@ const ExplicitTooltip = Tooltip
export default function Teks({anTeks, komante, open, success, error, setSuccess, setError, handleClose}) { export default function Teks({anTeks, komante, open, success, error, setSuccess, setError, handleClose}) {
const isMobile = useMediaQuery('(max-width:800px)') const isMobile = useMediaQuery('(max-width:800px)')
const [session] = useSession() const {data: session} = useSession()
const langArray = langToArray(anTeks) const langArray = langToArray(anTeks)
return ( return (
+5 -4
View File
@@ -3,7 +3,7 @@ import {useRouter} from 'next/router'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import {createTheme, ThemeProvider} from '@mui/material/styles' import {createTheme, ThemeProvider} from '@mui/material/styles'
import CssBaseline from '@mui/material/CssBaseline' import CssBaseline from '@mui/material/CssBaseline'
import {Provider, useSession} from 'next-auth/client' import {SessionProvider, useSession} from 'next-auth/react'
import {CacheProvider} from '@emotion/react' import {CacheProvider} from '@emotion/react'
import {grey, green, red} from '@mui/material/colors' import {grey, green, red} from '@mui/material/colors'
import NProgress from 'nprogress' import NProgress from 'nprogress'
@@ -99,21 +99,22 @@ export default function MyApp(props) {
<CacheProvider value={emotionCache}> <CacheProvider value={emotionCache}>
<ThemeProvider theme={theme}> <ThemeProvider theme={theme}>
<CssBaseline /> <CssBaseline />
<Provider session={pageProps.session}> <SessionProvider session={pageProps.session} refetchInterval={5 * 60}>
<SwitchTheme switchFixed={switchFixed} mode={mode} setMode={setMode} /> <SwitchTheme switchFixed={switchFixed} mode={mode} setMode={setMode} />
{Component.auth ? ( {Component.auth ? (
<Auth><Component {...pageProps} /></Auth> <Auth><Component {...pageProps} /></Auth>
) : ( ) : (
<Component {...pageProps} /> <Component {...pageProps} />
)} )}
</Provider> </SessionProvider>
</ThemeProvider> </ThemeProvider>
</CacheProvider> </CacheProvider>
) )
} }
function Auth({children}) { function Auth({children}) {
const [session, loading] = useSession() const {data: session, status} = useSession()
const loading = status === 'loading'
const isUser = Boolean(session?.user) const isUser = Boolean(session?.user)
const router = useRouter() const router = useRouter()
useEffect(() => { useEffect(() => {
+4 -3
View File
@@ -1,10 +1,10 @@
import NextAuth from 'next-auth' import NextAuth from 'next-auth'
import Providers from 'next-auth/providers' import CredentialsProvider from 'next-auth/providers/credentials'
import axios from 'axios' import axios from 'axios'
const options = { const options = {
providers: [ providers: [
Providers.Credentials({ CredentialsProvider({
name: 'Credentials', name: 'Credentials',
credentials: { credentials: {
username: {label: 'Email', type: 'email', placeholder: 'email@exemple.net'}, username: {label: 'Email', type: 'email', placeholder: 'email@exemple.net'},
@@ -28,8 +28,9 @@ const options = {
} }
}) })
], ],
secret: process.env.NEXT_PUBLIC_JWT_SECRET,
session: { session: {
jwt: true strategy: 'jwt'
}, },
pages: { pages: {
signIn: '/soumet', signIn: '/soumet',
+2 -2
View File
@@ -1,5 +1,5 @@
import {useState, useEffect} from 'react' import {useState, useEffect} from 'react'
import {useSession} from 'next-auth/client' import {useSession} from 'next-auth/react'
import HeadLayout from '../components/head-layout' import HeadLayout from '../components/head-layout'
import Koneksyon from '../components/sesyon/koneksyon' import Koneksyon from '../components/sesyon/koneksyon'
@@ -9,7 +9,7 @@ import EkriTeks from '../components/soumet/ekri-teks'
import {jwennTeksEpiUserId} from '../lib/oki-api' import {jwennTeksEpiUserId} from '../lib/oki-api'
export default function Soumet() { export default function Soumet() {
const [session] = useSession() const {data: session} = useSession()
const [teksEpiUserId, setTeksEpiUserId] = useState([]) const [teksEpiUserId, setTeksEpiUserId] = useState([])
useEffect(() => { useEffect(() => {