package components.questiondialog

import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material.AlertDialog
import androidx.compose.material.ExperimentalMaterialApi
import androidx.compose.material.UndecoratedWindowAlertDialogProvider
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import components.QuestionResolution
import data.Player
import data.QuestionData
import data.Topic

@Suppress("FunctionName")
@OptIn(ExperimentalMaterialApi::class)
@Composable
fun QuestionDialogue(
    topic: Topic,
    questionData: QuestionData,
    players: List<Player>,
    secondRoundDouble: Boolean,
    onResolve: (QuestionResolution) -> Unit,
    onPointsChange: (Player, Long) -> Unit,
) {
    AlertDialog(
        dialogProvider = UndecoratedWindowAlertDialogProvider,
        modifier = Modifier.fillMaxWidth()
            .fillMaxHeight(),
        onDismissRequest = { },
        buttons = {
            QuestionDialogContent(
                topic = topic.topic,
                topicColor = topic.color,
                questionData = questionData,
                players = players,
                onPointsChange = onPointsChange,
                onResolve = onResolve,
                secondRoundDouble = secondRoundDouble
            )
        }
    )
}