From 56d5ff9e937bee4d1626b2c280e7b17e5ee1554c Mon Sep 17 00:00:00 2001 From: Lilian Date: Wed, 19 Jun 2024 14:27:42 +0200 Subject: [PATCH] [frontend] Use renote endpoint, disable renotes where they aren't possible, add lock icon --- .../Components/Note/NoteComponent.razor | 24 +++++++------- .../Components/Note/NoteFooter.razor | 31 ++++++++++++++----- .../Components/Note/NoteFooter.razor.css | 3 ++ 3 files changed, 39 insertions(+), 19 deletions(-) diff --git a/Iceshrimp.Frontend/Components/Note/NoteComponent.razor b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor index 2982dae2..aa42974d 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteComponent.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor @@ -1,3 +1,4 @@ +@using AngleSharp.Dom @using Iceshrimp.Frontend.Core.Services @using Iceshrimp.Shared.Schemas @inject ApiService ApiService; @@ -26,7 +27,14 @@ } @if (!AsQuote) { - + @* FIXME: Allow renotes when the post is from the current user *@ + } @code { @@ -94,17 +102,9 @@ public void Renote() { - var renote = new NoteCreateRequest - { - Text = "", - Cw = null, - ReplyId = null, - RenoteId = Note.Id, - MediaIds = null, - Visibility = Note.Visibility, - IdempotencyKey = null - }; - ApiService.Notes.CreateNote(renote); + ApiService.Notes.RenoteNote(Note.Id); + Note.Renotes++; + StateHasChanged(); } public void DoQuote() diff --git a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor index 792f9e3a..e1ae6aa1 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor @@ -14,13 +14,26 @@ + @code { - [Parameter] [EditorRequired] public required List Reactions { get; set; } - [Parameter] [EditorRequired] public required int Likes { get; set; } - [Parameter] [EditorRequired] public required bool IsLiked { get; set; } - + [Parameter] [EditorRequired] public required List Reactions { get; set; } + [Parameter] [EditorRequired] public required int Likes { get; set; } + [Parameter] [EditorRequired] public required bool IsLiked { get; set; } + [Parameter] [EditorRequired] public required int Renotes { get; set; } + [Parameter] public bool RenotePossible { get; set; } + [CascadingParameter] NoteComponent NoteComponent { get; set; } private void Like() @@ -57,11 +73,12 @@ private void Renote() { - NoteComponent.Renote(); + if (RenotePossible) NoteComponent.Renote(); } private void Quote() { NoteComponent.DoQuote(); } + } \ No newline at end of file diff --git a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor.css b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor.css index 43181f02..7641427a 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor.css +++ b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor.css @@ -14,3 +14,6 @@ .like-count{ margin-left: 0.3em; } +.renote-count { + margin-left: 0.3em; +}