in Jetsurvey/app/src/main/java/com/example/compose/jetsurvey/survey/SurveyScreen.kt [60:111]
fun SurveyQuestionsScreen(
questions: SurveyState.Questions,
shouldAskPermissions: Boolean,
onDoNotAskForPermissions: () -> Unit,
onAction: (Int, SurveyActionType) -> Unit,
onDonePressed: () -> Unit,
onBackPressed: () -> Unit,
openSettings: () -> Unit
) {
val questionState = remember(questions.currentQuestionIndex) {
questions.questionsState[questions.currentQuestionIndex]
}
Surface(modifier = Modifier.supportWideScreen()) {
Scaffold(
topBar = {
SurveyTopAppBar(
questionIndex = questionState.questionIndex,
totalQuestionsCount = questionState.totalQuestionsCount,
onBackPressed = onBackPressed
)
},
content = { innerPadding ->
Question(
question = questionState.question,
answer = questionState.answer,
shouldAskPermissions = shouldAskPermissions,
onAnswer = {
if (it !is Answer.PermissionsDenied) {
questionState.answer = it
}
questionState.enableNext = true
},
onAction = onAction,
openSettings = openSettings,
onDoNotAskForPermissions = onDoNotAskForPermissions,
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
)
},
bottomBar = {
SurveyBottomBar(
questionState = questionState,
onPreviousPressed = { questions.currentQuestionIndex-- },
onNextPressed = { questions.currentQuestionIndex++ },
onDonePressed = onDonePressed
)
}
)
}
}