Provide snackbar to LoginTypesProvider (backport of bitfireAT/davx5#576)

This commit is contained in:
Ricki Hirner 2024-04-24 10:30:56 +02:00
parent fda96ac653
commit 0c748ebe73
4 changed files with 8 additions and 1 deletions

View file

@ -101,7 +101,7 @@ fun LoginScreenContent(
when (page) {
LoginScreenModel.Page.LoginType ->
LoginTypePage()
LoginTypePage(snackbarHostState = snackbarHostState)
LoginScreenModel.Page.LoginDetails ->
LoginDetailsPage(snackbarHostState = snackbarHostState)

View file

@ -4,17 +4,20 @@
package at.bitfire.davdroid.ui.setup
import androidx.compose.material3.SnackbarHostState
import androidx.compose.runtime.Composable
import androidx.lifecycle.viewmodel.compose.viewModel
@Composable
fun LoginTypePage(
snackbarHostState: SnackbarHostState,
model: LoginScreenModel = viewModel()
) {
val uiState = model.loginTypeUiState
// show login type selection page
model.loginTypesProvider.LoginTypePage(
snackbarHostState = snackbarHostState,
selectedLoginType = uiState.loginType,
onSelectLoginType = { loginType ->
model.selectLoginType(loginType)

View file

@ -5,6 +5,7 @@
package at.bitfire.davdroid.ui.setup
import android.content.Intent
import androidx.compose.material3.SnackbarHostState
import androidx.compose.runtime.Composable
interface LoginTypesProvider {
@ -19,6 +20,7 @@ interface LoginTypesProvider {
@Composable
fun LoginTypePage(
snackbarHostState: SnackbarHostState,
selectedLoginType: LoginType,
onSelectLoginType: (LoginType) -> Unit,
setInitialLoginInfo: (LoginInfo) -> Unit,

View file

@ -5,6 +5,7 @@
package at.bitfire.davdroid.ui.setup
import android.content.Intent
import androidx.compose.material3.SnackbarHostState
import androidx.compose.runtime.Composable
import javax.inject.Inject
@ -33,6 +34,7 @@ class StandardLoginTypesProvider @Inject constructor() : LoginTypesProvider {
@Composable
override fun LoginTypePage(
snackbarHostState: SnackbarHostState,
selectedLoginType: LoginType,
onSelectLoginType: (LoginType) -> Unit,
setInitialLoginInfo: (LoginInfo) -> Unit,