Fix navigation bars paddings
continuous-integration/drone/push Build is passing Details

pull/5/head
avalin 1 year ago
parent 45883c2008
commit c0442243a8

@ -0,0 +1,39 @@
package fr.iut.alldev.allin.ext
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.calculateEndPadding
import androidx.compose.foundation.layout.calculateStartPadding
import androidx.compose.runtime.Composable
import androidx.compose.runtime.ReadOnlyComposable
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
@ReadOnlyComposable
@Composable
operator fun PaddingValues.plus(paddingValues: PaddingValues): PaddingValues {
val direction = LocalLayoutDirection.current
return PaddingValues(
top = this.calculateTopPadding() + paddingValues.calculateTopPadding(),
bottom = this.calculateBottomPadding() + paddingValues.calculateBottomPadding(),
start = this.calculateStartPadding(direction) + paddingValues.calculateStartPadding(direction),
end = this.calculateEndPadding(direction) + paddingValues.calculateEndPadding(direction),
)
}
@ReadOnlyComposable
@Composable
fun WindowInsets.asPaddingValues(top: Dp = 0.dp, bottom: Dp = 0.dp, start: Dp = 0.dp, end: Dp = 0.dp): PaddingValues
= this.asPaddingValues() + PaddingValues(start, top, end, bottom)
@ReadOnlyComposable
@Composable
fun WindowInsets.asPaddingValues(horizontal: Dp = 0.dp, vertical: Dp = 0.dp): PaddingValues
= this.asPaddingValues() + PaddingValues(horizontal, vertical)
@ReadOnlyComposable
@Composable
fun WindowInsets.asPaddingValues(all: Dp = 0.dp): PaddingValues
= this.asPaddingValues() + PaddingValues(all)

@ -7,9 +7,11 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.LazyRow
@ -59,7 +61,8 @@ fun BetScreen(
.pullRefresh(pullRefreshState)
.padding(top = with(LocalDensity.current) {
progressAnimation.toDp()
})
}),
contentPadding = WindowInsets.navigationBars.asPaddingValues()
) {
item {
Box(
@ -122,10 +125,6 @@ fun BetScreen(
Spacer(modifier = Modifier.height(24.dp))
}
}
item {
Spacer(modifier = Modifier.navigationBarsPadding())
}
}
}

@ -1,12 +1,10 @@
package fr.iut.alldev.allin.ui.betHistory.components
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.Text
@ -16,6 +14,7 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import fr.iut.alldev.allin.data.model.bet.BetStatus
import fr.iut.alldev.allin.ext.asPaddingValues
import fr.iut.alldev.allin.theme.AllInTheme
@Composable
@ -33,7 +32,7 @@ fun <T> GenericHistory(
) {
LazyColumn(
modifier = Modifier.fillMaxSize(),
contentPadding = PaddingValues(horizontal = 24.dp, vertical = 18.dp),
contentPadding = WindowInsets.navigationBars.asPaddingValues(horizontal = 24.dp, vertical = 18.dp),
verticalArrangement = Arrangement.spacedBy(18.dp),
) {
item {
@ -59,9 +58,5 @@ fun <T> GenericHistory(
won = getWon(it)
)
}
item {
Spacer(modifier = Modifier.navigationBarsPadding())
}
}
}

@ -6,12 +6,13 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.IntrinsicSize
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
@ -52,6 +53,7 @@ import fr.iut.alldev.allin.data.model.bet.MatchBet
import fr.iut.alldev.allin.data.model.bet.NO_VALUE
import fr.iut.alldev.allin.data.model.bet.YES_VALUE
import fr.iut.alldev.allin.data.model.bet.vo.BetDetail
import fr.iut.alldev.allin.ext.asPaddingValues
import fr.iut.alldev.allin.ext.formatToSimple
import fr.iut.alldev.allin.ext.getDateEndLabelId
import fr.iut.alldev.allin.ext.getDateStartLabelId
@ -137,7 +139,7 @@ class BetStatusBottomSheetBetDisplayer(
source: NestedScrollSource
) = available.copy(x = 0f)
}),
contentPadding = PaddingValues(horizontal = 20.dp)
contentPadding = WindowInsets.navigationBars.asPaddingValues(horizontal = 20.dp)
) {
item {
Spacer(modifier = Modifier.height(20.dp))
@ -208,7 +210,6 @@ class BetStatusBottomSheetBetDisplayer(
if (betDetail.bet.betStatus != BetStatus.FINISHED && betDetail.userParticipation == null) {
Spacer(modifier = Modifier.height(75.dp))
}
Spacer(modifier = Modifier.navigationBarsPadding())
}
}
}

@ -1,12 +1,11 @@
package fr.iut.alldev.allin.ui.ranking.components
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.material3.Text
@ -20,15 +19,17 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import fr.iut.alldev.allin.R
import fr.iut.alldev.allin.data.model.User
import fr.iut.alldev.allin.ext.asPaddingValues
import fr.iut.alldev.allin.theme.AllInTheme
@Composable
fun RankingScreenContent(
users: List<User>
) {
LazyColumn(
modifier = Modifier.fillMaxSize(),
contentPadding = PaddingValues(start = 24.dp, end = 24.dp, top = 18.dp),
contentPadding = WindowInsets.navigationBars.asPaddingValues(start = 24.dp, end = 24.dp, top = 18.dp),
verticalArrangement = Arrangement.spacedBy(11.dp),
) {
item {
@ -72,10 +73,6 @@ fun RankingScreenContent(
coins = user.coins
)
}
item {
Spacer(modifier = Modifier.navigationBarsPadding())
}
}
}

@ -4,12 +4,13 @@ import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
@ -32,6 +33,7 @@ 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.ext.asPaddingValues
import fr.iut.alldev.allin.theme.AllInTheme
import fr.iut.alldev.allin.ui.core.AllInGradientButton
import fr.iut.alldev.allin.ui.core.AllInLoading
@ -67,7 +69,7 @@ fun RegisterScreenContent(
) {
LazyColumn(
verticalArrangement = Arrangement.Center,
contentPadding = PaddingValues(40.dp)
contentPadding = WindowInsets.navigationBars.asPaddingValues(40.dp)
) {
item {
Text(
@ -145,7 +147,6 @@ fun RegisterScreenContent(
)
}
Spacer(modifier = Modifier.height(120.dp))
Spacer(modifier = Modifier.navigationBarsPadding())
}
}
Column(

Loading…
Cancel
Save