Closes https://github.com/ppy/osu/issues/31744 I guess.
This isn't the resolution that I had in mind for this but my hand has
been basically forced by user feedback to do this, at least in the
short-term.
Kind of a big oversight this. In wanting to get the leaderboard
refactors to move forward I sort of didn't realise the fact that all of
the error handling related to online status and such in
`BeatmapLeaderboard` kind of... can't stay there...
It's also an all-or-nothing business too - moving this stuff can't
really be done only in part.
Not sure whether tests are warranted if it's more or less moving logic
across?
Regressed with 102085668f because the
stupid magic alpha transform addition was also implicitly changing the
value of `IsDrawable` from false to true because that property checks
for presence of any commands.
Apparently past me, in his infinite wisdom, did not decide it pertinent
to test that change against, you know, *a beatmap with a storyboard*.
Great job, past me, good show all around.
Supersedes https://github.com/ppy/osu/pull/32817.
The messaging of the failure to the user is maybe not the cleanest, but
I'm not sure it's worth putting time in to improve it?
Closes https://github.com/ppy/osu/issues/32825.
Tested manually to fix the issue. Setting up test coverage for this is
going to likely take over an hour compared to the 30 second fix, so
please advise if required. I couldn't find any existing tests which
perform this flow.
Audio offset is integer based in configuration, so let's make sure not
to show that there's an applicable offset when the value difference is
too low.
I've also fixed rounding to match expectations (`AudioOffset` is
precision limited to integer), and handled the case where a user adjusts
the slider but also has a suggested offset – previously it would not
enable the button after slider adjustments but now it will work as
expected.
This aims to bring some conformity to naming to make it easier to
understand component structure for new components.
Renames are pulled out of the song select v2 changes and are more
relevant there due to many new classes being added.
- `V2` suffix is dropped, with v2 components being moved to a relevant V2 namespace.
- Related classes have a prefix of the area they are used.
- Experimenting with using partial/nested classes in the song select v2 implementation.
Not committing to this yet but want to see how it plays out.
- Moved base carousel components to a generic namespace to avoid confusion with actual beatmap carousel implementation.