diff --git a/Iceshrimp.Frontend/Components/Note/NoteMetadata.razor b/Iceshrimp.Frontend/Components/Note/NoteMetadata.razor
index 2da9a031..4d70c9e6 100644
--- a/Iceshrimp.Frontend/Components/Note/NoteMetadata.razor
+++ b/Iceshrimp.Frontend/Components/Note/NoteMetadata.razor
@@ -1,4 +1,3 @@
-@using System.Timers
@using Iceshrimp.Assets.PhosphorIcons
@using Iceshrimp.Frontend.Localization
@using Iceshrimp.Shared.Schemas.Web
@@ -14,7 +13,7 @@
else
{
- }
+ }
@switch (Visibility)
{
@@ -46,44 +45,4 @@
[Parameter] [EditorRequired] public required NoteVisibility Visibility { get; set; }
[Parameter] [EditorRequired] public required string? InstanceName { get; set; }
[Parameter] public string? OpenNoteId { get; set; }
-
- protected override void OnInitialized()
- {
- ResetTimer();
- }
-
- private void UpdateDisplay(object? _, ElapsedEventArgs elapsedEventArgs)
- {
- StateHasChanged();
- ResetTimer();
- }
-
- private void ResetTimer()
- {
- var diff = DateTime.Now - CreatedAt;
- if (diff.TotalMinutes < 1) // Default of 2 seconds
- {
- SetTimer();
- }
- else if (diff.TotalHours < 1)
- {
- SetTimer(20000); // 20 seconds
- }
- else if (diff.TotalDays < 1 && diff.TotalHours > 1)
- {
- SetTimer(600000); // 10 minutes
- }
- else
- {
- SetTimer(3600000); // 1 hour
- }
- }
-
- private void SetTimer(int duration = 2000)
- {
- var timer = new Timer(duration);
- timer.Elapsed += UpdateDisplay;
- timer.AutoReset = false;
- timer.Enabled = true;
- }
}
\ No newline at end of file
diff --git a/Iceshrimp.Frontend/Components/Timestamp.razor b/Iceshrimp.Frontend/Components/Timestamp.razor
index f5d67837..ff59cd97 100644
--- a/Iceshrimp.Frontend/Components/Timestamp.razor
+++ b/Iceshrimp.Frontend/Components/Timestamp.razor
@@ -1,3 +1,4 @@
+@using System.Timers
@using Iceshrimp.Frontend.Localization
@using Microsoft.Extensions.Localization
@inject IStringLocalizer Loc;
@@ -5,7 +6,7 @@
@RenderTimestamp()
@code {
- [Parameter, EditorRequired] public required DateTime Date { get; set; }
+ [Parameter, EditorRequired] public required DateTime Date { get; set; }
private string RenderTimestamp()
{
@@ -23,4 +24,44 @@
_ => Loc["now"]
};
}
+
+ protected override void OnInitialized()
+ {
+ ResetTimer();
+ }
+
+ private void UpdateDisplay(object? _, ElapsedEventArgs elapsedEventArgs)
+ {
+ StateHasChanged();
+ ResetTimer();
+ }
+
+ private void ResetTimer()
+ {
+ var diff = DateTime.Now - Date;
+ if (diff.TotalMinutes < 1) // Default of 1 seconds
+ {
+ SetTimer();
+ }
+ else if (diff.TotalHours < 1)
+ {
+ SetTimer(20000); // 20 seconds
+ }
+ else if (diff.TotalDays < 1 && diff.TotalHours > 1)
+ {
+ SetTimer(600000); // 10 minutes
+ }
+ else
+ {
+ SetTimer(3600000); // 1 hour
+ }
+ }
+
+ private void SetTimer(int duration = 1000)
+ {
+ var timer = new Timer(duration);
+ timer.Elapsed += UpdateDisplay;
+ timer.AutoReset = false;
+ timer.Enabled = true;
+ }
}
\ No newline at end of file