-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add group support to beatmap carousel v2 #31764
Conversation
718cec1
to
6a18d18
Compare
{ | ||
newItems.Add(new CarouselItem(b.BeatmapSet!) | ||
if (groupSetsTogether) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't this already checked in the outermost conditional? (line 80)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed this.
Not sure how much to nitpick if at all over input handling, so please cut me off if this is out of scope for now, but this seems like a possibly unintended behaviour: 2025-02-03.13-18-07.mp4When a group header is keyboard-preselected, attempting to navigate to previous or next group toggles the expanded state of the group instead. |
I've attempted to fix this (and added test coverage), please give it another go and also check whether the code still makes logical sense. The important change was to actually confirm that keyboard selection transfer actually worked, and if it doesn't continue with normal logic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems ok to go forward with
This adds the basics of grouping – which is to say difficulty grouping.
Important changes:
IsGroupSelectionTarget
fromCarouselItem
. This is no longer required and is instead handled usingCheckValidForGroupSelection
. Less memory overhead and less complexity (basically allows behaviour to be implemented for traversal of groups without even morebool
flags).2025-02-03.02.32.23.mp4
What's next?
IsVisible
becomes a ternaryenum { Hidden, Contracted, Expanded }
.