Package com.example.examer.ui.screens

Types

Link copied to clipboard
enum ButtonTextValue : Enum<ButtonTextValue>
Link copied to clipboard
object TakeTestScreenComposableAlertDialogBoxes
Link copied to clipboard
data class UserAttribute(    val label: String,     val value: String,     val onClick: () -> Unit)

Functions

Link copied to clipboard
@ExperimentalCoilApi
@Composable
fun DefaultExamerProfileScreen(    currentlyLoggedInUser: ExamerUser,     isLoadingOverlayVisible: Boolean,     onNavigateToEditScreen: () -> Unit? = null,     onNavigateFromEditScreen: () -> Unit? = null,     updateProfilePicture: (image: ImageBitmap) -> Unit,     updateName: (newName: String) -> Unit,     updateEmail: (newEmail: String) -> Unit,     updatePassword: (newPassword: String) -> Unit,     isValidEmail: (String) -> Boolean,     isValidPassword: (String) -> Boolean)

A stateful implementation of ProfileScreen.

Link copied to clipboard
@ExperimentalCoilApi
@Composable
fun ExamerApp(appContainer: AppContainer)
Link copied to clipboard
@ExperimentalCoilApi
@Composable
fun LoggedInScreen(    onSignOut: () -> Unit,     appContainer: AppContainer,     currentlyLoggedInUser: ExamerUser)
Link copied to clipboard
@ExperimentalCoilApi
@Composable
fun ProfileScreen(    imagePainter: ImagePainter,     onEditProfilePictureButtonClick: () -> Unit,     userAttributes: List<UserAttribute>,     scrollState: ScrollState)

Stateless implementation of profile screen

Link copied to clipboard
@Composable
fun ScheduledTestsScreen(    tests: List<TestDetails>,     swipeRefreshState: SwipeRefreshState,     onRefresh: () -> Unit,     onStartTest: (TestDetails) -> Unit,     onTestExpired: (TestDetails) -> Unit)
Link copied to clipboard
@Composable
fun TakeTestScreen(    appContainer: AppContainer,     testSessionViewModel: TestSessionViewModel,     onExitTestButtonClick: () -> Unit,     onFinishTestButtonClick: () -> Unit,     testDetails: TestDetails)
Link copied to clipboard
@Composable
fun TestHistoryScreen(    swipeRefreshState: SwipeRefreshState,     onRefresh: () -> Unit,     testResultsMap: Map<TestDetails, TestResult>)
Link copied to clipboard
@Composable
fun TestListScreen(    listHeader: String,     testList: List<TestDetails>,     swipeRefreshState: SwipeRefreshState,     onRefresh: () -> Unit,     listItem: @Composable (testDetailsItem: TestDetails, isExpanded: Boolean, onExpandButtonClick: () -> Unit, onClick: () -> Unit, is24hourFormat: Boolean) -> Unit)

A stateful composable that is used to display a list of TestDetails as expandable cards.This composable adds support for swipe-to-refresh and a 'scroll-to-top' fab that appears after the first two items are pushed off of the screen while scrolling. It manages the expanded states and also the onClick action, which will toggle between expanded/not expanded states.

Link copied to clipboard
@Composable
fun WorkBookScreen(    questionList: List<MultiChoiceQuestion>,     onFooterButtonClick: (answersMap: Map<MultiChoiceQuestion, IndexOfChosenOption>) -> Unit,     buttonTextValue: ButtonTextValue = ButtonTextValue.NEXT_WORKBOOK)