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)
{