Yusuf Ibragimov
03/29/2024, 10:07 AMYusuf Ibragimov
03/29/2024, 10:08 AM@Composable
fun SettingsScreen(viewModel: SettingsViewModel = hiltViewModel()) {
val uiState by viewModel.uiState.collectAsStateWithLifecycle()
val scrollState = rememberScrollState()
if (uiState.isLangSheetOpen) {
SelectLangBottomSheet(
langList = uiState.languages,
code = uiState.selectedLanguage ?: "en",
onDismiss = viewModel::dismissLangSheet,
onClickBtn = viewModel::setLanguage
)
}
Scaffold(
modifier = Modifier.fillMaxSize(),
containerColor = DavrTheme.backgroundColors.secondary
) {
Column(modifier = Modifier.verticalScroll(scrollState)) {
SettingsContent(
topPadding = it.calculateTopPadding(),
uiState = uiState,
onAction = viewModel::onAction
)
}
}
}
@Composable
internal fun SettingsContent(
topPadding: Dp,
uiState: SettingsUiState,
onAction: OnAction
) {
Box(
modifier = Modifier
.height(topPadding)
.background(DavrTheme.backgroundColors.secondary)
)
UserInfoContent(
uiState = uiState,
onNotificationClick = { onAction(UiAction.NotificationClick) },
navigateIdentification = { onAction(UiAction.NavigateIdentification) }
)
BankOperationsContent(uiState.bankOperations, onAction)
SupportOperationsContent(uiState.supportOperations, onAction)
SettingsOperationsContent(uiState.settingsOperations, onAction)
LogOutContent(onAction)
}
this is my screen's code snippetYusuf Ibragimov
03/29/2024, 11:08 AMSergey Y.
03/29/2024, 3:39 PMSergey Y.
03/29/2024, 3:42 PMYusuf Ibragimov
03/30/2024, 7:09 AMSergey Y.
03/30/2024, 7:22 AMSergey Y.
03/30/2024, 7:26 AMYusuf Ibragimov
03/30/2024, 7:37 AMSergey Y.
03/30/2024, 7:38 AMYusuf Ibragimov
03/30/2024, 7:38 AMYusuf Ibragimov
03/30/2024, 7:40 AMSergey Y.
03/30/2024, 7:52 AMYusuf Ibragimov
03/30/2024, 9:16 AMBen Trengrove [G]
04/01/2024, 7:55 PMBen Trengrove [G]
04/01/2024, 7:56 PM