From 455cec10aec149f33f507e0f12aa5566d17f332a Mon Sep 17 00:00:00 2001 From: "arthur.valin" Date: Wed, 27 Sep 2023 11:59:08 +0200 Subject: [PATCH] Doing some refactoring --- .../ui/bet/{betScreen.kt => BetScreen.kt} | 2 +- .../allin/ui/bet/components/BetScreenCard.kt | 109 ++++++++++++ ...PopularCard.kt => BetScreenPopularCard.kt} | 0 .../allin/ui/bet/components/betScreenCard.kt | 165 ------------------ .../{profilePicture.kt => ProfilePicture.kt} | 26 ++- .../{rainbowButton.kt => RainbowButton.kt} | 0 .../allin/ui/core/{statBar.kt => StatBar.kt} | 0 .../BetDateTimeChip.kt} | 8 +- .../allin/ui/core/bet/BetDateTimeRow.kt | 45 +++++ .../allin/ui/core/bet/BetProfilePictureRow.kt | 69 ++++++++ .../allin/ui/core/bet/BetTitleHeader.kt | 65 +++++++ .../login/{loginScreen.kt => LoginScreen.kt} | 0 .../drawer/{drawer.kt => Drawer.kt} | 0 .../drawer/{drawerCell.kt => DrawerCell.kt} | 0 .../{drawerHeader.kt => DrawerHeader.kt} | 0 ...rawerHeaderStat.kt => DrawerHeaderStat.kt} | 0 .../ui/profile/{profile.kt => Profile.kt} | 0 .../{registerScreen.kt => RegisterScreen.kt} | 0 .../{welcomeScreen.kt => WelcomeScreen.kt} | 0 19 files changed, 316 insertions(+), 173 deletions(-) rename src/app/src/main/java/fr/iut/alldev/allin/ui/bet/{betScreen.kt => BetScreen.kt} (98%) create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenCard.kt rename src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/{betScreenPopularCard.kt => BetScreenPopularCard.kt} (100%) delete mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/betScreenCard.kt rename src/app/src/main/java/fr/iut/alldev/allin/ui/core/{profilePicture.kt => ProfilePicture.kt} (72%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/core/{rainbowButton.kt => RainbowButton.kt} (100%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/core/{statBar.kt => StatBar.kt} (100%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/core/{DateTimeChip.kt => bet/BetDateTimeChip.kt} (90%) create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeRow.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetProfilePictureRow.kt create mode 100644 src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetTitleHeader.kt rename src/app/src/main/java/fr/iut/alldev/allin/ui/login/{loginScreen.kt => LoginScreen.kt} (100%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/{drawer.kt => Drawer.kt} (100%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/{drawerCell.kt => DrawerCell.kt} (100%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/{drawerHeader.kt => DrawerHeader.kt} (100%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/{drawerHeaderStat.kt => DrawerHeaderStat.kt} (100%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/profile/{profile.kt => Profile.kt} (100%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/register/{registerScreen.kt => RegisterScreen.kt} (100%) rename src/app/src/main/java/fr/iut/alldev/allin/ui/welcome/{welcomeScreen.kt => WelcomeScreen.kt} (100%) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/betScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt similarity index 98% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/bet/betScreen.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt index a8182ba..11f06d8 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/betScreen.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/BetScreen.kt @@ -70,7 +70,7 @@ fun BetScreen(){ title = "Emre va réussir son TP de CI/CD mercredi?", date = "11 Sept.", time = "13:00", - nbPlayer = 4, + players = List(3){ null }, onClickParticipate = { /* TODO */ }, modifier = Modifier.padding(horizontal = horizontalPadding) ) diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenCard.kt new file mode 100644 index 0000000..52b160c --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenCard.kt @@ -0,0 +1,109 @@ +package fr.iut.alldev.allin.ui.bet.components + +import android.content.res.Configuration +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.* +import androidx.compose.material.ripple.LocalRippleTheme +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.ui.Alignment +import androidx.compose.ui.Alignment.Companion.CenterHorizontally +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.res.pluralStringResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import fr.iut.alldev.allin.R +import fr.iut.alldev.allin.ui.core.AllInCard +import fr.iut.alldev.allin.ui.core.RainbowButton +import fr.iut.alldev.allin.ui.core.bet.BetDateTimeRow +import fr.iut.alldev.allin.ui.core.bet.BetProfilePictureRow +import fr.iut.alldev.allin.ui.core.bet.BetTitleHeader +import fr.iut.alldev.allin.ui.theme.AllInRippleTheme +import fr.iut.alldev.allin.ui.theme.AllInTheme + +@Composable +fun BetScreenCard( + creator: String, + category: String, + title: String, + date: String, + time: String, + players: List, + modifier: Modifier = Modifier, + onClickParticipate: ()->Unit +) { + AllInCard( + modifier = modifier, + radius = 16.dp + ){ + Column( + Modifier.padding(horizontal = 19.dp, vertical = 11.dp) + ) { + BetTitleHeader( + title = title, + category = category, + creator = creator, + modifier = Modifier.fillMaxWidth() + ) + Spacer(modifier = Modifier.height(11.dp)) + BetDateTimeRow(label = stringResource(id = R.string.Starting), date = date, time = time) + } + HorizontalDivider( + thickness = 1.dp, + color = AllInTheme.themeColors.border + ) + Column( + Modifier + .background(AllInTheme.themeColors.background_2) + ) { + Row( + modifier = Modifier + .align(CenterHorizontally) + .padding(7.dp), + verticalAlignment = Alignment.CenterVertically + ){ + BetProfilePictureRow(pictures = players) + Spacer(modifier = Modifier.width(12.dp)) + Text( + text = pluralStringResource( + id = R.plurals.n_players_waiting, + players.size, + players.size + ), + style = AllInTheme.typography.m, + color = AllInTheme.themeColors.on_background_2 + ) + } + CompositionLocalProvider( + LocalRippleTheme provides AllInRippleTheme, + ){ + RainbowButton( + modifier = Modifier.padding(6.dp), + text = stringResource(id = R.string.Participate), + onClick = onClickParticipate + ) + } + } + } +} + +@Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun BetScreenCardPreview() { + AllInTheme { + BetScreenCard( + creator = "Lucas", + category = "Études", + title = "Emre va réussir son TP de CI/CD mercredi?", + date = "12 Sept.", + time = "13:00", + players = List(3){ null }, + onClickParticipate = {} + ) + } +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/betScreenPopularCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenPopularCard.kt similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/betScreenPopularCard.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/BetScreenPopularCard.kt diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/betScreenCard.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/betScreenCard.kt deleted file mode 100644 index 16f3417..0000000 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/bet/components/betScreenCard.kt +++ /dev/null @@ -1,165 +0,0 @@ -package fr.iut.alldev.allin.ui.bet.components - -import android.content.res.Configuration -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.* -import androidx.compose.material.ripple.LocalRippleTheme -import androidx.compose.material3.HorizontalDivider -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.runtime.CompositionLocalProvider -import androidx.compose.runtime.remember -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 -import fr.iut.alldev.allin.ui.theme.AllInTheme - -@Composable -fun BetScreenCard( - creator: String, - category: String, - title: String, - date: String, - time: String, - nbPlayer: Int, - modifier: Modifier = Modifier, - onClickParticipate: ()->Unit -) { - AllInCard( - modifier = modifier, - radius = 16.dp - ){ - Column(Modifier.fillMaxWidth()) { - Row( - Modifier - .align(Alignment.End) - .padding(top = 12.dp, end = 10.dp)) { - HighlightedText( - text = stringResource(id = R.string.Proposed_by_x, creator), - query = creator, - highlightStyle = SpanStyle( - fontWeight = FontWeight.Bold, - color = AllInTheme.themeColors.on_main_surface - ), - fontSize = 12.sp, - style = AllInTheme.typography.s, - color = AllInTheme.themeColors.on_background_2 - ) - } - Column(Modifier.padding(horizontal = 19.dp, vertical = 11.dp)) { - Text( - text = category, - fontSize = 15.sp, - color = AllInTheme.themeColors.on_background_2, - style = AllInTheme.typography.m - ) - Text( - text = title, - fontSize = 20.sp, - color = AllInTheme.themeColors.on_main_surface, - style = AllInTheme.typography.h1 - ) - Spacer(modifier = Modifier.height(11.dp)) - Row( - verticalAlignment = Alignment.CenterVertically, - ) { - Text( - text = stringResource(id = R.string.Starting), - fontSize = 15.sp, - style = AllInTheme.typography.m, - color = AllInTheme.themeColors.on_background_2 - ) - DateTimeChip( - text = date, - modifier = Modifier.padding(horizontal = 8.dp) - ) - DateTimeChip(time) - } - } - HorizontalDivider( - thickness = 1.dp, - color = AllInTheme.themeColors.border - ) - Column( - Modifier - .background(AllInTheme.themeColors.background_2) - ) { - Row( - modifier = Modifier - .align(CenterHorizontally) - .padding(7.dp), - verticalAlignment = Alignment.CenterVertically - ){ - val nRepeat = remember{ - if (nbPlayer > 5) 5 else nbPlayer - } - - Box( - Modifier.width((nRepeat*17).dp) - ){ - repeat(nRepeat) { - ProfilePicture( - size = 35.dp, - modifier = Modifier - .align(CenterEnd) - .offset(x = (it * -17).dp) - .zIndex(-it.toFloat()) - ) - } - } - Spacer(modifier = Modifier.width(12.dp)) - Text( - text = pluralStringResource( - id = R.plurals.n_players_waiting, - nbPlayer, - nbPlayer - ), - style = AllInTheme.typography.m, - color = AllInTheme.themeColors.on_background_2 - ) - } - CompositionLocalProvider( - LocalRippleTheme provides AllInRippleTheme, - ){ - RainbowButton( - modifier = Modifier.padding(6.dp), - text = stringResource(id = R.string.Participate), - onClick = onClickParticipate - ) - } - } - } - } -} - -@Preview -@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun BetScreenCardPreview() { - AllInTheme { - BetScreenCard( - creator = "Lucas", - category = "Études", - title = "Emre va réussir son TP de CI/CD mercredi?", - date = "12 Sept.", - time = "13:00", - nbPlayer = 4, - onClickParticipate = {} - ) - } -} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/profilePicture.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/ProfilePicture.kt similarity index 72% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/core/profilePicture.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/core/ProfilePicture.kt index 496ef93..9acd774 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/profilePicture.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/ProfilePicture.kt @@ -14,10 +14,13 @@ import androidx.compose.material3.Icon 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.painter.Painter +import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import fr.iut.alldev.allin.R import fr.iut.alldev.allin.ui.theme.AllInTheme @Composable @@ -27,9 +30,10 @@ fun ProfilePicture( size: Dp = 80.dp, modifier: Modifier = Modifier ) { + val shape = RoundedCornerShape(100) Card( modifier = modifier.size(size), - shape = RoundedCornerShape(100), + shape = shape, colors = CardDefaults.cardColors(containerColor = AllInTheme.colors.allIn_DarkGrey100), border = borderWidth?.let{BorderStroke(it, AllInTheme.colors.allIn_DarkGrey50)} ) { @@ -38,14 +42,20 @@ fun ProfilePicture( Image( painter = it, contentDescription = null, - modifier = Modifier.align(Alignment.Center).fillMaxSize() + modifier = Modifier + .align(Alignment.Center) + .fillMaxSize() + .clip(shape) ) } ?: run{ Icon( imageVector = Icons.Default.PhotoCamera, tint = AllInTheme.colors.white, contentDescription = null, - modifier = Modifier.align(Alignment.Center).fillMaxSize(0.5f) + modifier = Modifier + .align(Alignment.Center) + .fillMaxSize(0.5f) + .clip(shape) ) } } @@ -59,4 +69,14 @@ private fun ProfilePictureDefaultPreview() { AllInTheme { ProfilePicture() } +} + +@Preview +@Composable +private fun ProfilePicturePreview() { + AllInTheme { + ProfilePicture( + painterResource(id = R.drawable.money_with_wings) + ) + } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/rainbowButton.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/RainbowButton.kt similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/core/rainbowButton.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/core/RainbowButton.kt 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 similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/core/statBar.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/core/StatBar.kt diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/DateTimeChip.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeChip.kt similarity index 90% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/core/DateTimeChip.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeChip.kt index 44f37a7..ac461b6 100644 --- a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/DateTimeChip.kt +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeChip.kt @@ -1,4 +1,4 @@ -package fr.iut.alldev.allin.ui.bet.components +package fr.iut.alldev.allin.ui.core.bet import android.content.res.Configuration import androidx.compose.foundation.BorderStroke @@ -16,7 +16,7 @@ import androidx.compose.ui.unit.dp import fr.iut.alldev.allin.ui.theme.AllInTheme @Composable -fun DateTimeChip( +fun BetDateTimeChip( text: String, modifier: Modifier = Modifier ) { @@ -39,8 +39,8 @@ fun DateTimeChip( @Preview @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable -private fun HomeBetCardDateTimeChipPreview() { +private fun BetDateTimeChipPreview() { AllInTheme { - DateTimeChip("11 Sept.") + BetDateTimeChip("11 Sept.") } } \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeRow.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeRow.kt new file mode 100644 index 0000000..a28cbd9 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetDateTimeRow.kt @@ -0,0 +1,45 @@ +package fr.iut.alldev.allin.ui.core.bet + +import android.content.res.Configuration +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Row +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import fr.iut.alldev.allin.ui.theme.AllInTheme + +@Composable +fun BetDateTimeRow( + label: String, + date: String, + time: String, + modifier: Modifier = Modifier +) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(8.dp), + modifier = modifier + ) { + Text( + text = label, + fontSize = 15.sp, + style = AllInTheme.typography.m, + color = AllInTheme.themeColors.on_background_2 + ) + BetDateTimeChip(date) + BetDateTimeChip(time) + } +} + +@Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun BetDateTimeRowPreview() { + AllInTheme{ + BetDateTimeRow(label = "Commence le", date = "11 Sept.", time = "13:00") + } +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetProfilePictureRow.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetProfilePictureRow.kt new file mode 100644 index 0000000..4b558f7 --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetProfilePictureRow.kt @@ -0,0 +1,69 @@ +package fr.iut.alldev.allin.ui.core.bet + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.offset +import androidx.compose.foundation.layout.width +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.painter.Painter +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.zIndex +import fr.iut.alldev.allin.R +import fr.iut.alldev.allin.ui.core.ProfilePicture +import fr.iut.alldev.allin.ui.theme.AllInTheme + +@Composable +fun BetProfilePictureRow( + pictures: List, + maxLength: Int = 5, + modifier: Modifier = Modifier +) { + val nRepeat = remember{ + if (pictures.size > maxLength) maxLength else pictures.size + } + + Box( + modifier.width((nRepeat*17).dp) + ){ + pictures.forEachIndexed { index, painter -> + ProfilePicture( + image = painter, + size = 35.dp, + modifier = Modifier + .align(Alignment.CenterEnd) + .offset(x = (index * -17).dp) + .zIndex(-index.toFloat()) + ) + } + } +} + +@Preview +@Composable +private fun BetProfilePictureRowPreview() { + AllInTheme { + BetProfilePictureRow(pictures = listOf( + painterResource(id = R.drawable.money_with_wings), + null, + painterResource(id = R.drawable.money_with_wings) + )) + } +} +@Preview +@Composable +private fun BetProfilePictureRowMaxPreview() { + AllInTheme { + BetProfilePictureRow(pictures = listOf( + painterResource(id = R.drawable.money_with_wings), + null, + painterResource(id = R.drawable.money_with_wings), + null, + painterResource(id = R.drawable.money_with_wings), + null + )) + } +} diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetTitleHeader.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetTitleHeader.kt new file mode 100644 index 0000000..5dbdf6b --- /dev/null +++ b/src/app/src/main/java/fr/iut/alldev/allin/ui/core/bet/BetTitleHeader.kt @@ -0,0 +1,65 @@ +package fr.iut.alldev.allin.ui.core.bet + +import android.content.res.Configuration +import androidx.compose.foundation.layout.* +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.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.HighlightedText +import fr.iut.alldev.allin.ui.theme.AllInTheme + +@Composable +fun BetTitleHeader( + title: String, + category: String, + creator: String, + modifier: Modifier = Modifier +) { + Column(modifier) { + Row( + Modifier.align(Alignment.End) + ) { + HighlightedText( + text = stringResource(id = R.string.Proposed_by_x, creator), + query = creator, + highlightStyle = SpanStyle( + fontWeight = FontWeight.Bold, + color = AllInTheme.themeColors.on_main_surface + ), + fontSize = 12.sp, + style = AllInTheme.typography.s, + color = AllInTheme.themeColors.on_background_2 + ) + } + Spacer(modifier = Modifier.height(11.dp)) + Text( + text = category, + fontSize = 15.sp, + color = AllInTheme.themeColors.on_background_2, + style = AllInTheme.typography.m + ) + Text( + text = title, + fontSize = 20.sp, + color = AllInTheme.themeColors.on_main_surface, + style = AllInTheme.typography.h1 + ) + } +} + +@Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun BetTitleHeaderPreview() { + AllInTheme { + BetTitleHeader(title = "Emre va réussir son TP de CI/CD mercredi?", category = "Études", creator = "Lucas") + } +} \ No newline at end of file diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/login/loginScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/login/loginScreen.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/login/LoginScreen.kt 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 similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawer.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/Drawer.kt diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawerCell.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/DrawerCell.kt similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawerCell.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/DrawerCell.kt 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 similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawerHeader.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/DrawerHeader.kt diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawerHeaderStat.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/DrawerHeaderStat.kt similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/drawerHeaderStat.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/navigation/drawer/DrawerHeaderStat.kt diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/profile/profile.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/profile/Profile.kt similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/profile/profile.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/profile/Profile.kt diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/register/registerScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/register/registerScreen.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/register/RegisterScreen.kt diff --git a/src/app/src/main/java/fr/iut/alldev/allin/ui/welcome/welcomeScreen.kt b/src/app/src/main/java/fr/iut/alldev/allin/ui/welcome/WelcomeScreen.kt similarity index 100% rename from src/app/src/main/java/fr/iut/alldev/allin/ui/welcome/welcomeScreen.kt rename to src/app/src/main/java/fr/iut/alldev/allin/ui/welcome/WelcomeScreen.kt