From 3c76dfa434424a571458c6092fb8f2e22cd7d977 Mon Sep 17 00:00:00 2001 From: Josh Date: Sun, 29 Oct 2023 18:16:36 -0500 Subject: [PATCH] Fix extra whitespace in slot slugs (#938) * Fix extra whitespace in slot slugs * Add slug route parameter to slot and user pages --- .../Controllers/SlotPageController.cs | 2 +- .../Controllers/UserPageController.cs | 2 +- ProjectLighthouse.Servers.Website/Extensions/SlugExtensions.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ProjectLighthouse.Servers.Website/Controllers/SlotPageController.cs b/ProjectLighthouse.Servers.Website/Controllers/SlotPageController.cs index 66eafbc0..ce4cabee 100644 --- a/ProjectLighthouse.Servers.Website/Controllers/SlotPageController.cs +++ b/ProjectLighthouse.Servers.Website/Controllers/SlotPageController.cs @@ -18,7 +18,7 @@ using Microsoft.EntityFrameworkCore; namespace LBPUnion.ProjectLighthouse.Servers.Website.Controllers; [ApiController] -[Route("slot/{id:int}")] +[Route("slot/{id:int}/{slug?}")] public class SlotPageController : ControllerBase { private readonly DatabaseContext database; diff --git a/ProjectLighthouse.Servers.Website/Controllers/UserPageController.cs b/ProjectLighthouse.Servers.Website/Controllers/UserPageController.cs index 161bb1a8..189c42a5 100644 --- a/ProjectLighthouse.Servers.Website/Controllers/UserPageController.cs +++ b/ProjectLighthouse.Servers.Website/Controllers/UserPageController.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore; namespace LBPUnion.ProjectLighthouse.Servers.Website.Controllers; [ApiController] -[Route("user/{id:int}")] +[Route("user/{id:int}/{slug?}")] public class UserPageController : ControllerBase { private readonly DatabaseContext database; diff --git a/ProjectLighthouse.Servers.Website/Extensions/SlugExtensions.cs b/ProjectLighthouse.Servers.Website/Extensions/SlugExtensions.cs index eaef5e25..887df178 100644 --- a/ProjectLighthouse.Servers.Website/Extensions/SlugExtensions.cs +++ b/ProjectLighthouse.Servers.Website/Extensions/SlugExtensions.cs @@ -22,7 +22,7 @@ public static partial class SlugExtensions public static string GenerateSlug(this SlotEntity slot) => slot.Name.Length == 0 ? "unnamed-level" - : WhitespaceRegex().Replace(ValidSlugCharactersRegex().Replace(HttpUtility.HtmlDecode(slot.Name), ""), " ").Replace(" ", "-").ToLower(); + : WhitespaceRegex().Replace(ValidSlugCharactersRegex().Replace(HttpUtility.HtmlDecode(slot.Name), ""), " ").Trim().Replace(" ", "-").ToLower(); /// /// Generates a URL slug for the given user