Use AsyncView in OidcView
This commit is contained in:
parent
ec62907ade
commit
4c6cd7d3f2
1 changed files with 7 additions and 20 deletions
|
|
@ -25,17 +25,14 @@ import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Alignment
|
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||||
import androidx.compose.ui.viewinterop.AndroidView
|
import androidx.compose.ui.viewinterop.AndroidView
|
||||||
import io.element.android.features.login.impl.oidc.OidcUrlParser
|
import io.element.android.features.login.impl.oidc.OidcUrlParser
|
||||||
import io.element.android.libraries.architecture.Async
|
|
||||||
import io.element.android.libraries.core.bool.orFalse
|
import io.element.android.libraries.core.bool.orFalse
|
||||||
import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog
|
import io.element.android.libraries.designsystem.components.async.AsyncView
|
||||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
|
||||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||||
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
|
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun OidcView(
|
fun OidcView(
|
||||||
|
|
@ -79,21 +76,11 @@ fun OidcView(
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
when (state.requestState) {
|
AsyncView(
|
||||||
Async.Uninitialized -> Unit
|
async = state.requestState,
|
||||||
is Async.Failure -> {
|
onSuccess = { onNavigateBack() },
|
||||||
ErrorDialog(
|
onErrorDismiss = { state.eventSink(OidcEvents.ClearError) }
|
||||||
content = state.requestState.error.toString(),
|
)
|
||||||
onDismiss = { state.eventSink(OidcEvents.ClearError) }
|
|
||||||
)
|
|
||||||
}
|
|
||||||
is Async.Loading -> {
|
|
||||||
CircularProgressIndicator(
|
|
||||||
modifier = Modifier.align(Alignment.Center)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
is Async.Success -> onNavigateBack()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue