mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 02:20:17 +01:00
filtres sur la liste des reviews
This commit is contained in:
@@ -7,8 +7,17 @@ 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);
|
||||
@@ -32,11 +41,15 @@ export default function AvisListPage() {
|
||||
<Form.Label>Types d'avis</Form.Label>
|
||||
<Form.Check
|
||||
type="switch"
|
||||
label="Automatique"
|
||||
label="Borne"
|
||||
onChange={(e) => setSources({...sources, 'borne': e.target.checked})}
|
||||
checked={sources['borne']}
|
||||
/>
|
||||
<Form.Check
|
||||
type="switch"
|
||||
label="Manuel"
|
||||
label="QR Code"
|
||||
onChange={(e) => setSources({...sources, 'website': e.target.checked})}
|
||||
checked={sources['website']}
|
||||
/>
|
||||
</Form.Group>
|
||||
<Form.Group>
|
||||
@@ -53,7 +66,7 @@ export default function AvisListPage() {
|
||||
</Form>
|
||||
</Row>
|
||||
<Row>
|
||||
{!loading && !error && <AvisList avis={reviews} />}
|
||||
{!loading && !error && <AvisList avis={filteredReviews} />}
|
||||
</Row>
|
||||
</Card.Body>
|
||||
</Card>
|
||||
|
||||
Reference in New Issue
Block a user