From 84e2b2f13a341bbecef60dbc901cc6eba4096159 Mon Sep 17 00:00:00 2001 From: Lilian Date: Tue, 2 Jul 2024 01:39:35 +0200 Subject: [PATCH] [frontend] Add action menu to Note Footer (ISH-392) --- .../Components/Note/NoteComponent.razor | 5 ++++ .../Components/Note/NoteFooter.razor | 28 +++++++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/Iceshrimp.Frontend/Components/Note/NoteComponent.razor b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor index 69840d57..520ead8a 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteComponent.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor @@ -133,4 +133,9 @@ { ComposeService.ComposeDialog?.OpenDialog(null, Note); } + + public void Delete() + { + ApiService.Notes.DeleteNote(Note.Id); + } } \ No newline at end of file diff --git a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor index e8253b85..60b63199 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor @@ -1,5 +1,12 @@ @using Iceshrimp.Assets.PhosphorIcons +@using Iceshrimp.Frontend.Core.Services +@using Iceshrimp.Frontend.Localization @using Iceshrimp.Shared.Schemas +@using Microsoft.Extensions.Localization +@inject IStringLocalizer Loc; +@inject IJSRuntime Js; +@inject SessionService Session; + @@ -60,9 +78,16 @@ [Parameter] [EditorRequired] public required int Renotes { get; set; } [Parameter] public bool RenotePossible { get; set; } private EmojiPicker EmojiPicker { get; set; } = null!; + private Menu Menu { get; set; } = null!; [CascadingParameter] NoteComponent NoteComponent { get; set; } = null!; + private void ToggleMenu() => Menu.Toggle(); + + private void Delete() => NoteComponent.Delete(); + + private void OpenOriginal() => Js.InvokeVoidAsync("open", NoteComponent.Note.Url, "_blank"); + private void Like() { NoteComponent.Like(); @@ -82,7 +107,6 @@ { NoteComponent.DoQuote(); } - private async Task ToggleEmojiPicker() {