segeeslice / Meetify-UI

This is the React-driven UI for the Meetify program
GNU General Public License v3.0
2 stars 1 forks source link

Integrate the Intersect page with the server #39

Closed segeeslice closed 3 years ago

segeeslice commented 3 years ago

Overview

This PR integrates the intersection/liked-songs-by-username endpoint with the front-end for use on the Intersect page. To fit this, some verbiage was changed since the front-end previously took User ID in this area.

In the future, this page will likely change quite a bit and be made more robust since we want additional features (intersecting any two playlists, saving playlists, etc.), but I think it's best to keep the page as originally designed for now. This will allow me to make a v1.0.0 release following this PR, since this is the last of the core logic to be integrated. Then going forward we can add and modify as needed since we (hopefully) won't have breaking changes between versions anyway.

Issues

segeeslice commented 3 years ago

@jsteuver Oh I noticed that when I made it as well. I think the whole page is re-rendering on each letter type, but i just now realized a possible fix so I'll look into that! Thanks for mentioning it

segeeslice commented 3 years ago

@jsteuver Issue is fixed! Thankfully it's this kind of issue is known and expected in React, so the fix is pretty small.

If you're curious, our list of songs now uses a "memoized" version of itself, meaning React won't try to re-render it if the list still contains the same data. So instead of re-rendering the whole page on each typed letter (like it was before), it now only re-renders the songs when the songs themselves change.