feat(android): "Change server URL" link on Login (parity map: Auth)
Ports flutter_client/lib/auth/login_screen.dart:86-89 — a TextButton under the Sign-in button that routes to the ServerUrl screen, so a wrong server URL is recoverable pre-login without reinstalling or signing out from Settings. Disabled while a submit is in flight. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,7 @@ import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.OutlinedTextField
|
||||
import androidx.compose.material3.Surface
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextButton
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
@@ -28,6 +29,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import androidx.navigation.NavHostController
|
||||
import com.fabledsword.minstrel.nav.Home
|
||||
import com.fabledsword.minstrel.nav.Login
|
||||
import com.fabledsword.minstrel.nav.ServerUrl
|
||||
|
||||
@Composable
|
||||
fun LoginScreen(
|
||||
@@ -55,6 +57,7 @@ fun LoginScreen(
|
||||
onUsernameChange = viewModel::setUsername,
|
||||
onPasswordChange = viewModel::setPassword,
|
||||
onSubmit = viewModel::submit,
|
||||
onChangeServerUrl = { navController.navigate(ServerUrl) },
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -65,6 +68,7 @@ private fun LoginForm(
|
||||
onUsernameChange: (String) -> Unit,
|
||||
onPasswordChange: (String) -> Unit,
|
||||
onSubmit: () -> Unit,
|
||||
onChangeServerUrl: () -> Unit,
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier
|
||||
@@ -112,6 +116,12 @@ private fun LoginForm(
|
||||
)
|
||||
}
|
||||
SubmitButton(state = state, onSubmit = onSubmit)
|
||||
TextButton(
|
||||
onClick = onChangeServerUrl,
|
||||
enabled = !state.isSubmitting,
|
||||
) {
|
||||
Text("Change server URL")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user