diff --git a/ProjectLighthouse.Servers.Website/Pages/LandingPage.cshtml b/ProjectLighthouse.Servers.Website/Pages/LandingPage.cshtml
index 903dbf0cb..95c749163 100644
--- a/ProjectLighthouse.Servers.Website/Pages/LandingPage.cshtml
+++ b/ProjectLighthouse.Servers.Website/Pages/LandingPage.cshtml
@@ -60,7 +60,34 @@
}
}
-
+@if (Model.LatestAnnouncement != null)
+{
+
+
+
@Model.LatestAnnouncement.Title
+
+
+ @(Model.LatestAnnouncement.Content.Length > 250
+ ? Model.LatestAnnouncement.Content[..250] + $"... [read more]({ServerConfiguration.Instance.ExternalUrl}/notifications)"
+ : Model.LatestAnnouncement.Content)
+
+
+ @if (Model.LatestAnnouncement.Publisher != null)
+ {
+
+ }
+
+
+}
+else
+{
+
+}
diff --git a/ProjectLighthouse.Servers.Website/Pages/LandingPage.cshtml.cs b/ProjectLighthouse.Servers.Website/Pages/LandingPage.cshtml.cs
index f866557b3..37edf44bd 100644
--- a/ProjectLighthouse.Servers.Website/Pages/LandingPage.cshtml.cs
+++ b/ProjectLighthouse.Servers.Website/Pages/LandingPage.cshtml.cs
@@ -5,6 +5,7 @@
using LBPUnion.ProjectLighthouse.Servers.Website.Pages.Layouts;
using LBPUnion.ProjectLighthouse.Types.Entities.Level;
using LBPUnion.ProjectLighthouse.Types.Entities.Profile;
+using LBPUnion.ProjectLighthouse.Types.Entities.Website;
using LBPUnion.ProjectLighthouse.Types.Levels;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
@@ -19,6 +20,8 @@ public class LandingPage : BaseLayout
public int PendingAuthAttempts;
public List PlayersOnline = new();
+ public WebsiteAnnouncementEntity? LatestAnnouncement;
+
public LandingPage(DatabaseContext database) : base(database)
{ }
@@ -54,6 +57,10 @@ public async Task OnGet()
.Include(s => s.Creator)
.ToListAsync();
+ this.LatestAnnouncement = await this.Database.WebsiteAnnouncements.Include(a => a.Publisher)
+ .OrderByDescending(a => a.AnnouncementId)
+ .FirstOrDefaultAsync();
+
return this.Page();
}
}
\ No newline at end of file