commit
d165f1a39b
@ -0,0 +1,139 @@
|
||||
package com.example.what_the_fantasy.ui.screens
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxHeight
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
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.layout.ContentScale
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.navigation.NavController
|
||||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import com.example.what_the_fantasy.R
|
||||
|
||||
|
||||
@Composable
|
||||
fun QuizAccueil(navController: NavController) {
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.background(Color(0xFF100C1B))
|
||||
.padding(top = 100.dp)
|
||||
) {
|
||||
Spacer(modifier = Modifier.weight(0.1f))
|
||||
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.weight(0.9f)
|
||||
.fillMaxHeight(),
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.size(width = 150.dp, height = 100.dp)
|
||||
.padding(8.dp)
|
||||
.clickable {
|
||||
navController.navigate("quizPage")
|
||||
}
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Quiz 1",
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
contentScale = ContentScale.Crop
|
||||
)
|
||||
}
|
||||
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.size(width = 150.dp, height = 100.dp)
|
||||
.padding(8.dp)
|
||||
.clickable {
|
||||
|
||||
navController.navigate("quizPage")
|
||||
}
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Quiz 2",
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
contentScale = ContentScale.Crop
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.width(10.dp))
|
||||
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.weight(0.9f)
|
||||
.fillMaxHeight(),
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.size(width = 150.dp, height = 100.dp)
|
||||
.padding(8.dp)
|
||||
.clickable {
|
||||
navController.navigate("quizPage")
|
||||
}
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Quiz 3",
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
contentScale = ContentScale.Crop
|
||||
)
|
||||
}
|
||||
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.size(width = 150.dp, height = 100.dp)
|
||||
.padding(8.dp)
|
||||
.clickable {
|
||||
navController.navigate("quizPage")
|
||||
}
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Quiz 4",
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
contentScale = ContentScale.Crop
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.weight(0.1f))
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun QuizApp() {
|
||||
val navController = rememberNavController()
|
||||
|
||||
NavHost(navController = navController, startDestination = "quizEndPage") {
|
||||
composable("quizAccueil") {
|
||||
QuizAccueil(navController = navController)
|
||||
}
|
||||
composable("quizPage") {
|
||||
QuizPage(navController = navController)
|
||||
}
|
||||
composable("quizEndPage") {
|
||||
QuizEndPage(5, 1)
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,163 @@
|
||||
package com.example.what_the_fantasy.ui.screens
|
||||
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.filled.ArrowBack
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.geometry.Offset
|
||||
import androidx.compose.ui.graphics.Brush
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.example.what_the_fantasy.R
|
||||
import com.example.what_the_fantasy.data.local.QuestionStub
|
||||
|
||||
val gradient = Brush.linearGradient(
|
||||
colors = listOf(Color(0xFF7B1FA2), Color(0xFF311B92)),
|
||||
start = Offset(0f, 1000f),
|
||||
end = Offset(1000f, 0f)
|
||||
)
|
||||
|
||||
|
||||
|
||||
@Composable
|
||||
fun QuizEndPage(points: Int, idQuiz: Int) {
|
||||
Column(
|
||||
modifier = Modifier.fillMaxSize().background(Color(0xFF100C1B))
|
||||
) {
|
||||
// Bandeau supérieur
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.weight(0.1f)
|
||||
.background(Color(0xFF300052))
|
||||
.padding(20.dp),
|
||||
horizontalArrangement = Arrangement.SpaceBetween,
|
||||
verticalAlignment = Alignment.CenterVertically
|
||||
) {
|
||||
IconButton(onClick = { }) {
|
||||
Icon(Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Retour", tint = Color.White)
|
||||
}
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Profil",
|
||||
modifier = Modifier.size(50.dp).background(Color.Yellow, CircleShape)
|
||||
)
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Profil",
|
||||
modifier = Modifier.size(50.dp).background(Color.Yellow, CircleShape)
|
||||
)
|
||||
}
|
||||
|
||||
// Contenu principal
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.weight(0.8f)
|
||||
.padding(horizontal = 50.dp, vertical = 20.dp)
|
||||
.fillMaxWidth(),
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
Text(
|
||||
text = "▶ Résultats ◀",
|
||||
color = Color.White,
|
||||
style = TextStyle(fontSize = 25.sp, fontWeight = FontWeight.Bold, textAlign = TextAlign.Center)
|
||||
)
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
Column (
|
||||
modifier = Modifier
|
||||
.background(brush = gradient, shape = RoundedCornerShape(20.dp))
|
||||
.padding(30.dp)
|
||||
.fillMaxSize(),
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
Text (
|
||||
text = "Quiz N°$idQuiz",
|
||||
color = Color.White,
|
||||
style = TextStyle(fontSize = 25.sp, fontWeight = FontWeight.Bold, textAlign = TextAlign.Center)
|
||||
)
|
||||
|
||||
val nbQuestions = QuestionStub.allQuestions.size
|
||||
|
||||
Text (
|
||||
text = "Nombres de Questions : $nbQuestions",
|
||||
color = Color.White,
|
||||
style = TextStyle(fontSize = 15.sp, fontWeight = FontWeight.Bold, textAlign = TextAlign.Center)
|
||||
)
|
||||
Text (
|
||||
text = "Nombres de bonnes réponses : $points",
|
||||
color = Color.White,
|
||||
style = TextStyle(fontSize = 15.sp, fontWeight = FontWeight.Bold, textAlign = TextAlign.Center)
|
||||
)
|
||||
Row (
|
||||
modifier = Modifier
|
||||
.fillMaxWidth(),
|
||||
horizontalArrangement = Arrangement.SpaceAround
|
||||
) {
|
||||
// Bouton Quiz Précédent
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Profil",
|
||||
modifier = Modifier.size(50.dp).background(Color.Yellow, CircleShape)
|
||||
)
|
||||
// Bouton Retour Menu Quiz
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Profil",
|
||||
modifier = Modifier.size(50.dp).background(Color.Yellow, CircleShape)
|
||||
)
|
||||
// Bouton Quiz Suivant
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Profil",
|
||||
modifier = Modifier.size(50.dp).background(Color.Yellow, CircleShape)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Bandeau inférieur
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.weight(0.1f)
|
||||
.background(Color(0xFF300052))
|
||||
.padding(20.dp),
|
||||
horizontalArrangement = Arrangement.SpaceAround,
|
||||
verticalAlignment = Alignment.CenterVertically
|
||||
) {
|
||||
// Bouton Likes
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Bouton",
|
||||
modifier = Modifier.size(50.dp).background(Color.Yellow, CircleShape)
|
||||
)
|
||||
// Bouton WhatTheFantasy
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Bouton",
|
||||
modifier = Modifier.size(50.dp).background(Color.Yellow, CircleShape)
|
||||
)
|
||||
// Bouton Quiz
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.quiz),
|
||||
contentDescription = "Bouton",
|
||||
modifier = Modifier.size(50.dp).background(Color.Yellow, CircleShape)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 13 KiB |
Loading…
Reference in new issue