From a9385fa1a09be6bc9d675fdc842348e16568b5e6 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 16 Aug 2025 20:47:36 +0200 Subject: [PATCH] fix(webui): handle name already being taken at rename --- static/webui/script.js | 17 ++++++++++++----- static/webui/translations/de.js | 1 + static/webui/translations/en.js | 1 + static/webui/translations/es.js | 1 + static/webui/translations/fr.js | 1 + static/webui/translations/ru.js | 1 + static/webui/translations/uk.js | 1 + static/webui/translations/zh.js | 1 + 8 files changed, 19 insertions(+), 5 deletions(-) diff --git a/static/webui/script.js b/static/webui/script.js index 50aaf932..93ac5d85 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -145,13 +145,20 @@ function doLogout() { } } -function renameAccount() { - const newname = window.prompt(loc("code_changeNameConfirm")); +function renameAccount(taken_name) { + const newname = window.prompt( + (taken_name ? loc("code_changeNameRetry").split("|NAME|").join(taken_name) + " " : "") + + loc("code_changeNameConfirm") + ); if (newname) { revalidateAuthz().then(() => { - fetch("/custom/renameAccount?" + window.authz + "&newname=" + newname).then(() => { - $(".displayname").text(newname); - updateLocElements(); + fetch("/custom/renameAccount?" + window.authz + "&newname=" + newname).then(res => { + if (res.status == 409) { + renameAccount(newname); + } else { + $(".displayname").text(newname); + updateLocElements(); + } }); }); } diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js index 50059328..01891595 100644 --- a/static/webui/translations/de.js +++ b/static/webui/translations/de.js @@ -10,6 +10,7 @@ dict = { code_loginFail: `Anmeldung fehlgeschlagen. Bitte überprüfe deine Angaben.`, code_regFail: `Registrierung fehlgeschlagen. Account existiert bereits?`, code_changeNameConfirm: `In welchen Namen möchtest du deinen Account umbenennen?`, + code_changeNameRetry: `[UNTRANSLATED] |NAME| is already taken.`, code_deleteAccountConfirm: `Bist du sicher, dass du deinen Account |DISPLAYNAME| (|EMAIL|) löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.`, code_archgun: `Arch-Gewehr`, code_melee: `Nahkampf`, diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index ed5de064..1996c9eb 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -9,6 +9,7 @@ dict = { code_loginFail: `Login failed. Double-check the email and password.`, code_regFail: `Registration failed. Account already exists?`, code_changeNameConfirm: `What would you like to change your account name to?`, + code_changeNameRetry: `|NAME| is already taken.`, code_deleteAccountConfirm: `Are you sure you want to delete your account |DISPLAYNAME| (|EMAIL|)? This action cannot be undone.`, code_archgun: `Archgun`, code_melee: `Melee`, diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js index f2ec9512..8606848f 100644 --- a/static/webui/translations/es.js +++ b/static/webui/translations/es.js @@ -10,6 +10,7 @@ dict = { code_loginFail: `Error al iniciar sesión. Verifica el correo electrónico y la contraseña.`, code_regFail: `Error al registrar la cuenta. ¿Ya existe una cuenta con este correo?`, code_changeNameConfirm: `¿Qué nombre te gustaría ponerle a tu cuenta?`, + code_changeNameRetry: `[UNTRANSLATED] |NAME| is already taken.`, code_deleteAccountConfirm: `¿Estás seguro de que deseas eliminar tu cuenta |DISPLAYNAME| (|EMAIL|)? Esta acción es permanente.`, code_archgun: `Archcañón`, code_melee: `Cuerpo a cuerpo`, diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js index 22c60883..9118ecc2 100644 --- a/static/webui/translations/fr.js +++ b/static/webui/translations/fr.js @@ -10,6 +10,7 @@ dict = { code_loginFail: `Connexion échouée. Vérifiez le mot de passe.`, code_regFail: `Enregistrement impossible. Compte existant?`, code_changeNameConfirm: `Nouveau nom du compte :`, + code_changeNameRetry: `[UNTRANSLATED] |NAME| is already taken.`, code_deleteAccountConfirm: `Supprimer |DISPLAYNAME| (|EMAIL|) ? Cette action est irreversible.`, code_archgun: `Archgun`, code_melee: `Melee`, diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index c582b56b..aca5cf60 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -10,6 +10,7 @@ dict = { code_loginFail: `Не удалось войти. Проверьте адрес электронной почты и пароль.`, code_regFail: `Не удалось зарегистрироваться. Учетная запись уже существует?`, code_changeNameConfirm: `Какое имя вы хотите установить для своей учетной записи?`, + code_changeNameRetry: `[UNTRANSLATED] |NAME| is already taken.`, code_deleteAccountConfirm: `Вы уверены, что хотите удалить аккаунт |DISPLAYNAME| (|EMAIL|)? Это действие нельзя отменить.`, code_archgun: `Арч-Пушка`, code_melee: `Ближний бой`, diff --git a/static/webui/translations/uk.js b/static/webui/translations/uk.js index 1e9c0660..22793510 100644 --- a/static/webui/translations/uk.js +++ b/static/webui/translations/uk.js @@ -10,6 +10,7 @@ dict = { code_loginFail: `Не вдалося увійти. Перевірте адресу електронної пошти та пароль.`, code_regFail: `Не вдалося зареєструватися. Обліковий запис вже існує?`, code_changeNameConfirm: `Яке ім'я ви хочете встановити для свого облікового запису?`, + code_changeNameRetry: `[UNTRANSLATED] |NAME| is already taken.`, code_deleteAccountConfirm: `Ви впевнені, що хочете видалити обліковий запис |DISPLAYNAME| (|EMAIL|)? Цю дію не можна скасувати.`, code_archgun: `Арк-гармата`, code_melee: `Холодна зброя`, diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index 43964537..bc5d3645 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -10,6 +10,7 @@ dict = { code_loginFail: `登录失败。请检查邮箱和密码。`, code_regFail: `注册失败。账号是否已存在?`, code_changeNameConfirm: `您想将账户名称更改为?`, + code_changeNameRetry: `[UNTRANSLATED] |NAME| is already taken.`, code_deleteAccountConfirm: `确定要删除您的账户 |DISPLAYNAME|(|EMAIL|) 吗?此操作不可撤销。`, code_archgun: `空战`, code_melee: `近战`, -- 2.47.2