mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Add register dialog to separate login/register (#12185)
New users find Minetest's account system confusing. This change moves username/password to a new dialog, with login and register buttons added to the Join Game tab. The old registration confirmation dialog is removed in favour of the new dialog. Fixes #8138
This commit is contained in:
parent
21323ef1ff
commit
03d86ea0b4
18 changed files with 232 additions and 402 deletions
|
@ -101,11 +101,20 @@ void Client::handleCommand_Hello(NetworkPacket* pkt)
|
|||
|
||||
// Authenticate using that method, or abort if there wasn't any method found
|
||||
if (chosen_auth_mechanism != AUTH_MECHANISM_NONE) {
|
||||
if (chosen_auth_mechanism == AUTH_MECHANISM_FIRST_SRP &&
|
||||
!m_simple_singleplayer_mode &&
|
||||
!getServerAddress().isLocalhost() &&
|
||||
g_settings->getBool("enable_register_confirmation")) {
|
||||
promptConfirmRegistration(chosen_auth_mechanism);
|
||||
bool is_register = chosen_auth_mechanism == AUTH_MECHANISM_FIRST_SRP;
|
||||
ELoginRegister mode = is_register ? ELoginRegister::Register : ELoginRegister::Login;
|
||||
if (m_allow_login_or_register != ELoginRegister::Any &&
|
||||
m_allow_login_or_register != mode) {
|
||||
m_chosen_auth_mech = AUTH_MECHANISM_NONE;
|
||||
m_access_denied = true;
|
||||
if (m_allow_login_or_register == ELoginRegister::Login) {
|
||||
m_access_denied_reason =
|
||||
gettext("Name is not registered. To create an account on this server, click 'Register'");
|
||||
} else {
|
||||
m_access_denied_reason =
|
||||
gettext("Name is taken. Please choose another name");
|
||||
}
|
||||
m_con->Disconnect();
|
||||
} else {
|
||||
startAuth(chosen_auth_mechanism);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue