Quiztable/src/main/kotlin/components/questiondialog/buttons/QuestionDialogDeferredButto...

84 lines
2.6 KiB
Kotlin

package components.questiondialog.buttons
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.*
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.em
import components.questiondialog.QuestionDialogPlayer
import data.Player
import data.QuestionData
import data.Topic
import data.toColor
@Suppress("FunctionName")
@Composable
fun QuestionDialogDeferredButtons(
topic: Topic,
questionData: QuestionData,
players: List<Player>,
onPointsChange: (Player, Long) -> Unit,
onResolve: () -> Unit,
doublePoints: Boolean
) {
val fontSize = 5.em
Box(
modifier = Modifier.fillMaxHeight().fillMaxWidth()
.border(
border = BorderStroke(150.dp, topic.color.toColor())
)
.padding(150.dp),
contentAlignment = Alignment.Center,
) {
Column(
modifier = Modifier.fillMaxWidth().fillMaxHeight(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.SpaceAround
) {
Text(
text = """"${topic.topic}" for ${questionData.actualUsagePoints(doublePoints)} Pts.""",
fontSize = 2.em
)
if (questionData.isDeferredDouble) {
Text(
text = """Deferred Double!""",
fontSize = 3.em
)
}
Text(
text = questionData.hint,
fontSize = 5.em
)
for (player in players) {
QuestionDialogPlayer(
player = player,
fontSize = fontSize,
questionData = questionData,
onPointsChange = onPointsChange,
questionPoints = questionData.actualUsagePoints(doublePoints).toLong()
)
Spacer(Modifier.height(20.dp))
}
Row(
horizontalArrangement = Arrangement.Center,
verticalAlignment = Alignment.CenterVertically
) {
Button(
onClick = {
onResolve()
}
) {
Text("Dismiss", color = Color.LightGray, fontSize = fontSize)
}
}
}
}
}