feat: redesign login screen on both app and app-tv

This commit is contained in:
2026-05-13 21:59:23 +02:00
parent e69a3a6d4a
commit d3b66d4fc5
12 changed files with 943 additions and 177 deletions

View File

@@ -2,17 +2,42 @@ package hu.bbara.purefin.ui.screen.login
import androidx.compose.runtime.Immutable
enum class LoginContentPhase {
ServerSearch,
Login
}
@Immutable
data class LoginServerCandidateUi(
val name: String?,
val address: String
)
@Immutable
data class LoginContentState(
val phase: LoginContentPhase,
val serverUrl: String,
val selectedServerName: String?,
val selectedServerUrl: String?,
val discoveredServers: List<LoginServerCandidateUi>,
val username: String,
val password: String,
val isSearching: Boolean,
val isLoggingIn: Boolean,
val quickConnectAvailable: Boolean,
val quickConnectCode: String?,
val isQuickConnecting: Boolean,
val errorMessage: String? = null
)
class LoginContentCallbacks(
val onServerUrlChange: (String) -> Unit,
val onFindServer: () -> Unit,
val onDiscoveredServerClick: (LoginServerCandidateUi) -> Unit,
val onChangeServer: () -> Unit,
val onUsernameChange: (String) -> Unit,
val onPasswordChange: (String) -> Unit,
val onConnect: () -> Unit
val onConnect: () -> Unit,
val onQuickConnect: () -> Unit,
val onCancelQuickConnect: () -> Unit
)