BaliBalo / ScoreSaber

ScoreSaber-related stuff
https://scoresaber.balibalo.xyz
19 stars 6 forks source link

add songs filter based on tag #26

Closed walbertus closed 1 year ago

walbertus commented 1 year ago

This PR will enable filter for tags. Initially, I wanted the filters to be flexible using text, but my UI skills is not good enough.

this will help #25

Signed-off-by: William Albertus Dembo 29192168+walbertus@users.noreply.github.com

BaliBalo commented 1 year ago

Awesome - thanks a lot for taking the time of making a PR !

walbertus commented 1 year ago

any info on when it will be deployed? @BaliBalo

BaliBalo commented 1 year ago

@walbertus it was deployed very shortly after the merge, but it was probably cached for a little while. If you're still seeing the old version try a hard refresh

BaliBalo commented 1 year ago

Adding a note to mention that I've tried migrating the tag selection UI to a text-based thingy with badges with the same colors as on BeatSaver. Not sure it actually makes sense or if it actually makes things worse, so willing to revert if I get feedback that it doesn't feel right.

I've also updated the filtering logic to also match BeatSaver: it's an OR within types but an AND across types. For example, if you select Accuracy, Speed, Pop and Anime (2 map types and 2 music genres), the logic will be to show map that are (Accuracy OR Speed) AND (Pop OR Anime).
I do think this is probably a bit confusing for users who don't know that it is how it works, but I can see the benefit in both an intersection and an union between the values, and don't know how to have a good way to make the user choose. So I guess this is kind of an in-between, and people might be used to it from BeatSaver.

walbertus commented 1 year ago

I didn't know that logic too, but it's definitely better looking now. cmiiw, in beatsaver we cannot choose multiple tags of the same type, right? e.g: we cannot chose Jazz and J-pop, or tech and accuracy

BaliBalo commented 1 year ago

@walbertus it seems like you can by holding shift while clicking on tags (although it is a bit wonky, seems like you have to release and re-press shift before each click and sometimes it seems like it doesn't work randomly)