diff --git a/components/konstitisyon/index.js b/components/konstitisyon/index.js
index 5f4fadf..5c7a822 100644
--- a/components/konstitisyon/index.js
+++ b/components/konstitisyon/index.js
@@ -116,6 +116,6 @@ export default function Konstitisyon({session, titres, articles}) {
Konstitisyon.propTypes = {
session: PropTypes.object,
- titres: PropTypes.object.isRequired,
- articles: PropTypes.object.isRequired
+ titres: PropTypes.array.isRequired,
+ articles: PropTypes.array.isRequired
}
diff --git a/components/konstitisyon/list-comments.js b/components/konstitisyon/list-comments.js
index b1daabd..8e7eec8 100644
--- a/components/konstitisyon/list-comments.js
+++ b/components/konstitisyon/list-comments.js
@@ -10,6 +10,7 @@ import Typography from '@mui/material/Typography'
import Pagination from '@mui/material/Pagination'
import Divider from '@mui/material/Divider'
import Box from '@mui/material/Box'
+import CircularProgress from '@mui/material/CircularProgress'
import {readItems, withToken} from '@directus/sdk'
import SessionExpired from '../session/session-expired.js'
import {directusClient, handleUserStatus} from '@/lib/directus.js'
@@ -20,6 +21,7 @@ const commentsPerPage = process.env.NEXT_PUBLIC_COMMENTS_PER_PAGE || 2
export default function ListComments({session, selectedTitre, isOpen, setIsOpen, setError, setIsErrorAlertOpen}) {
const countdownRef = useRef()
const [comments, setComments] = useState([])
+ const [isLoading, setIsLoading] = useState(false)
const [page, setPage] = useState(1)
const pageCount = Math.ceil(comments.length / commentsPerPage)
@@ -27,8 +29,15 @@ export default function ListComments({session, selectedTitre, isOpen, setIsOpen,
const startIndex = (page - 1) * commentsPerPage
const selectedComments = comments.slice(startIndex, startIndex + commentsPerPage)
+ useEffect(() => {
+ setComments([])
+ setPage(1)
+ }, [selectedTitre?.id])
+
useEffect(() => {
async function fetchComments() {
+ setIsLoading(true)
+
try {
await handleUserStatus(session.user.accessToken, session.user.userId)
@@ -54,6 +63,8 @@ export default function ListComments({session, selectedTitre, isOpen, setIsOpen,
setError(error?.errors[0]?.message)
setIsErrorAlertOpen(true)
}
+ } finally {
+ setIsLoading(false)
}
}
@@ -74,42 +85,52 @@ export default function ListComments({session, selectedTitre, isOpen, setIsOpen,
<>
>
diff --git a/lib/directus.js b/lib/directus.js
index a8d0157..3f4f2f2 100644
--- a/lib/directus.js
+++ b/lib/directus.js
@@ -141,9 +141,8 @@ export async function listVersions({
return versions
} catch (error) {
- console.log('error', error)
-
- if (error?.errors[0]?.message === 'Token expired.') {
+
+ if (error) {
countdownRef.current.startCountdown()
} else {
console.log(error?.errors[0]?.message)