@page "/notes/{NoteId}"
@using Iceshrimp.Shared.Schemas
@using Iceshrimp.Frontend.Components
@using Iceshrimp.Frontend.Core.Services
@using Iceshrimp.Frontend.Components.Note
@inject ApiService ApiService
@if (_init)
{
}
else
{
Loading
}
@if (_error)
{
This note does not exist!
}
@code {
[Parameter] public string? NoteId { get; set; }
public NoteResponse? RootNote { get; set; }
private IList? Descendants { get; set; }
private bool _init = false;
private bool _error = false;
protected override async Task OnInitializedAsync()
{
}
protected override async Task OnParametersSetAsync()
{
if (NoteId == null)
{
_error = true;
return;
}
RootNote = await ApiService.Notes.GetNote(NoteId);
if (RootNote == null)
{
_error = true;
return;
}
Descendants = await ApiService.Notes.GetNoteDescendants(NoteId, default);
_init = true;
StateHasChanged();
}
}