diff --git a/Iceshrimp.Frontend/Components/Compose.razor b/Iceshrimp.Frontend/Components/Compose.razor index 24bc6e93..3825e78e 100644 --- a/Iceshrimp.Frontend/Components/Compose.razor +++ b/Iceshrimp.Frontend/Components/Compose.razor @@ -1,8 +1,11 @@ +@using FParsec @using Iceshrimp.Assets.PhosphorIcons @using Iceshrimp.Frontend.Core.Services @using Iceshrimp.Shared.Schemas +@using Iceshrimp.Frontend.Components.Note @inject IJSRuntime Js @inject ApiService ApiService +@inject ComposeService ComposeService
+ @if (ReplyTo != null) + { +
+ +
+ } @if (NoteDraft.Cw != null) { @@ -36,6 +45,7 @@ private IJSObjectReference? _module; private IList Attachments { get; set; } = []; private InputFile UploadInput { get; set; } + private NoteBase? ReplyTo { get; set; } private NoteCreateRequest NoteDraft { get; set; } = new NoteCreateRequest { @@ -83,8 +93,15 @@ await _module.InvokeVoidAsync("openUpload", UploadInput.Element); } - public async Task OpenDialog() + public async Task OpenDialog(NoteBase? replyTo = null) { + if (replyTo != null) + { + ReplyTo = replyTo; + NoteDraft.ReplyId = replyTo.Id; + StateHasChanged(); + } + await _module.InvokeVoidAsync("openDialog", Dialog); } @@ -124,6 +141,7 @@ { _module = await Js.InvokeAsync("import", "./Components/Compose.razor.js"); + ComposeService.ComposeDialog = this; } } diff --git a/Iceshrimp.Frontend/Components/Compose.razor.css b/Iceshrimp.Frontend/Components/Compose.razor.css index d4ec584c..2deed868 100644 --- a/Iceshrimp.Frontend/Components/Compose.razor.css +++ b/Iceshrimp.Frontend/Components/Compose.razor.css @@ -47,4 +47,9 @@ .file-input { display: none; +} +.reply-to { + border: solid var(--highlight-color) 0.1rem; + border-radius: 0.75rem; + padding: 0.5rem; } \ No newline at end of file diff --git a/Iceshrimp.Frontend/Components/Dropdown.razor.css b/Iceshrimp.Frontend/Components/Dropdown.razor.css index a61b72f3..f22c064f 100644 --- a/Iceshrimp.Frontend/Components/Dropdown.razor.css +++ b/Iceshrimp.Frontend/Components/Dropdown.razor.css @@ -7,4 +7,8 @@ border-style: solid; border-width: 0.1rem; border-radius: 0.5rem; +} + +.dropdown-root { + display: inline-block } \ No newline at end of file diff --git a/Iceshrimp.Frontend/Components/Note/NoteComponent.razor b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor index 44116afa..71195327 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteComponent.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor @@ -1,7 +1,8 @@ @using Iceshrimp.Frontend.Core.Services @using Iceshrimp.Shared.Schemas -@inject ApiService ApiService; +@inject ApiService ApiService; @inject NavigationManager NavigationManager +@inject ComposeService ComposeService
} -