import React, { useEffect, useState } from 'react' import { Card, Container, Form, Row, Table } from 'react-bootstrap' import AvisList from '../../components/AvisList'; import useReviews from '../../hooks/reviews'; import styles from '../../styles/AvisListPage.module.css' export default function AvisListPage() { const [minGrade, setMinGrade] = useState(0); const [maxGrade, setMaxGrade] = useState(10); const [sources, setSources] = useState({'borne': true, 'website': true}) const [filteredReviews, setFilteredREviews] = useState([]) const {reviews, error, loading} = useReviews(); useEffect(() => { console.log(reviews) const newReviews = reviews.filter((review) => review.note_principale >= minGrade && review.note_principale <= maxGrade && sources[review.nom_source]) setFilteredREviews(newReviews) }, [reviews, minGrade, maxGrade, sources]) useEffect(() => { if(minGrade > maxGrade) { setMinGrade(maxGrade); } }, [maxGrade]); useEffect(() => { if(minGrade > maxGrade) { setMaxGrade(minGrade); } }, [minGrade]) return ( Tous les avis
Types d'avis setSources({...sources, 'borne': e.target.checked})} checked={sources['borne']} /> setSources({...sources, 'website': e.target.checked})} checked={sources['website']} /> Note
Min : {minGrade}/10
setMinGrade(Number(e.target.value))} min="0" max="10" step="1" className={styles.slider}> setMaxGrade(Number(e.target.value))} min="0" max="10" step="1" className={styles.slider}>
Max : {maxGrade}/10
{!loading && !error && }
) }