diff --git a/ProjectLighthouse.Localization/Privacy.resx b/ProjectLighthouse.Localization/Privacy.resx
new file mode 100644
index 00000000..b59a888a
--- /dev/null
+++ b/ProjectLighthouse.Localization/Privacy.resx
@@ -0,0 +1,42 @@
+
+
+
There are no comments.
+ There are no comments. } else if (!Model.CommentsEnabled) { -Comments are disabled.
+ Comments are disabled. } else { @@ -51,10 +50,9 @@ CommentEntity comment = commentAndReaction.Key; int yourThumb = commentAndReaction.Value?.Rating ?? 0; DateTimeOffset timestamp = DateTimeOffset.FromUnixTimeSeconds(comment.Timestamp / 1000).ToLocalTime(); - StringWriter messageWriter = new(); - HttpUtility.HtmlDecode(comment.GetCommentMessage(Database), messageWriter); - string decodedMessage = messageWriter.ToString(); + string decodedMessage = HttpUtility.HtmlDecode(comment.GetCommentMessage(Database)); + string? url = Url.RouteUrl(ViewContext.RouteData.Values); if (url == null) continue; diff --git a/ProjectLighthouse.Servers.Website/Pages/SlotPage.cshtml b/ProjectLighthouse.Servers.Website/Pages/SlotPage.cshtml index 78b0a919..d6e6ca2d 100644 --- a/ProjectLighthouse.Servers.Website/Pages/SlotPage.cshtml +++ b/ProjectLighthouse.Servers.Website/Pages/SlotPage.cshtml @@ -58,129 +58,139 @@ @await Model.Slot.ToHtml(Html, ViewData, Model.User, $"~/slot/{Model.Slot?.SlotId}", language, timeZone, isMobile)@HttpUtility.HtmlDecode(string.IsNullOrEmpty(Model.Slot?.Description) ? "This level has no description." : Model.Slot.Description)
-+ The creator's privacy settings prevent you from viewing this page. +
This level has no tags.
- } - else - { - foreach (string label in authorLabels.Where(label => !string.IsNullOrEmpty(label))) +} +else +{ +@HttpUtility.HtmlDecode(string.IsNullOrEmpty(Model.Slot?.Description) ? "This level has no description." : Model.Slot.Description)
+This level has no tags.
+ } + else + { + foreach (string label in authorLabels.Where(label => !string.IsNullOrEmpty(label))) { - string width = isMobile ? "sixteen" : "eight"; - bool canDelete = Model.User != null && (Model.User.IsModerator || Model.User.UserId == photo.CreatorId); -This level has no photos yet.
- } -This level has no photos yet.
+ } + +This user has been banned for violating the Terms of Service. Remember to follow the rules!
} @@ -39,20 +39,20 @@@Model.Translate(ProfileStrings.NoBiography, Model.ProfileUser.Username)
- } - else - { -@HttpUtility.HtmlDecode(Model.ProfileUser.Biography)
- } -@Model.Translate(GeneralStrings.Soon)
-Comments are disabled because the user is banned.
-@Model.Translate(ProfileStrings.NoBiography, Model.ProfileUser.Username)
} else { -This user hasn't uploaded any photos
+@HttpUtility.HtmlDecode(Model.ProfileUser.Biography)
}This user hasn't published any levels
- } - @foreach (SlotEntity slot in Model.Slots ?? new List@Model.Translate(GeneralStrings.Soon)
You haven't hearted any levels
- } - else - { -You have hearted @(Model.HeartedSlots?.Count) levels
- } - @foreach (SlotEntity slot in Model.HeartedSlots ?? new ListYou haven't queued any levels
- } - else - { -There are @(Model.QueuedSlots?.Count) levels in your queue
- } - @foreach (SlotEntity slot in Model.QueuedSlots ?? new List+ The user's privacy settings prevent you from viewing this page. +
++ Comments are disabled because the user is banned. +
+This user hasn't uploaded any photos
+ } ++ The user's privacy settings prevent you from viewing this page. +
+This user hasn't published any levels
+ } + @foreach (SlotEntity slot in Model.Slots ?? new List@Model.Translate(GeneralStrings.Soon)
+You haven't hearted any levels
+ } + else + { +You have hearted @(Model.HeartedSlots?.Count) levels
+ } + @foreach (SlotEntity slot in Model.HeartedSlots ?? new ListYou haven't queued any levels
+ } + else + { +There are @(Model.QueuedSlots?.Count) levels in your queue
+ } + @foreach (SlotEntity slot in Model.QueuedSlots ?? new List@Model.Translate(PrivacyStrings.BlockedUsers, Model.BlockedUsers.Count)
+ } + @foreach (UserEntity user in Model.BlockedUsers) + { +