Small corrections
continuous-integration/drone/push Build is passing Details

pull/3/head
Arthur VALIN 1 year ago
parent 19b76360f4
commit c97bf42cb6

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" />
<bytecodeTargetLevel target="17" />
</component>
</project>

@ -7,6 +7,7 @@
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="Android Studio default JDK" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

@ -40,7 +40,7 @@ class BetVOTest {
//When
composeTestRule.activity.setContent {
AllInTheme{
Bets.bets[0].toBetVO()?.accept(v = visitor)
Bets.bets[0].toBetVO()?.Accept(v = visitor)
}
}
//Expect
@ -55,7 +55,7 @@ class BetVOTest {
//When
composeTestRule.activity.setContent {
AllInTheme{
Bets.bets[1].toBetVO()?.accept(v = visitor)
Bets.bets[1].toBetVO()?.Accept(v = visitor)
}
}
//Expect

@ -10,12 +10,12 @@ import fr.iut.alldev.allin.test.TestTags
class BetTestVisitor : DisplayBetVisitor {
@Composable
override fun visitYesNoBet(b: YesNoBet) {
override fun VisitYesNoBet(b: YesNoBet) {
Text("This is a YesNo Bet", Modifier.testTag(TestTags.YES_NO_BET.tag))
}
@Composable
override fun visitMatchBet(b: MatchBet) {
override fun VisitMatchBet(b: MatchBet) {
Text("This is a Match Bet", Modifier.testTag(TestTags.MATCH_BET.tag))
}
}

@ -51,7 +51,7 @@ fun BetStatusBottomSheet(
Column(
Modifier.fillMaxHeight(SHEET_HEIGHT)
) {
bet?.accept(visitor)
bet?.Accept(visitor)
}
}
}

@ -11,10 +11,7 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.Text
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
@ -28,6 +25,7 @@ import fr.iut.alldev.allin.data.model.bet.MatchBet
import fr.iut.alldev.allin.data.model.bet.YesNoBet
import fr.iut.alldev.allin.ext.getDateEndLabel
import fr.iut.alldev.allin.ext.getDateStartLabel
import fr.iut.alldev.allin.theme.AllInTheme
import fr.iut.alldev.allin.ui.betstatus.components.BetStatusParticipationBottomSheet
import fr.iut.alldev.allin.ui.betstatus.components.BetStatusWinner
import fr.iut.alldev.allin.ui.betstatus.components.YesNoDetailsLine
@ -36,13 +34,12 @@ import fr.iut.alldev.allin.ui.core.AllInDetailsDrawer
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.BetTitleHeader
import fr.iut.alldev.allin.theme.AllInTheme
import fr.iut.alldev.allin.vo.bet.factory.toBetVO
import fr.iut.alldev.allin.vo.bet.visitor.DisplayBetVisitor
import java.time.ZonedDateTime
class BetStatusBottomSheetDisplayBetVisitor(
val userCoinAmount: MutableState<Int>,
val userCoinAmount: MutableIntState,
val onParticipate: (Int)->Unit
) : DisplayBetVisitor {
@ -51,7 +48,7 @@ class BetStatusBottomSheetDisplayBetVisitor(
@OptIn(ExperimentalMaterial3Api::class)
@Composable
override fun visitYesNoBet(b: YesNoBet) {
override fun VisitYesNoBet(b: YesNoBet) {
val (participateSheetVisibility, setParticipateSheetVisibility) = remember{
this.participateBottomSheetVisibility
@ -154,7 +151,7 @@ class BetStatusBottomSheetDisplayBetVisitor(
sheetVisibility = participateSheetVisibility && b.betStatus == BetStatus.WAITING,
safeBottomPadding = safeBottomPadding,
betPhrase = b.phrase,
coinAmount = userCoinAmount.value,
coinAmount = userCoinAmount.intValue,
onDismiss = { setParticipateSheetVisibility(false) },
state = rememberModalBottomSheetState()
){
@ -162,7 +159,7 @@ class BetStatusBottomSheetDisplayBetVisitor(
}
}
@Composable
override fun visitMatchBet(b: MatchBet) {
override fun VisitMatchBet(b: MatchBet) {
Text("This is a MATCH BET")
}
}
@ -172,6 +169,7 @@ class BetStatusBottomSheetDisplayBetVisitor(
@Composable
private fun YesNoBetPreview() {
AllInTheme {
val coins = remember { mutableIntStateOf(100) }
YesNoBet(
theme = "Theme",
phrase = "Phrase",
@ -179,20 +177,20 @@ private fun YesNoBetPreview() {
endBetDate = ZonedDateTime.now(),
isPublic = true,
betStatus = BetStatus.IN_PROGRESS
).toBetVO()?.accept(
).toBetVO()?.Accept(
BetStatusBottomSheetDisplayBetVisitor(
userCoinAmount = mutableStateOf(100),
userCoinAmount = coins,
onParticipate = {}
)
)
}
}
@Preview
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
private fun YesNoBetFinishedPreview() {
AllInTheme {
val coins = remember { mutableIntStateOf(100) }
YesNoBet(
theme = "Theme",
phrase = "Phrase",
@ -200,9 +198,9 @@ private fun YesNoBetFinishedPreview() {
endBetDate = ZonedDateTime.now(),
isPublic = true,
betStatus = BetStatus.FINISHED
).toBetVO()?.accept(
).toBetVO()?.Accept(
BetStatusBottomSheetDisplayBetVisitor(
userCoinAmount = mutableStateOf(100),
userCoinAmount = coins,
onParticipate = {}
)
)
@ -214,6 +212,7 @@ private fun YesNoBetFinishedPreview() {
@Composable
private fun MatchBetPreview() {
AllInTheme {
val coins = remember { mutableIntStateOf(100) }
MatchBet(
theme = "Theme",
phrase = "Phrase",
@ -223,9 +222,9 @@ private fun MatchBetPreview() {
betStatus = BetStatus.IN_PROGRESS,
nameTeam1 = "Team 1",
nameTeam2 = "Team 2"
).toBetVO()?.accept(
).toBetVO()?.Accept(
BetStatusBottomSheetDisplayBetVisitor(
userCoinAmount = mutableStateOf(100),
userCoinAmount = coins,
onParticipate = {}
)
)

@ -30,8 +30,8 @@ import racra.compose.smooth_corner_rect_library.AbsoluteSmoothCornerShape
fun AllInTextField(
placeholder: String,
value: String,
maxChar: Int? = null,
modifier: Modifier = Modifier,
maxChar: Int? = null,
enabled: Boolean = true,
trailingIcon: ImageVector? = null,
trailingContent: @Composable (() -> Unit)? = null,
@ -57,7 +57,10 @@ fun AllInTextField(
}
LaunchedEffect(key1 = value, block = {
textFieldValue = TextFieldValue(text = value, selection = TextRange(value.length))
textFieldValue = TextFieldValue(
text = value,
selection = textFieldValue.selection
)
})
OutlinedTextField(
@ -71,7 +74,8 @@ fun AllInTextField(
bringIntoViewRequester.bringIntoView()
}
}
},
}
,
supportingText = errorText?.let {
{ AllInErrorLine(text = it) }
},

@ -1,5 +1,6 @@
package fr.iut.alldev.allin.ui.main
import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
@ -13,7 +14,7 @@ import kotlinx.coroutines.withContext
import javax.inject.Inject
class UserState(val user: User){
val userCoins = mutableStateOf(user.coins)
val userCoins = mutableIntStateOf(user.coins)
}
@HiltViewModel
@ -32,7 +33,7 @@ class MainViewModel @Inject constructor(
viewModelScope.launch {
withContext(Dispatchers.IO) {
loading.value = true
currentUserState.userCoins.value += 50
currentUserState.userCoins.intValue += 50
Thread.sleep(1000)
loading.value = false
}

@ -4,5 +4,5 @@ import androidx.compose.runtime.Composable
interface ViewObject<V : Visitor>{
@Composable
fun accept(v: V)
fun Accept(v: V)
}

@ -10,19 +10,19 @@ import fr.iut.alldev.allin.vo.bet.visitor.DisplayBetVisitor
abstract class BetVO<T: Bet>(val bet: T)
: ViewObject<DisplayBetVisitor> {
@Composable
abstract override fun accept(v: DisplayBetVisitor)
abstract override fun Accept(v: DisplayBetVisitor)
}
class YesNoBetVO(bet: YesNoBet) : BetVO<YesNoBet>(bet){
@Composable
override fun accept(v: DisplayBetVisitor){
v.visitYesNoBet(b = bet)
override fun Accept(v: DisplayBetVisitor){
v.VisitYesNoBet(b = bet)
}
}
class MatchBetVO(bet: MatchBet) : BetVO<MatchBet>(bet){
@Composable
override fun accept(v: DisplayBetVisitor){
v.visitMatchBet(b = bet)
override fun Accept(v: DisplayBetVisitor){
v.VisitMatchBet(b = bet)
}
}

@ -8,8 +8,8 @@ import fr.iut.alldev.allin.vo.Visitor
interface DisplayBetVisitor : Visitor {
@Composable
fun visitYesNoBet(b: YesNoBet)
fun VisitYesNoBet(b: YesNoBet)
@Composable
fun visitMatchBet(b: MatchBet)
fun VisitMatchBet(b: MatchBet)
}
Loading…
Cancel
Save