@using Iceshrimp.Frontend.Core.Miscellaneous @using Iceshrimp.Frontend.Core.Services @using Iceshrimp.Shared.Schemas.Web @implements IDisposable @inject ApiService ApiService; @inject ComposeService ComposeService @inject SessionService Session; @inject ILogger Logger;
@if (!AsQuote) { @if (RootNote) { @DateTime.Parse(Note.CreatedAt).ToLocalTime().ToString("G") } }
@code { [Parameter] [EditorRequired] public required NoteBase Note { get; set; } [Parameter] [EditorRequired] public required bool OpenNote { get; set; } [Parameter] public bool Indented { get; set; } [Parameter] public NoteBase? Quote { get; set; } [Parameter] public bool AsQuote { get; set; } [Parameter] public bool ReplyInaccessible { get; set; } [Parameter] public bool RootNote { get; set; } private IDisposable? _noteChangedHandler; [CascadingParameter(Name="Provider")] NoteMessageProvider? Provider { get; set; } protected override void OnInitialized() { _noteChangedHandler = Provider?.Register(Note.Id, HandleNoteChanged); } private void HandleNoteChanged(object? _, NoteBase note) { Logger.LogInformation($"{note.Id} updated"); StateHasChanged(); } public void Dispose() { _noteChangedHandler?.Dispose(); } }