From b80b2225c346f3c51edaa9f460a734edae59204e Mon Sep 17 00:00:00 2001 From: shadi fakhri <113238379+Shadi38@users.noreply.github.com> Date: Fri, 1 Dec 2023 22:30:06 +0000 Subject: [PATCH 1/2] finished displaying filtered tracks after clicking apply button --- frontend/src/components/ContentCheckBox.jsx | 37 ++++++-- frontend/src/components/DurationFilter.jsx | 24 +++-- frontend/src/components/DynamicGenres.jsx | 4 - .../src/components/FilteredTracksDisplay.jsx | 88 +++++++++++++++++++ frontend/src/components/Header.jsx | 2 +- .../src/components/SharedPlaylistDisplay.jsx | 4 +- .../dialogs/PlaylistTracksFilterModal.jsx | 17 ---- .../screens/FilteredTracksScreen.jsx | 15 +++- frontend/src/config.js | 4 +- 9 files changed, 151 insertions(+), 44 deletions(-) create mode 100644 frontend/src/components/FilteredTracksDisplay.jsx diff --git a/frontend/src/components/ContentCheckBox.jsx b/frontend/src/components/ContentCheckBox.jsx index c0e2c89..0877b23 100644 --- a/frontend/src/components/ContentCheckBox.jsx +++ b/frontend/src/components/ContentCheckBox.jsx @@ -1,14 +1,30 @@ import React, { useState } from "react"; +import { useNavigate } from "react-router-dom"; const ContentCheckbox = ({ playlistData }) => { + const navigate = useNavigate(); const [filteredTracks, setFilteredTracks] = useState([]); const [yesChecked, setYesChecked] = useState(false); const [noChecked, setNoChecked] = useState(false); + + console.log(playlistData) + + // const applyButtonHandler = (e) => { + // e.preventDefault(); + // console.log(filteredTracks) + // setFilteredTracks(filteredTracks) + // navigate(`/app/Playlists/${filteredTracks}`); + // }; + const applyButtonHandler = (e) => { + e.preventDefault(); + console.log(filteredTracks) + setFilteredTracks(filteredTracks) + navigate('/app/filteredPlaylist',{state:{filteredTracks}}); + }; + function yesClickHandler() { - console.log(playlistData.tracks.items) - console.log(playlistData.tracks.items[0].track.explicit) - const selectedTracks = playlistData.tracks.items.filter( + const selectedTracks = playlistData.filter( (track) => track.track.explicit === true ); console.log(selectedTracks) @@ -16,18 +32,20 @@ const ContentCheckbox = ({ playlistData }) => { setNoChecked(false); setYesChecked(true); } + function noClickHandler() { - console.log(playlistData.tracks.items); - console.log(playlistData.tracks.items[0].track.explicit); - const selectedTracks = playlistData.tracks.items.filter( + const selectedTracks = playlistData.filter( (track) => track.track.explicit === false ); + console.log(selectedTracks); setFilteredTracks(selectedTracks); setYesChecked(false); setNoChecked(true); } + + return (
{range}min
+{track.track.name}
++ {formatDuration(track.track.duration_ms)} +
+