diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Difficulte.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/DifficulteDTO.kt similarity index 73% rename from android/app/src/main/java/fr/iut/sciencequest/model/dto/Difficulte.kt rename to android/app/src/main/java/fr/iut/sciencequest/model/dto/DifficulteDTO.kt index cd4f41e..fd3231e 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Difficulte.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/DifficulteDTO.kt @@ -1,6 +1,6 @@ package fr.iut.sciencequest.model.dto -import kotlinx.serialization.Serializable; +import kotlinx.serialization.Serializable @Serializable data class DifficulteDTO ( diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTO.kt similarity index 89% rename from android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt rename to android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTO.kt index 338005a..10ca167 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Scientifique.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ScientifiqueDTO.kt @@ -1,7 +1,7 @@ package fr.iut.sciencequest.model.dto import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable; +import kotlinx.serialization.Serializable @Serializable data class ScientifiqueDTO ( diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Thematique.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ThematiqueDTO.kt similarity index 73% rename from android/app/src/main/java/fr/iut/sciencequest/model/dto/Thematique.kt rename to android/app/src/main/java/fr/iut/sciencequest/model/dto/ThematiqueDTO.kt index b07da37..a1deae5 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/model/dto/Thematique.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/ThematiqueDTO.kt @@ -1,6 +1,6 @@ package fr.iut.sciencequest.model.dto -import kotlinx.serialization.Serializable; +import kotlinx.serialization.Serializable @Serializable data class ThematiqueDTO ( diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionDTO.kt new file mode 100644 index 0000000..11e9096 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionDTO.kt @@ -0,0 +1,11 @@ +package fr.iut.sciencequest.model.dto.question + +import fr.iut.sciencequest.model.dto.reponse.ReponseDTO +import kotlinx.serialization.Serializable + +@Serializable +class QuestionDTO ( + val id: Int, + val question: String, + val reponses: List +) \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt new file mode 100644 index 0000000..05dcc07 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/question/QuestionWithSimpleResponseDTO.kt @@ -0,0 +1,11 @@ +package fr.iut.sciencequest.model.dto.question + +import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO +import kotlinx.serialization.Serializable + +@Serializable +open class QuestionWithSimpleResponseDTO( + val id: Int, + val question: String, + val reponses: List +) \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseDTO.kt new file mode 100644 index 0000000..e7233d6 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseDTO.kt @@ -0,0 +1,13 @@ +package fr.iut.sciencequest.model.dto.reponse + +import fr.iut.sciencequest.model.dto.question.QuestionDTO +import fr.iut.sciencequest.model.dto.ScientifiqueDTO +import kotlinx.serialization.Serializable + +@Serializable +class ReponseDTO ( + val id: Int, + val reponse: String, + val question: QuestionDTO, + val scientifique: ScientifiqueDTO +) \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseSimpleDTO.kt b/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseSimpleDTO.kt new file mode 100644 index 0000000..beb9af6 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/dto/reponse/ReponseSimpleDTO.kt @@ -0,0 +1,9 @@ +package fr.iut.sciencequest.model.dto.reponse + +import kotlinx.serialization.Serializable + +@Serializable +class ReponseSimpleDTO( + val id: Int, + val reponse: String, +) \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/metier/Question.kt b/android/app/src/main/java/fr/iut/sciencequest/model/metier/Question.kt new file mode 100644 index 0000000..d6c1550 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/metier/Question.kt @@ -0,0 +1,7 @@ +package fr.iut.sciencequest.model.metier +class Question( + val id: Int, + val question: String, + val reponses: List +) {} + diff --git a/android/app/src/main/java/fr/iut/sciencequest/model/metier/Reponse.kt b/android/app/src/main/java/fr/iut/sciencequest/model/metier/Reponse.kt new file mode 100644 index 0000000..aaacc6d --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/model/metier/Reponse.kt @@ -0,0 +1,9 @@ +package fr.iut.sciencequest.model.metier + +class Reponse ( + val id: Int, + val reponse: String, + val question: Question, + val scientifique: Scientifique +) {} + diff --git a/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt b/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt new file mode 100644 index 0000000..6bb7c56 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/stub/QuestionWithReponses.kt @@ -0,0 +1,16 @@ +package fr.iut.sciencequest.stub + +import fr.iut.sciencequest.model.dto.question.QuestionWithSimpleResponseDTO +import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO + +object StubQuestionWithReponses: QuestionWithSimpleResponseDTO( + id = 0, + question = "Ceci est une question ?", + reponses = listOf( + ReponseSimpleDTO(id=0, "Reponse 1"), + ReponseSimpleDTO(id=1, "Reponse 2"), + ReponseSimpleDTO(id=1, "Reponse 3"), + ReponseSimpleDTO(id=1, "Reponse 4"), + ) +) +{} \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt b/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt new file mode 100644 index 0000000..5d13b14 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt @@ -0,0 +1,63 @@ +package fr.iut.sciencequest.view.games + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import fr.iut.sciencequest.R +import fr.iut.sciencequest.model.dto.question.QuestionWithSimpleResponseDTO +import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO +import fr.iut.sciencequest.stub.StubQuestionWithReponses +import fr.iut.sciencequest.view.TopBar + +@Composable +fun KahootScreen(goToAccount: () -> Unit, goToHome: () -> Unit, question: QuestionWithSimpleResponseDTO) { + Column(modifier = Modifier.fillMaxWidth()) { + TopBar(goToAccount, goToHome, stringResource(id = R.string.kahoot)) + KahootPlayer(question) + } +} + +@Preview +@Composable +fun KahootScreenPreview(){ + KahootScreen(goToAccount = {}, goToHome = {}, StubQuestionWithReponses) +} + + +@Preview +@Composable +fun KahootPlayerPreview(){ + KahootPlayer(question = StubQuestionWithReponses) +} + + +@Composable +fun KahootPlayer(question: QuestionWithSimpleResponseDTO){ + Column { + KahootQuestion(question = question.question) + KahootReponses(reponses = question.reponses) + } +} + + +@Composable +fun KahootReponses(reponses : List) { + LazyVerticalGrid(columns = GridCells.Fixed(2)) { + reponses.forEach { + item() { + Text(it.reponse) + } + } + } +} + +@Composable +fun KahootQuestion(question: String){ + Text(question) +} \ No newline at end of file diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 2c76941..3c7e941 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -6,4 +6,5 @@ Mot de passe Compte Pendu + Kahoot \ No newline at end of file