1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 03:05:10 +08:00
osu-lazer/osu.Game/Overlays/Chat/ReportChatPopover.cs

42 lines
1.3 KiB
C#
Raw Normal View History

2022-12-20 22:46:05 +08:00
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
2022-12-20 22:46:05 +08:00
using osu.Game.Graphics.UserInterfaceV2;
using osu.Game.Online.API;
using osu.Game.Online.API.Requests;
using osu.Game.Online.Chat;
2022-12-20 22:46:05 +08:00
using osu.Game.Resources.Localisation.Web;
namespace osu.Game.Overlays.Chat
{
2022-12-21 00:37:16 +08:00
public partial class ReportChatPopover : ReportPopover<ChatReportReason>
2022-12-20 22:46:05 +08:00
{
[Resolved]
private IAPIProvider api { get; set; } = null!;
[Resolved]
private ChannelManager channelManager { get; set; } = null!;
private readonly Message message;
public ReportChatPopover(Message message)
: base(ReportStrings.UserTitle(message.Sender?.Username ?? @"Someone"))
2022-12-20 22:46:05 +08:00
{
this.message = message;
Action = report;
}
2023-05-06 21:34:55 +08:00
protected override bool IsCommentRequired(ChatReportReason reason) => reason == ChatReportReason.Other;
private void report(ChatReportReason reason, string comments)
{
var request = new ChatReportRequest(message.Id, reason, comments);
request.Success += () => channelManager.CurrentChannel.Value.AddNewMessages(new InfoMessage(UsersStrings.ReportThanks.ToString()));
api.Queue(request);
}
2022-12-20 22:46:05 +08:00
}
}