diff --git a/Iceshrimp.Frontend/Components/AttachmentView.razor b/Iceshrimp.Frontend/Components/AttachmentView.razor index bdbf6563..81f0c15b 100644 --- a/Iceshrimp.Frontend/Components/AttachmentView.razor +++ b/Iceshrimp.Frontend/Components/AttachmentView.razor @@ -23,15 +23,15 @@ @code { - [Parameter][EditorRequired] public IList Attachments { get; set; } - private ElementReference Dialog { get; set; } - private IJSObjectReference? Module { get; set; } - private int Focused { get; set; } - private List _refs = []; - public ElementReference Ref { set => _refs.Add(value); } - private ElementReference Scroller { get; set; } - private int ScrollWidth { get; set; } - private int ScrollLeft { get; set; } + [Parameter][EditorRequired] public required IList Attachments { get; set; } + private ElementReference Dialog { get; set; } + private IJSObjectReference Module { get; set; } = null!; + private int Focused { get; set; } + private List _refs = []; + public ElementReference Ref { set => _refs.Add(value); } + private ElementReference Scroller { get; set; } + private int ScrollWidth { get; set; } + private int ScrollLeft { get; set; } protected override void OnParametersSet() { diff --git a/Iceshrimp.Frontend/Components/Compose.razor b/Iceshrimp.Frontend/Components/Compose.razor index 509a5af5..ea570481 100644 --- a/Iceshrimp.Frontend/Components/Compose.razor +++ b/Iceshrimp.Frontend/Components/Compose.razor @@ -46,12 +46,12 @@ @code { private ElementReference Dialog { get; set; } - private IJSObjectReference? _module; + private IJSObjectReference _module = null!; private IList Attachments { get; set; } = []; - private InputFile UploadInput { get; set; } + private InputFile UploadInput { get; set; } = null!; private NoteBase? ReplyOrQuote { get; set; } private string? TextPlaceholder { get; set; } - private NoteCreateRequest NoteDraft { get; set; } = new NoteCreateRequest + private NoteCreateRequest NoteDraft { get; set; } = new NoteCreateRequest { Text = "", Visibility = NoteVisibility.Followers, // FIXME: Default to visibilty in settings diff --git a/Iceshrimp.Frontend/Components/Dropdown.razor b/Iceshrimp.Frontend/Components/Dropdown.razor index ffb50bba..b7607a11 100644 --- a/Iceshrimp.Frontend/Components/Dropdown.razor +++ b/Iceshrimp.Frontend/Components/Dropdown.razor @@ -15,7 +15,7 @@ } @code { - private TBind _value; + private TBind _value = default!; [Parameter] [EditorRequired] public required IEnumerable> Elements { get; set; } [Parameter] diff --git a/Iceshrimp.Frontend/Components/Note/NoteAttachments.razor b/Iceshrimp.Frontend/Components/Note/NoteAttachments.razor index 444276b9..b68eda2a 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteAttachments.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteAttachments.razor @@ -10,11 +10,11 @@ @code { - [Parameter] [EditorRequired] public required IList Attachments { get; set; } - private AttachmentView View { get; set; } + [Parameter] [EditorRequired] public required IList Attachments { get; set; } + private AttachmentView View { get; set; } = null!; - private void Open() + private async void Open() { - View.OpenDialog(); + await View.OpenDialog(); } } \ No newline at end of file diff --git a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor index e1ae6aa1..56e647a8 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor @@ -59,7 +59,7 @@ [Parameter] [EditorRequired] public required int Renotes { get; set; } [Parameter] public bool RenotePossible { get; set; } - [CascadingParameter] NoteComponent NoteComponent { get; set; } + [CascadingParameter] NoteComponent NoteComponent { get; set; } = null!; private void Like() { diff --git a/Iceshrimp.Frontend/Components/Note/NoteReaction.razor b/Iceshrimp.Frontend/Components/Note/NoteReaction.razor index dfb249dc..b8ccc8ee 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteReaction.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteReaction.razor @@ -16,7 +16,7 @@ @code { [Parameter][EditorRequired] public required NoteReactionSchema Reaction { get; set; } - [CascadingParameter] NoteComponent NoteComponent { get; set; } + [CascadingParameter] NoteComponent NoteComponent { get; set; } = null!; private void React() { diff --git a/Iceshrimp.Frontend/Components/VirtualScroller.razor b/Iceshrimp.Frontend/Components/VirtualScroller.razor index 22d1e509..150b4fb7 100644 --- a/Iceshrimp.Frontend/Components/VirtualScroller.razor +++ b/Iceshrimp.Frontend/Components/VirtualScroller.razor @@ -59,7 +59,7 @@ } private bool _interlock = false; - private IJSObjectReference Module { get; set; } + private IJSObjectReference Module { get; set; } = null!; private void InitialRender(string? id) { @@ -127,9 +127,6 @@ { heightChange += State.Height[el.Id]; } - else - { - } } if (State.PadBottom > 0) State.PadBottom -= heightChange; @@ -237,7 +234,7 @@ await Module.InvokeVoidAsync("SetScrollTop", State.ScrollTop, Scroller); } - protected override async Task OnInitializedAsync() + protected override void OnInitialized() { try { diff --git a/Iceshrimp.Frontend/Layout/Sidebar.razor b/Iceshrimp.Frontend/Layout/Sidebar.razor index 4f18bcd3..040f62dd 100644 --- a/Iceshrimp.Frontend/Layout/Sidebar.razor +++ b/Iceshrimp.Frontend/Layout/Sidebar.razor @@ -54,11 +54,11 @@ @code { - private Compose _compose; + private Compose _compose = null!; - private void Open() + private async void Open() { - _compose.OpenDialog(); + await _compose.OpenDialog(); } } \ No newline at end of file diff --git a/Iceshrimp.Frontend/Pages/ProfileView.razor b/Iceshrimp.Frontend/Pages/ProfileView.razor index 1f070d1e..eea9a83b 100644 --- a/Iceshrimp.Frontend/Pages/ProfileView.razor +++ b/Iceshrimp.Frontend/Pages/ProfileView.razor @@ -69,9 +69,9 @@ private bool _error = false; private bool _fetchLock = false; - private async Task GetNotes(string? _minId) + private async Task GetNotes(string? minId) { - var pq = new PaginationQuery() { Limit = 10, MaxId = _minId }; + var pq = new PaginationQuery() { Limit = 10, MaxId = minId }; var notes = await Api.Users.GetUserNotes(UserResponse.Id, pq); if (notes is not null && notes.Count > 0) { @@ -112,13 +112,13 @@ { UserResponse = userResponse; Profile = await Api.Users.GetUserProfile(UserResponse.Id); - GetNotes(null); + await GetNotes(null); _init = true; _loading = false; } } } - catch (ApiException e) + catch (ApiException) { _loading = false; _error = true; diff --git a/Iceshrimp.Frontend/Pages/SingleNote.razor b/Iceshrimp.Frontend/Pages/SingleNote.razor index 3e764a48..34b35673 100644 --- a/Iceshrimp.Frontend/Pages/SingleNote.razor +++ b/Iceshrimp.Frontend/Pages/SingleNote.razor @@ -51,12 +51,10 @@ else private IList? Descendants { get; set; } private IList? Ascendants { get; set; } private IJSObjectReference? Module { get; set; } - private ElementReference RootNoteRef { get; set; } + private ElementReference RootNoteRef { get; set; } private bool _init = false; private bool _error = false; - - protected override async Task OnInitializedAsync() { } - + protected override async Task OnParametersSetAsync() { _init = false; @@ -89,7 +87,8 @@ else if (_init) { - await Module.InvokeVoidAsync("ScrollIntoView", RootNoteRef); + await (Module ?? throw new InvalidOperationException("JS interop not initialized")) + .InvokeVoidAsync("ScrollIntoView", RootNoteRef); } }