| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System.Linq;
- using System.Threading.Tasks;
- using Content.Server.EUI;
- using Content.Shared.Administration.Notes;
- using Content.Shared.CCVar;
- using Content.Shared.Database;
- using Content.Shared.Eui;
- using Robust.Shared.Configuration;
- namespace Content.Server.Administration.Notes;
- public sealed class UserNotesEui : BaseEui
- {
- [Dependency] private readonly IAdminNotesManager _notesMan = default!;
- [Dependency] private readonly IConfigurationManager _cfg = default!;
- private readonly bool _seeOwnNotes;
- public UserNotesEui()
- {
- IoCManager.InjectDependencies(this);
- _seeOwnNotes = _cfg.GetCVar(CCVars.SeeOwnNotes);
- if (!_seeOwnNotes)
- {
- Logger.WarningS("admin.notes", "User notes initialized when see_own_notes set to false");
- }
- }
- private Dictionary<(int, NoteType), SharedAdminNote> Notes { get; set; } = new();
- public override EuiStateBase GetNewState()
- {
- return new UserNotesEuiState(
- Notes
- );
- }
- public async Task UpdateNotes()
- {
- if (!_seeOwnNotes)
- {
- Logger.WarningS("admin.notes", $"User {Player.Name} with ID {Player.UserId} tried to update their own user notes when see_own_notes was set to false");
- return;
- }
- Notes = (await _notesMan.GetVisibleRemarks(Player.UserId)).Select(note => note.ToShared()).ToDictionary(note => (note.Id, note.NoteType));
- StateDirty();
- }
- }
|