diff --git a/src/app/build.gradle b/src/app/build.gradle
index da5a0f4..2972a14 100644
--- a/src/app/build.gradle
+++ b/src/app/build.gradle
@@ -63,6 +63,7 @@ dependencies {
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
+ implementation("androidx.core:core-splashscreen:1.0.1")
implementation 'com.github.racra:smooth-corner-rect-android-compose:v1.0.0'
diff --git a/src/app/src/main/AndroidManifest.xml b/src/app/src/main/AndroidManifest.xml
index efa2528..207fd85 100644
--- a/src/app/src/main/AndroidManifest.xml
+++ b/src/app/src/main/AndroidManifest.xml
@@ -14,11 +14,9 @@
-
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/HighlightedText.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/HighlightedText.kt
new file mode 100644
index 0000000..39f1893
--- /dev/null
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/HighlightedText.kt
@@ -0,0 +1,72 @@
+package fr.iut.alldev.allin.ui.core
+
+import androidx.compose.material3.LocalTextStyle
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.buildAnnotatedString
+import androidx.compose.ui.text.font.FontStyle
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.withStyle
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.TextUnit
+import fr.iut.alldev.allin.ui.theme.AllInTheme
+
+
+@Composable
+fun HighlightedText(
+ text: String,
+ query: String,
+ highlightStyle: SpanStyle,
+ fontSize: TextUnit = TextUnit.Unspecified,
+ fontStyle: FontStyle? = null,
+ fontWeight: FontWeight? = null,
+ modifier: Modifier = Modifier,
+ color: Color = Color.Unspecified,
+ textAlign: TextAlign? = null,
+ style: TextStyle = LocalTextStyle.current
+) {
+ Text(
+ buildAnnotatedString {
+ val startIndex = text.indexOf(query)
+ val endIndex = startIndex + query.length
+ if (startIndex != -1) {
+ append(text.substring(0, startIndex))
+ withStyle(highlightStyle) {
+ append(text.substring(startIndex, endIndex))
+ }
+ append(text.substring(endIndex))
+ } else {
+ append(text)
+ }
+ },
+ color = color,
+ fontSize = fontSize,
+ fontStyle = fontStyle,
+ modifier = modifier,
+ fontWeight = fontWeight,
+ textAlign = textAlign,
+ style = style
+ )
+}
+
+
+@Preview
+@Composable
+private fun HighlightedTextPreview() {
+ AllInTheme {
+ HighlightedText(
+ text = "Hello World !",
+ query = "World",
+ highlightStyle = SpanStyle(
+ fontWeight = FontWeight.Bold,
+ color = Color.Red
+ ),
+ color = Color.White
+ )
+ }
+}
\ No newline at end of file
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/statBar.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/statBar.kt
new file mode 100644
index 0000000..33f32d5
--- /dev/null
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/statBar.kt
@@ -0,0 +1,158 @@
+package fr.iut.alldev.allin.ui.core
+
+import androidx.compose.foundation.Image
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.*
+import androidx.compose.foundation.shape.AbsoluteRoundedCornerShape
+import androidx.compose.material3.Icon
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
+import fr.iut.alldev.allin.R
+import fr.iut.alldev.allin.ui.theme.AllInTheme
+
+@Composable
+fun StatBar(
+ percentage: Float
+) {
+ val radius100percent = if(percentage==1f) 50 else 0
+ val radius0percent = if(percentage==0f) 50 else 0
+ Box(
+ Modifier.padding(horizontal = 9.dp)
+ ){
+ Row(
+ Modifier.align(Alignment.Center)
+ ){
+ Box(
+ modifier = Modifier
+ .height(20.dp)
+ .fillMaxWidth(percentage)
+ .clip(
+ AbsoluteRoundedCornerShape(
+ topLeftPercent = 50,
+ bottomLeftPercent = 50,
+ topRightPercent = radius100percent,
+ bottomRightPercent = radius100percent
+ )
+ )
+ .background(AllInTheme.colors.allIn_Bar1stGradient)
+
+ ){
+ Text(
+ modifier = Modifier
+ .align(Alignment.CenterStart)
+ .padding(start = 15.dp),
+ text = "OUI",
+ style = AllInTheme.typography.h2,
+ textAlign = TextAlign.Center,
+ fontSize = 25.sp,
+ color = Color.White.copy(alpha = 0.3f),
+ )
+ }
+ if(percentage!=0f && percentage!=1f) {
+ Spacer(modifier = Modifier.width(15.dp))
+ }
+ Box(
+ modifier = Modifier
+ .height(20.dp)
+ .fillMaxWidth()
+ .clip(
+ AbsoluteRoundedCornerShape(
+ topLeftPercent = radius0percent,
+ bottomLeftPercent = radius0percent,
+ topRightPercent = 50,
+ bottomRightPercent = 50
+ )
+ )
+ .background(AllInTheme.colors.allIn_Bar2ndGradient)
+ )
+ }
+ Box(
+ Modifier
+ .fillMaxWidth()
+ .align(Alignment.Center)
+ ) {
+ when (percentage) {
+ 0f -> {
+ Icon(
+ painter = painterResource(id = R.drawable.fire_solid),
+ tint = AllInTheme.colors.allIn_BarPink,
+ contentDescription = null,
+ modifier = Modifier
+ .size(32.dp)
+ )
+ }
+ 1f -> {
+ Icon(
+ painter = painterResource(id = R.drawable.fire_solid),
+ tint = AllInTheme.colors.allIn_BarPurple,
+ contentDescription = null,
+ modifier = Modifier
+ .align(Alignment.CenterEnd)
+ .size(32.dp)
+ )
+ }
+ else -> {
+ Row {
+ Spacer(modifier = Modifier.fillMaxWidth(percentage))
+ Image(
+ painter = painterResource(id = R.drawable.bar_flame),
+ contentDescription = null,
+ modifier = Modifier
+ .size(32.dp)
+ .offset(x = (-9).dp)
+ )
+ }
+ }
+ }
+ }
+ }
+}
+
+@Preview
+@Composable
+private fun StatBar0Preview() {
+ AllInTheme {
+ StatBar(percentage = 0f)
+ }
+}
+
+@Preview
+@Composable
+private fun StatBar33Preview() {
+ AllInTheme {
+ StatBar(percentage = 0.33f)
+ }
+}
+
+@Preview
+@Composable
+private fun StatBar50Preview() {
+ AllInTheme {
+ StatBar(percentage = 0.5f)
+ }
+}
+
+@Preview
+@Composable
+private fun StatBar66Preview() {
+ AllInTheme {
+ StatBar(percentage = 0.66f)
+ }
+}
+
+@Preview
+@Composable
+private fun StatBar100Preview() {
+ AllInTheme {
+ StatBar(percentage = 1f)
+ }
+}
\ No newline at end of file
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/home/components/homeBetCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/home/components/homeBetCard.kt
index e623baa..bb9a6dc 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/home/components/homeBetCard.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/home/components/homeBetCard.kt
@@ -11,12 +11,17 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Alignment.Companion.CenterEnd
import androidx.compose.ui.Alignment.Companion.CenterHorizontally
import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.pluralStringResource
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.text.SpanStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.zIndex
+import fr.iut.alldev.allin.R
import fr.iut.alldev.allin.ui.core.AllInCard
+import fr.iut.alldev.allin.ui.core.HighlightedText
import fr.iut.alldev.allin.ui.core.ProfilePicture
import fr.iut.alldev.allin.ui.core.RainbowButton
import fr.iut.alldev.allin.ui.theme.AllInRippleTheme
@@ -42,18 +47,14 @@ fun HomeBetCard(
Modifier
.align(Alignment.End)
.padding(top = 12.dp, end = 10.dp)) {
- Text(
+ HighlightedText(
+ text = stringResource(id = R.string.Proposed_by_x, creator),
+ query = creator,
+ highlightStyle = SpanStyle(fontWeight = FontWeight.Bold, color = AllInTheme.colors.allIn_Dark),
fontSize = 12.sp,
- text = "proposé par ",
style = AllInTheme.typography.s,
color = AllInTheme.colors.allIn_LightGrey300
)
- Text(
- fontSize = 12.sp,
- text = creator,
- fontWeight = FontWeight.W600,
- style = AllInTheme.typography.m
- )
}
Column(Modifier.padding(horizontal = 19.dp, vertical = 11.dp)) {
Text(
@@ -72,7 +73,7 @@ fun HomeBetCard(
verticalAlignment = Alignment.CenterVertically,
) {
Text(
- text = "Commence le",
+ text = stringResource(id = R.string.Starting),
fontSize = 15.sp,
style = AllInTheme.typography.m,
color = AllInTheme.colors.allIn_LightGrey300,
@@ -114,7 +115,11 @@ fun HomeBetCard(
}
Spacer(modifier = Modifier.width(12.dp))
Text(
- text = "$nbPlayer joueurs en attente",
+ text = pluralStringResource(
+ id = R.plurals.n_players_waiting,
+ nbPlayer,
+ nbPlayer
+ ),
style = AllInTheme.typography.m,
color = AllInTheme.colors.allIn_LightGrey300
)
@@ -124,7 +129,7 @@ fun HomeBetCard(
){
RainbowButton(
modifier = Modifier.padding(6.dp),
- text = "Participer",
+ text = stringResource(id = R.string.Participate),
onClick = onClickParticipate
)
}
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/home/components/homePopularCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/home/components/homePopularCard.kt
index 8b3e852..2ee9aa4 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/home/components/homePopularCard.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/home/components/homePopularCard.kt
@@ -9,17 +9,24 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.res.pluralStringResource
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.text.SpanStyle
+import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import fr.iut.alldev.allin.R
import fr.iut.alldev.allin.ui.core.AllInCard
+import fr.iut.alldev.allin.ui.core.HighlightedText
import fr.iut.alldev.allin.ui.theme.AllInTheme
+import kotlin.math.ceil
@Composable
fun HomePopularCards(
nbPlayers: Int,
- points: String,
+ points: Float,
+ pointUnit: String,
title: String,
modifier: Modifier = Modifier
) {
@@ -46,7 +53,7 @@ fun HomePopularCards(
)
Spacer(modifier = Modifier.width(3.dp))
Text(
- text = "Populaire",
+ text = stringResource(id = R.string.Popular),
color = AllInTheme.colors.allIn_Pink,
fontSize = 17.sp,
style = AllInTheme.typography.h2
@@ -60,27 +67,43 @@ fun HomePopularCards(
modifier = Modifier.padding(vertical = 22.dp)
)
Row(modifier = Modifier.align(alignment = Alignment.CenterHorizontally)) {
- Text(
- text = nbPlayers.toString(),
- color = AllInTheme.colors.allIn_Pink,
- fontSize = 15.sp,
- style = AllInTheme.typography.h2
- )
- Text(
- text = " joueurs - ",
+ HighlightedText(
+ text = pluralStringResource(
+ id = R.plurals.n_players,
+ nbPlayers,
+ nbPlayers
+ ),
+ query = nbPlayers.toString(),
+ highlightStyle = SpanStyle(
+ fontWeight = FontWeight.Bold,
+ color = AllInTheme.colors.allIn_Pink
+ ),
color = AllInTheme.colors.white,
style = AllInTheme.typography.r,
fontSize = 15.sp
)
-
Text(
- text = points,
- color = AllInTheme.colors.allIn_Pink,
- fontSize = 15.sp,
- style = AllInTheme.typography.h2
+ text = " - ",
+ color = AllInTheme.colors.white,
+ style = AllInTheme.typography.r,
+ fontSize = 15.sp
)
- Text(
- text = " points en jeu",
+ val pointsText = if (points % 1 == 0f){
+ stringResource(id = R.string.int_and_unit, points.toInt(), pointUnit)
+ }else{
+ stringResource(id = R.string.float_and_unit, points, pointUnit)
+ }
+ HighlightedText(
+ text = pluralStringResource(
+ id = R.plurals.n_points_at_stake,
+ if(pointUnit.isEmpty()) ceil(points).toInt() else 2,
+ pointsText
+ ),
+ query = pointsText,
+ highlightStyle = SpanStyle(
+ fontWeight = FontWeight.Bold,
+ color = AllInTheme.colors.allIn_Pink
+ ),
color = AllInTheme.colors.white,
style = AllInTheme.typography.r,
fontSize = 15.sp
@@ -96,6 +119,24 @@ fun HomePopularCards(
@Composable
private fun HomePopularCardsPreview() {
AllInTheme {
- HomePopularCards(nbPlayers = 12, points = "2.35k", title = "Emre va réussir son TP de CI/CD mercredi?")
+ HomePopularCards(
+ nbPlayers = 12,
+ points = 2.35f,
+ pointUnit = "k",
+ title = "Emre va réussir son TP de CI/CD mercredi?"
+ )
+ }
+}
+
+@Preview
+@Composable
+private fun HomePopularCardsSingularPreview() {
+ AllInTheme {
+ HomePopularCards(
+ nbPlayers = 1,
+ points = 1.0f,
+ pointUnit = "",
+ title = "Emre va réussir son TP de CI/CD mercredi?"
+ )
}
}
\ No newline at end of file
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/home/home.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/home/home.kt
index 03f9f36..b0db113 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/home/home.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/home/home.kt
@@ -10,7 +10,9 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
+import fr.iut.alldev.allin.R
import fr.iut.alldev.allin.ui.core.AllInChip
import fr.iut.alldev.allin.ui.home.components.HomeBetCard
import fr.iut.alldev.allin.ui.home.components.HomePopularCards
@@ -29,7 +31,8 @@ fun Home(){
.padding(horizontal = horizontalPadding)
.padding(top = 23.dp),
nbPlayers = 12,
- points = "2.35k",
+ points = 2.35f,
+ pointUnit = "k",
title = "Emre va réussir son TP de CI/CD mercredi?"
)
}
@@ -51,7 +54,7 @@ fun Home(){
items(items) {
var isSelected by remember { mutableStateOf(false) }
AllInChip(
- text = it,
+ text = stringResource(id = it),
isSelected = isSelected,
onClick = { isSelected = !isSelected })
}
@@ -77,8 +80,8 @@ fun Home(){
}
val items = listOf(
- "Public",
- "En cours",
- "Invitation",
- "Terminés"
+ R.string.Public,
+ R.string.Invitation,
+ R.string.Current,
+ R.string.Finished
)
\ No newline at end of file
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawer.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawer.kt
index ddd7cc0..e0819fd 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawer.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawer.kt
@@ -11,6 +11,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.navigation.NavHostController
import androidx.navigation.compose.rememberNavController
@@ -25,32 +26,32 @@ import kotlin.math.abs
sealed class TopLevelDestination(
val route: String,
- val title: String,
- val subtitle: String,
+ val title: Int,
+ val subtitle: Int,
val emoji: Int
) {
object BET : TopLevelDestination(
route = Routes.BET,
- title = "CREER UN BET",
- subtitle = "Créez un nouveau BET et faites participer vos amis.",
+ title = R.string.create_a_bet,
+ subtitle = R.string.create_a_bet_subtitle,
emoji = R.drawable.video_game
)
object BET_HISTORY : TopLevelDestination(
route = Routes.BET_HISTORY,
- title = "HISTORIQUE DES BETS",
- subtitle = "Consultez vos paris en cours et terminés.",
+ title = R.string.bet_history,
+ subtitle = R.string.bet_history_subtitle,
emoji = R.drawable.eyes
)
object FRIENDS : TopLevelDestination(
route = Routes.FRIENDS,
- title = "AMIS",
- subtitle = "Défiez vos porches en les ajoutant en amis.",
+ title = R.string.friends,
+ subtitle = R.string.friends_subtitle,
emoji = R.drawable.holding_hands
)
object CURRENT_BETS : TopLevelDestination(
route = Routes.CURRENT_BETS,
- title = "BETS EN COURS",
- subtitle = "Gérez vos bets et récompensez les gagnants.",
+ title = R.string.current_bets,
+ subtitle = R.string.current_bets_subtitle,
emoji = R.drawable.money_with_wings
)
}
@@ -103,8 +104,8 @@ fun AllInDrawer(
)
topLevelDestinations.forEach { item ->
DrawerCell(
- title = item.title,
- subtitle = item.subtitle,
+ title = stringResource(item.title).uppercase(),
+ subtitle = stringResource(item.subtitle),
emoji = painterResource(id = item.emoji),
onClick = { scope.launch { drawerState.close() }
navController.navigate(item.route){
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawerHeader.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawerHeader.kt
index 9959007..d2477e0 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawerHeader.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawerHeader.kt
@@ -5,10 +5,12 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
+import fr.iut.alldev.allin.R
import fr.iut.alldev.allin.ui.core.ProfilePicture
import fr.iut.alldev.allin.ui.theme.AllInTheme
@@ -37,12 +39,14 @@ fun DrawerHeader(
)
Spacer(modifier = Modifier.height(28.dp))
Row(
- modifier = Modifier.fillMaxWidth().padding(horizontal = 69.dp),
+ modifier = Modifier
+ .fillMaxWidth()
+ .padding(horizontal = 69.dp),
horizontalArrangement = Arrangement.SpaceBetween
) {
- DrawerHeaderStat(label = "Bets", value = nbBets)
- DrawerHeaderStat(label = "Meilleur gain", value = bestWin)
- DrawerHeaderStat(label = "Amis", value = nbFriends)
+ DrawerHeaderStat(label = stringResource(id = R.string.bets), value = nbBets)
+ DrawerHeaderStat(label = stringResource(id = R.string.best_win), value = bestWin)
+ DrawerHeaderStat(label = stringResource(id = R.string.friends), value = nbFriends)
}
}
}
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/theme/Color.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/theme/Color.kt
index a26fd75..e71c358 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/theme/Color.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/theme/Color.kt
@@ -21,7 +21,11 @@ data class AllInColors(
val allIn_Pink: Color,
val allIn_Purple: Color,
val allIn_Blue: Color,
+ val allIn_BarPurple: Color,
+ val allIn_BarPink: Color,
val allIn_MainGradient: Brush,
+ val allIn_Bar1stGradient: Brush,
+ val allIn_Bar2ndGradient: Brush,
val allIn_TextGradient: Brush
)
@@ -39,6 +43,8 @@ internal val LocalColors = staticCompositionLocalOf {
white = Color.Unspecified,
allIn_Pink = Color.Unspecified,
allIn_Purple = Color.Unspecified,
+ allIn_BarPurple = Color.Unspecified,
+ allIn_BarPink = Color.Unspecified,
allIn_Blue = Color.Unspecified,
allIn_MainGradient = Brush.linearGradient(
@@ -48,6 +54,14 @@ internal val LocalColors = staticCompositionLocalOf {
start = Offset(0f, Float.POSITIVE_INFINITY),
end = Offset(Float.POSITIVE_INFINITY, 0f)
),
+ allIn_Bar1stGradient = Brush.horizontalGradient(
+ 0.0f to Color(0xFF2599F8),
+ 1.0f to Color(0xFF846AC9)
+ ),
+ allIn_Bar2ndGradient = Brush.horizontalGradient(
+ 0.0f to Color(0xFFFE2B8A),
+ 1.0f to Color(0xFFC249A8)
+ ),
allIn_TextGradient = Brush.horizontalGradient(
0.0f to Color(0xFFF876C1),
1.0f to Color(0xFF2399F8)
diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/theme/Theme.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/theme/Theme.kt
index fe453be..f78319d 100644
--- a/src/app/src/main/java/fr/iut/alldev/allin/ui/theme/Theme.kt
+++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/theme/Theme.kt
@@ -30,6 +30,8 @@ fun AllInTheme(
white = Color(0xFFFFFFFF),
allIn_Pink = Color(0xFFFF2A89),
allIn_Purple = Color(0xFF7D79FF),
+ allIn_BarPurple = Color(0xFF846AC9),
+ allIn_BarPink = Color(0xFFFE2B8A),
allIn_Blue = Color(0xFF6a89fa),
allIn_MainGradient = Brush.linearGradient(
@@ -39,6 +41,14 @@ fun AllInTheme(
start = Offset(0f, Float.POSITIVE_INFINITY),
end = Offset(Float.POSITIVE_INFINITY, 0f)
),
+ allIn_Bar1stGradient = Brush.horizontalGradient(
+ 0.0f to Color(0xFF2599F8),
+ 1.0f to Color(0xFF846AC9)
+ ),
+ allIn_Bar2ndGradient = Brush.horizontalGradient(
+ 0.0f to Color(0xFFFE2B8A),
+ 1.0f to Color(0xFFC249A8)
+ ),
allIn_TextGradient = Brush.horizontalGradient(
0.0f to Color(0xFFF876C1),
1.0f to Color(0xFF2399F8)
diff --git a/src/app/src/main/res/drawable/bar_flame.png b/src/app/src/main/res/drawable/bar_flame.png
new file mode 100644
index 0000000..a28d776
Binary files /dev/null and b/src/app/src/main/res/drawable/bar_flame.png differ
diff --git a/src/app/src/main/res/drawable/fire_solid.xml b/src/app/src/main/res/drawable/fire_solid.xml
new file mode 100644
index 0000000..2ac88c2
--- /dev/null
+++ b/src/app/src/main/res/drawable/fire_solid.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/src/app/src/main/res/drawable/main_gradient.xml b/src/app/src/main/res/drawable/main_gradient.xml
new file mode 100644
index 0000000..fe24bfb
--- /dev/null
+++ b/src/app/src/main/res/drawable/main_gradient.xml
@@ -0,0 +1,10 @@
+
+
+
+
diff --git a/src/app/src/main/res/values-fr/strings.xml b/src/app/src/main/res/values-fr/strings.xml
new file mode 100644
index 0000000..dbaf646
--- /dev/null
+++ b/src/app/src/main/res/values-fr/strings.xml
@@ -0,0 +1,38 @@
+
+
+
+ Bets
+ Meilleur gain
+ Amis
+ Créer un bet
+ Créez un nouveau bet et faites participer vos amis.
+ Historique des bets
+ Consultez vos paris en cours et terminés.
+ Défiez vos porches en les ajoutant en amis.
+ Bets en cours
+ Gérez vos bets et récompensez les gagnants.
+
+ Populaire
+ Public
+ Invitation
+ En cours
+ Terminés
+ Commence le
+ Participer
+ Proposé par %1$s
+
+ - %d joueur en attente
+ - %d joueurs en attente
+ - %d joueurs en attente
+
+
+ - %d joueur
+ - %d joueurs
+ - %d joueurs
+
+
+ - %s point en jeu
+ - %s points en jeu
+ - %s points en jeu
+
+
\ No newline at end of file
diff --git a/src/app/src/main/res/values-v31/themes.xml b/src/app/src/main/res/values-v31/themes.xml
new file mode 100644
index 0000000..69c4996
--- /dev/null
+++ b/src/app/src/main/res/values-v31/themes.xml
@@ -0,0 +1,6 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/app/src/main/res/values/colors.xml b/src/app/src/main/res/values/colors.xml
index 55344e5..89c56b6 100644
--- a/src/app/src/main/res/values/colors.xml
+++ b/src/app/src/main/res/values/colors.xml
@@ -1,3 +1,3 @@
-
+
\ No newline at end of file
diff --git a/src/app/src/main/res/values/strings.xml b/src/app/src/main/res/values/strings.xml
index 0fbba00..63ccabd 100644
--- a/src/app/src/main/res/values/strings.xml
+++ b/src/app/src/main/res/values/strings.xml
@@ -1,3 +1,38 @@
- allin
+
+ Allin
+ %.2g%s
+ %d%s
+
+ Bets
+ Best win
+ Friends
+ Create a bet
+ Create a net bet and get your friends participating.
+ Bet history
+ View your current and finished bets.
+ Challenge your folks by adding them as friends.
+ Current bets
+ Manage your bets and reward the winners.
+
+ Popular
+ Public
+ Invitation
+ Current
+ Finished
+ Starting
+ Participate
+ Proposed by %1$s
+
+ - %d player waiting
+ - %d players waiting
+
+
+ - %d player
+ - %d players
+
+
+ - %s point at stake
+ - %s points at stake
+
\ No newline at end of file
diff --git a/src/app/src/main/res/values/themes.xml b/src/app/src/main/res/values/themes.xml
index 93f209f..5cdfcb2 100644
--- a/src/app/src/main/res/values/themes.xml
+++ b/src/app/src/main/res/values/themes.xml
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/src/data/build.gradle b/src/data/build.gradle
index bf52385..bed0e47 100644
--- a/src/data/build.gradle
+++ b/src/data/build.gradle
@@ -32,7 +32,7 @@ android {
dependencies {
- implementation 'androidx.core:core-ktx:1.7.0'
+ implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
testImplementation 'junit:junit:4.13.2'