Untitled
unknown
plain_text
2 days ago
6.1 kB
2
Indexable
package az.birbonus.birbonus_sdk.birbonus_cabinet.presentation.composables import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.Spring import androidx.compose.animation.core.spring import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.animation.scaleIn import androidx.compose.animation.scaleOut import androidx.compose.animation.slideInVertically import androidx.compose.animation.slideOutVertically import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.material3.AlertDialog import androidx.compose.material3.Button import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme import androidx.compose.material3.ModalBottomSheet import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.rememberModalBottomSheetState import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import az.birbonus.birbonus_sdk.R import az.birbonus.birbonus_sdk.birbonus_cabinet.presentation.BirBonusCabinetUiAction import az.birbonus.birbonus_sdk.ui.composables.MainButton import az.birbonus.birbonus_sdk.ui.theme.Dimens.dsPaddingLargeX import az.birbonus.birbonus_sdk.ui.theme.Dimens.dsPaddingMedium import az.birbonus.birbonus_sdk.ui.theme.Dimens.dsSpacer16 import az.birbonus.birbonus_sdk.ui.theme.Dimens.dsSpacer8 import az.birbonus.birbonus_sdk.ui.theme.Dimens.dsTextSizeGiant import az.birbonus.birbonus_sdk.ui.theme.Dimens.dsTextSizeMedium import az.birbonus.birbonus_sdk.ui.theme.dsColorWhite import az.birbonus.birbonus_sdk.ui.theme.dsH1 import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class) @Composable internal fun FullScreenBottomErrorDialog( title: String = stringResource(R.string.unexpected_error_happened), description: String = stringResource(R.string.please_try_again), onAction: (BirBonusCabinetUiAction) -> Unit ) { // val bottomSheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true) // val coroutineScope = rememberCoroutineScope() // ModalBottomSheet( // modifier = Modifier.fillMaxHeight(), // sheetState = bottomSheetState, // onDismissRequest = { } // ) { // // } // Surface( // modifier = Modifier.fillMaxSize() // ) { // Box( // modifier = Modifier // .fillMaxSize() // .padding( // start = dsPaddingMedium, // end = dsPaddingMedium, // bottom = dsPaddingLargeX // ) // .background(color = dsColorWhite), // ) { // ErrorMessageComponent( // modifier = Modifier // .align(Alignment.Center), // title = title, // description = description // ) // MainButton( // modifier = Modifier // .align(Alignment.BottomCenter), // onClick = { //// coroutineScope.launch { bottomSheetState.hide() } // onAction(BirBonusCabinetUiAction.OnErrorScreenButtonClicked) // } // ) // } // } Column ( modifier = Modifier .background(color = dsColorWhite) .fillMaxSize() .padding( start = dsPaddingMedium, end = dsPaddingMedium, bottom = dsPaddingLargeX ), horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { ErrorMessageComponent( modifier = Modifier, title = title, description = description ) MainButton( onClick = { // coroutineScope.launch { bottomSheetState.hide() } onAction(BirBonusCabinetUiAction.OnErrorScreenButtonClicked) } ) } } @Composable @Preview private fun FullScreenBottomErrorDialogPreview() { FullScreenBottomErrorDialog(onAction = { }) } @Composable private fun ErrorMessageComponent( modifier: Modifier = Modifier, title: String = stringResource(R.string.unexpected_error_happened), description: String = stringResource(R.string.please_try_again) ) { Column( modifier = modifier, horizontalAlignment = Alignment.CenterHorizontally ) { Image( painter = painterResource(R.drawable.ic_exclamation), contentDescription = null ) Spacer(modifier = Modifier.height(dsSpacer16)) Text( text = title, fontSize = dsTextSizeGiant, style = MaterialTheme.typography.dsH1, ) Spacer(modifier = Modifier.height(dsSpacer8)) Text( text = description, fontSize = dsTextSizeMedium ) } }
Editor is loading...
Leave a Comment