Quiztable/src/main/kotlin/components/questiondialog/player/QuestionDialogPlayer.kt

61 lines
1.8 KiB
Kotlin

package components.questiondialog.player
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material.Text
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.TextUnit
import components.common.DisabledButton
import components.questiondialog.buttons.BadAnswerButton
import components.questiondialog.buttons.ButtonSpacer
import components.questiondialog.buttons.GoodAnswerButton
import data.Player
@Suppress("FunctionName")
@Composable
fun QuestionDialogPlayer(
player: Player,
fontSize: TextUnit,
onPointsChange: (Player, Long) -> Unit,
questionPoints: Long,
onQuestionAnswered: (Player) -> Unit,
) {
Row(
modifier = Modifier.fillMaxWidth(),
verticalAlignment = Alignment.CenterVertically
) {
var hadFail by remember { mutableStateOf(false) }
Text(
text = player.name,
modifier = Modifier.fillMaxWidth(0.6f),
fontSize = fontSize
)
ButtonSpacer()
if (hadFail) {
DisabledButton(maxWidthFraction = 1f, fontSize = fontSize)
} else {
BadAnswerButton(
fontSize = fontSize,
onClick = {
hadFail = true
onPointsChange(
player,
-questionPoints
)
}
)
ButtonSpacer()
GoodAnswerButton(
fontSize = fontSize,
onClick = {
onPointsChange(player, questionPoints)
onQuestionAnswered(player)
}
)
}
}
}