This PR refactors the report popover to have an optional confirmation
message after completing the request. This was initially meant for
#32584, but then I realized I can first test it out on the user
profiles, so I've implemented it here as well. Can be reviewed commit by
commit.
https://github.com/user-attachments/assets/cd59c560-c824-4a5e-bab6-5ecbf5125af1
---------
Co-authored-by: Dean Herbert <pe@ppy.sh>
This PR extracts the classes used for the actions dropdown on the user
profile overlay to separate components, in preparation to be used on the
team overlay (#32584).
Kinda RFC since I'm not sure if this is the best way to do this.
Co-authored-by: Dean Herbert <pe@ppy.sh>
Something I've asked to be done for a long time. Relevant because I've
complained about this on every addition of a new piece of user-local
state: friends, blocks, and now favourite beatmaps.
It's just so messy managing all this inside `APIAccess` next to
everything else, IMO.
This is not doing the thing that the website does wherein the entire
user profile is replaced by the message that the user is blocked if
they're blocked. Someone else can try doing that.
I'm also not adding report button to this because it's going to be
annoying to make happen because currently reporting is only available as
a popover and not as a dialog. Someone else can pick that up as well.