From: TheSaminator Date: Sat, 12 Feb 2022 15:01:57 +0000 (-0500) Subject: Option to hide Discord username X-Git-Url: https://gitweb.starshipfights.net/?a=commitdiff_plain;h=7d30167db566911be6f772766c9905cc6479e9ec;p=starship-fights Option to hide Discord username --- diff --git a/src/jvmMain/kotlin/starshipfights/auth/providers.kt b/src/jvmMain/kotlin/starshipfights/auth/providers.kt index b4d4d04..1732893 100644 --- a/src/jvmMain/kotlin/starshipfights/auth/providers.kt +++ b/src/jvmMain/kotlin/starshipfights/auth/providers.kt @@ -88,6 +88,7 @@ interface AuthProvider { val form = call.receiveParameters() val newUser = currentUser.copy( + showDiscordName = form["showdiscord"] == "yes", profileName = form["name"]?.takeIf { it.isNotBlank() && it.length <= PROFILE_NAME_MAX_LENGTH } ?: redirect("/me/manage?" + parametersOf("error", "Invalid name - must not be blank, must be at most $PROFILE_NAME_MAX_LENGTH characters").formUrlEncode()), profileBio = form["bio"]?.takeIf { it.isNotBlank() && it.length <= PROFILE_BIO_MAX_LENGTH } ?: redirect("/me/manage?" + parametersOf("error", "Invalid bio - must not be blank, must be at most $PROFILE_BIO_MAX_LENGTH characters").formUrlEncode()) ) diff --git a/src/jvmMain/kotlin/starshipfights/data/auth/user_sessions.kt b/src/jvmMain/kotlin/starshipfights/data/auth/user_sessions.kt index 7fdeed5..7b4f85c 100644 --- a/src/jvmMain/kotlin/starshipfights/data/auth/user_sessions.kt +++ b/src/jvmMain/kotlin/starshipfights/data/auth/user_sessions.kt @@ -19,6 +19,7 @@ data class User( val discordName: String, val discordDiscriminator: String, val discordAvatar: String?, + val showDiscordName: Boolean = false, val profileName: String, val profileBio: String, diff --git a/src/jvmMain/kotlin/starshipfights/info/views_user.kt b/src/jvmMain/kotlin/starshipfights/info/views_user.kt index 454c937..3b3cdb0 100644 --- a/src/jvmMain/kotlin/starshipfights/info/views_user.kt +++ b/src/jvmMain/kotlin/starshipfights/info/views_user.kt @@ -39,10 +39,12 @@ suspend fun ApplicationCall.userPage(): HTML.() -> Unit { img(src = user.discordAvatarUrl) p { style = "text-align:center" - +user.discordName - +"#" - +user.discordDiscriminator - br + if (user.showDiscordName) { + +user.discordName + +"#" + +user.discordDiscriminator + br + } when (user.status) { UserStatus.IN_BATTLE -> +"In Battle" UserStatus.READY_FOR_BATTLE -> +"In Battle" @@ -160,6 +162,18 @@ suspend fun ApplicationCall.manageUserPage(): HTML.() -> Unit { +currentUser.profileBio } + h3 { + +"Privacy Settings" + } + label { + checkBoxInput { + name = "showdiscord" + checked = currentUser.showDiscordName + value = "yes" + } + +Entities.nbsp + +"Show Discord name" + } request.queryParameters["error"]?.let { errorMsg -> p { style = "color:#d22"