diff --git a/Iceshrimp.Frontend/Components/Note/Note.razor b/Iceshrimp.Frontend/Components/Note/Note.razor new file mode 100644 index 00000000..9f18a777 --- /dev/null +++ b/Iceshrimp.Frontend/Components/Note/Note.razor @@ -0,0 +1,9 @@ +@using Iceshrimp.Shared.Schemas + + + +@code { + [Parameter][EditorRequired] public required NoteResponse NoteResponse { get; set; } + [Parameter] public bool Indented { get; set; } + +} \ No newline at end of file diff --git a/Iceshrimp.Frontend/Components/Note/Note.razor.css b/Iceshrimp.Frontend/Components/Note/Note.razor.css new file mode 100644 index 00000000..e69de29b diff --git a/Iceshrimp.Frontend/Components/NoteAttachments.razor b/Iceshrimp.Frontend/Components/Note/NoteAttachments.razor similarity index 100% rename from Iceshrimp.Frontend/Components/NoteAttachments.razor rename to Iceshrimp.Frontend/Components/Note/NoteAttachments.razor diff --git a/Iceshrimp.Frontend/Components/NoteAttachments.razor.css b/Iceshrimp.Frontend/Components/Note/NoteAttachments.razor.css similarity index 100% rename from Iceshrimp.Frontend/Components/NoteAttachments.razor.css rename to Iceshrimp.Frontend/Components/Note/NoteAttachments.razor.css diff --git a/Iceshrimp.Frontend/Components/NoteAttachments.razor.js b/Iceshrimp.Frontend/Components/Note/NoteAttachments.razor.js similarity index 100% rename from Iceshrimp.Frontend/Components/NoteAttachments.razor.js rename to Iceshrimp.Frontend/Components/Note/NoteAttachments.razor.js diff --git a/Iceshrimp.Frontend/Components/NoteBody.razor b/Iceshrimp.Frontend/Components/Note/NoteBody.razor similarity index 85% rename from Iceshrimp.Frontend/Components/NoteBody.razor rename to Iceshrimp.Frontend/Components/Note/NoteBody.razor index f454a643..5961f9ab 100644 --- a/Iceshrimp.Frontend/Components/NoteBody.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteBody.razor @@ -37,9 +37,9 @@ @code { - [Parameter] public required NoteBase NoteBase { get; set; } - [Parameter] public required bool OverLength { get; set; } - [Parameter] public bool Indented { get; set; } = false; + [Parameter] public required Shared.Schemas.NoteBase NoteBase { get; set; } + [Parameter] public required bool OverLength { get; set; } + [Parameter] public bool Indented { get; set; } = false; private static int MaxHeight => 500; private bool Truncate { get; set; } = true; diff --git a/Iceshrimp.Frontend/Components/NoteBody.razor.css b/Iceshrimp.Frontend/Components/Note/NoteBody.razor.css similarity index 100% rename from Iceshrimp.Frontend/Components/NoteBody.razor.css rename to Iceshrimp.Frontend/Components/Note/NoteBody.razor.css diff --git a/Iceshrimp.Frontend/Components/NoteComponent.razor b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor similarity index 70% rename from Iceshrimp.Frontend/Components/NoteComponent.razor rename to Iceshrimp.Frontend/Components/Note/NoteComponent.razor index 3a4aa614..44116afa 100644 --- a/Iceshrimp.Frontend/Components/NoteComponent.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor @@ -1,6 +1,7 @@ @using Iceshrimp.Frontend.Core.Services @using Iceshrimp.Shared.Schemas @inject ApiService ApiService; +@inject NavigationManager NavigationManager
- + @if (Quote != null) + { +
+ +
+ } + @if (!AsQuote) + { + + }
@code { - [Parameter][EditorRequired] public required NoteResponse Note { get; set; } - [Parameter] public bool Indented { get; set; } + [Parameter][EditorRequired] public required NoteBase Note { get; set; } + [Parameter] public bool Indented { get; set; } + [Parameter] public NoteBase? Quote { get; set; } + [Parameter] public bool AsQuote { get; set; } private bool CheckLen() { return Note.Text?.Length > 500; } + private void OpenQuote() + { + NavigationManager.NavigateTo($"/notes/{Quote!.Id}"); + } + public void React(string name, bool target) { var index = Note.Reactions.FindIndex(x => x.Name == name); diff --git a/Iceshrimp.Frontend/Components/NoteComponent.razor.css b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor.css similarity index 57% rename from Iceshrimp.Frontend/Components/NoteComponent.razor.css rename to Iceshrimp.Frontend/Components/Note/NoteComponent.razor.css index 547cc83d..c37559f0 100644 --- a/Iceshrimp.Frontend/Components/NoteComponent.razor.css +++ b/Iceshrimp.Frontend/Components/Note/NoteComponent.razor.css @@ -12,4 +12,13 @@ min-height: 3em; width: 3em; height: 3em; +} + +.quote { + border-style: solid; + border-color: var(--highlight-color); + border-width: 0.2rem; + border-radius: 1.25rem; + padding: 1rem; + margin: 0.5rem; } \ No newline at end of file diff --git a/Iceshrimp.Frontend/Components/NoteFooter.razor b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor similarity index 100% rename from Iceshrimp.Frontend/Components/NoteFooter.razor rename to Iceshrimp.Frontend/Components/Note/NoteFooter.razor diff --git a/Iceshrimp.Frontend/Components/NoteFooter.razor.css b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor.css similarity index 100% rename from Iceshrimp.Frontend/Components/NoteFooter.razor.css rename to Iceshrimp.Frontend/Components/Note/NoteFooter.razor.css diff --git a/Iceshrimp.Frontend/Components/NoteMetadata.razor b/Iceshrimp.Frontend/Components/Note/NoteMetadata.razor similarity index 100% rename from Iceshrimp.Frontend/Components/NoteMetadata.razor rename to Iceshrimp.Frontend/Components/Note/NoteMetadata.razor diff --git a/Iceshrimp.Frontend/Components/NoteMetadata.razor.css b/Iceshrimp.Frontend/Components/Note/NoteMetadata.razor.css similarity index 94% rename from Iceshrimp.Frontend/Components/NoteMetadata.razor.css rename to Iceshrimp.Frontend/Components/Note/NoteMetadata.razor.css index 9c14e494..357d60c4 100644 --- a/Iceshrimp.Frontend/Components/NoteMetadata.razor.css +++ b/Iceshrimp.Frontend/Components/Note/NoteMetadata.razor.css @@ -3,6 +3,7 @@ flex-direction: column; align-items: end; font-size: 0.9em; + white-space: nowrap; margin-left: auto; .info { display: block; diff --git a/Iceshrimp.Frontend/Components/NoteReaction.razor b/Iceshrimp.Frontend/Components/Note/NoteReaction.razor similarity index 100% rename from Iceshrimp.Frontend/Components/NoteReaction.razor rename to Iceshrimp.Frontend/Components/Note/NoteReaction.razor diff --git a/Iceshrimp.Frontend/Components/NoteReaction.razor.css b/Iceshrimp.Frontend/Components/Note/NoteReaction.razor.css similarity index 100% rename from Iceshrimp.Frontend/Components/NoteReaction.razor.css rename to Iceshrimp.Frontend/Components/Note/NoteReaction.razor.css diff --git a/Iceshrimp.Frontend/Components/NoteUserInfo.razor b/Iceshrimp.Frontend/Components/Note/NoteUserInfo.razor similarity index 100% rename from Iceshrimp.Frontend/Components/NoteUserInfo.razor rename to Iceshrimp.Frontend/Components/Note/NoteUserInfo.razor diff --git a/Iceshrimp.Frontend/Components/NoteUserInfo.razor.css b/Iceshrimp.Frontend/Components/Note/NoteUserInfo.razor.css similarity index 100% rename from Iceshrimp.Frontend/Components/NoteUserInfo.razor.css rename to Iceshrimp.Frontend/Components/Note/NoteUserInfo.razor.css diff --git a/Iceshrimp.Frontend/Components/RecursiveNote.razor b/Iceshrimp.Frontend/Components/RecursiveNote.razor index 146cf4cc..f67eca51 100644 --- a/Iceshrimp.Frontend/Components/RecursiveNote.razor +++ b/Iceshrimp.Frontend/Components/RecursiveNote.razor @@ -1,4 +1,5 @@ @using Iceshrimp.Shared.Schemas +@using Iceshrimp.Frontend.Components.Note @inject NavigationManager NavigationManager
@@ -14,7 +15,7 @@
}
- +
@if (Note.Descendants != null) diff --git a/Iceshrimp.Frontend/Components/TimelineNote.razor b/Iceshrimp.Frontend/Components/TimelineNote.razor index 06c23634..7c224122 100644 --- a/Iceshrimp.Frontend/Components/TimelineNote.razor +++ b/Iceshrimp.Frontend/Components/TimelineNote.razor @@ -1,7 +1,8 @@ @using Iceshrimp.Shared.Schemas +@using Iceshrimp.Frontend.Components.Note @inject NavigationManager Navigation
- +
@code { [Parameter][EditorRequired] public required NoteResponse Note { get; set; } diff --git a/Iceshrimp.Frontend/Components/TimelineNote.razor.css b/Iceshrimp.Frontend/Components/TimelineNote.razor.css index 43b819ec..9fec5434 100644 --- a/Iceshrimp.Frontend/Components/TimelineNote.razor.css +++ b/Iceshrimp.Frontend/Components/TimelineNote.razor.css @@ -3,6 +3,9 @@ min-width: 20rem; background-color: var(--foreground-color); padding: 1.5rem 1.5rem 1rem; /* top, left-right, bottom*/ + @media (max-width: 700px) { + padding: 1.5rem 1rem 1rem; + } border-radius: 0.75rem; margin-top: 1rem; margin-right: 0.5rem; diff --git a/Iceshrimp.Frontend/Pages/Note.razor b/Iceshrimp.Frontend/Pages/Note.razor deleted file mode 100644 index 2bb528c5..00000000 --- a/Iceshrimp.Frontend/Pages/Note.razor +++ /dev/null @@ -1,45 +0,0 @@ -@page "/Note/{id}" -@using Iceshrimp.Frontend.Core.Miscellaneous -@using Iceshrimp.Frontend.Core.Services -@using Iceshrimp.Shared.Schemas -@using Iceshrimp.Frontend.Components -@inject ApiService Api -

Authenticated note preview

- -@if (_note != null) -{ - -} -else if (_error != null) -{ -

Error!: @_error.Error

-} -else -{ -

Fetching note...

-} - -@code { - [Parameter] - public string Id { get; set; } = null!; - - private ErrorResponse? _error; - private NoteResponse? _note; - - protected override async Task OnInitializedAsync() - { - try - { - _note = await Api.Notes.GetNote(Id) ?? throw new ApiException(new ErrorResponse - { - StatusCode = 404, - Error = "Note not found", - RequestId = "-" - }); - } - catch (ApiException e) - { - _error = e.Response; - } - } -} \ No newline at end of file diff --git a/Iceshrimp.Frontend/Pages/SingleNote.razor b/Iceshrimp.Frontend/Pages/SingleNote.razor index 53b0e18a..e08f953e 100644 --- a/Iceshrimp.Frontend/Pages/SingleNote.razor +++ b/Iceshrimp.Frontend/Pages/SingleNote.razor @@ -2,13 +2,14 @@ @using Iceshrimp.Shared.Schemas @using Iceshrimp.Frontend.Components @using Iceshrimp.Frontend.Core.Services +@using Iceshrimp.Frontend.Components.Note @inject ApiService ApiService @if (_init) {
- +
@if (Descendants != null) {