Simplify rank badges and implement profile tags (#880)

* Simplify website rank badges to use semantic classes

* Fix ambiguity between partial display types

* Add profile vanity tags and needed migration

* Make form field read only to non-administrators

* Display lock icon if user is not admin to minimize confusion

* Also display lock icon for username field since it's readonly

* Fix up naming consistency issues and edit migration accordingly

* Apply suggestions from code review

* Add space between placeholder property and ternary operator
This commit is contained in:
koko 2023-08-28 16:37:06 -04:00 committed by GitHub
commit be5a29d3c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 83 additions and 19 deletions

View file

@ -20,7 +20,17 @@ public class UserSettingsPage : BaseLayout
{}
[SuppressMessage("ReSharper", "SpecifyStringComparison")]
public async Task<IActionResult> OnPost([FromRoute] int userId, [FromForm] string? avatar, [FromForm] string? username, [FromForm] string? email, [FromForm] string? biography, [FromForm] string? timeZone, [FromForm] string? language)
public async Task<IActionResult> OnPost
(
[FromRoute] int userId,
[FromForm] string? avatar,
[FromForm] string? username,
[FromForm] string? email,
[FromForm] string profileTag,
[FromForm] string? biography,
[FromForm] string? timeZone,
[FromForm] string? language
)
{
this.ProfileUser = await this.Database.Users.FirstOrDefaultAsync(u => u.UserId == userId);
if (this.ProfileUser == null) return this.NotFound();
@ -33,6 +43,8 @@ public class UserSettingsPage : BaseLayout
if (avatarHash != null) this.ProfileUser.IconHash = avatarHash;
if (this.User.IsAdmin) this.ProfileUser.ProfileTag = profileTag;
if (biography != null)
{
biography = CensorHelper.FilterMessage(biography);