mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-14 00:55:20 +02: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:
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user