send contentPadding from AppScreen to all settings sub-screens

This commit is contained in:
MABD
2025-11-17 08:42:00 +02:00
parent 85b6116fad
commit a71758ef75
5 changed files with 26 additions and 5 deletions

View File

@@ -196,6 +196,7 @@ fun AppScreen(
entry<Screen.Settings.Main> { entry<Screen.Settings.Main> {
SettingsScreenRoot( SettingsScreenRoot(
setShowPaywall = { showPaywall = it }, setShowPaywall = { showPaywall = it },
contentPadding = contentPadding,
modifier = modifier.padding( modifier = modifier.padding(
start = contentPadding.calculateStartPadding(layoutDirection), start = contentPadding.calculateStartPadding(layoutDirection),
end = contentPadding.calculateEndPadding(layoutDirection), end = contentPadding.calculateEndPadding(layoutDirection),

View File

@@ -28,6 +28,7 @@ import androidx.compose.animation.togetherWith
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
@@ -86,6 +87,7 @@ import org.nsh07.pomodoro.ui.theme.CustomColors.topBarColors
@Composable @Composable
fun SettingsScreenRoot( fun SettingsScreenRoot(
setShowPaywall: (Boolean) -> Unit, setShowPaywall: (Boolean) -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
viewModel: SettingsViewModel = viewModel(factory = SettingsViewModel.Factory) viewModel: SettingsViewModel = viewModel(factory = SettingsViewModel.Factory)
) { ) {
@@ -125,6 +127,7 @@ fun SettingsScreenRoot(
sessionsSliderState = sessionsSliderState, sessionsSliderState = sessionsSliderState,
onAction = viewModel::onAction, onAction = viewModel::onAction,
setShowPaywall = setShowPaywall, setShowPaywall = setShowPaywall,
contentPadding = contentPadding,
modifier = modifier modifier = modifier
) )
} }
@@ -143,6 +146,7 @@ private fun SettingsScreen(
sessionsSliderState: SliderState, sessionsSliderState: SliderState,
onAction: (SettingsAction) -> Unit, onAction: (SettingsAction) -> Unit,
setShowPaywall: (Boolean) -> Unit, setShowPaywall: (Boolean) -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier modifier: Modifier = Modifier
) { ) {
val context = LocalContext.current val context = LocalContext.current
@@ -201,6 +205,7 @@ private fun SettingsScreen(
LazyColumn( LazyColumn(
verticalArrangement = Arrangement.spacedBy(2.dp), verticalArrangement = Arrangement.spacedBy(2.dp),
contentPadding = contentPadding,
modifier = Modifier modifier = Modifier
.background(topBarColors.containerColor) .background(topBarColors.containerColor)
.fillMaxSize() .fillMaxSize()
@@ -280,7 +285,8 @@ private fun SettingsScreen(
AlarmSettings( AlarmSettings(
settingsState = settingsState, settingsState = settingsState,
onAction = onAction, onAction = onAction,
onBack = backStack::removeLastOrNull onBack = backStack::removeLastOrNull,
contentPadding = contentPadding,
) )
} }
entry<Screen.Settings.Appearance> { entry<Screen.Settings.Appearance> {
@@ -289,7 +295,8 @@ private fun SettingsScreen(
isPlus = isPlus, isPlus = isPlus,
onAction = onAction, onAction = onAction,
setShowPaywall = setShowPaywall, setShowPaywall = setShowPaywall,
onBack = backStack::removeLastOrNull onBack = backStack::removeLastOrNull,
contentPadding = contentPadding,
) )
} }
entry<Screen.Settings.Timer> { entry<Screen.Settings.Timer> {
@@ -304,6 +311,7 @@ private fun SettingsScreen(
onAction = onAction, onAction = onAction,
setShowPaywall = setShowPaywall, setShowPaywall = setShowPaywall,
onBack = backStack::removeLastOrNull, onBack = backStack::removeLastOrNull,
contentPadding = contentPadding,
) )
} }
} }

View File

@@ -29,6 +29,7 @@ import androidx.compose.foundation.background
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
@@ -82,6 +83,7 @@ fun AlarmSettings(
settingsState: SettingsState, settingsState: SettingsState,
onAction: (SettingsAction) -> Unit, onAction: (SettingsAction) -> Unit,
onBack: () -> Unit, onBack: () -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier modifier: Modifier = Modifier
) { ) {
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior() val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
@@ -174,6 +176,7 @@ fun AlarmSettings(
LazyColumn( LazyColumn(
verticalArrangement = Arrangement.spacedBy(2.dp), verticalArrangement = Arrangement.spacedBy(2.dp),
contentPadding = contentPadding,
modifier = Modifier modifier = Modifier
.background(topBarColors.containerColor) .background(topBarColors.containerColor)
.fillMaxSize() .fillMaxSize()
@@ -249,6 +252,7 @@ fun AlarmSettingsPreview() {
AlarmSettings( AlarmSettings(
settingsState = settingsState, settingsState = settingsState,
onAction = {}, onAction = {},
onBack = {} onBack = {},
contentPadding = PaddingValues()
) )
} }

View File

@@ -20,6 +20,7 @@ package org.nsh07.pomodoro.ui.settingsScreen.screens
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
@@ -68,6 +69,7 @@ fun AppearanceSettings(
onAction: (SettingsAction) -> Unit, onAction: (SettingsAction) -> Unit,
setShowPaywall: (Boolean) -> Unit, setShowPaywall: (Boolean) -> Unit,
onBack: () -> Unit, onBack: () -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier modifier: Modifier = Modifier
) { ) {
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior() val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
@@ -98,6 +100,7 @@ fun AppearanceSettings(
LazyColumn( LazyColumn(
verticalArrangement = Arrangement.spacedBy(2.dp), verticalArrangement = Arrangement.spacedBy(2.dp),
contentPadding = contentPadding,
modifier = Modifier modifier = Modifier
.background(topBarColors.containerColor) .background(topBarColors.containerColor)
.fillMaxSize() .fillMaxSize()
@@ -185,7 +188,8 @@ fun AppearanceSettingsPreview() {
isPlus = false, isPlus = false,
onAction = {}, onAction = {},
setShowPaywall = {}, setShowPaywall = {},
onBack = {} onBack = {},
contentPadding = PaddingValues()
) )
} }
} }

View File

@@ -27,6 +27,7 @@ import androidx.compose.foundation.background
import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.horizontalScroll
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
@@ -105,6 +106,7 @@ fun TimerSettings(
onAction: (SettingsAction) -> Unit, onAction: (SettingsAction) -> Unit,
setShowPaywall: (Boolean) -> Unit, setShowPaywall: (Boolean) -> Unit,
onBack: () -> Unit, onBack: () -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier modifier: Modifier = Modifier
) { ) {
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior() val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
@@ -167,6 +169,7 @@ fun TimerSettings(
LazyColumn( LazyColumn(
verticalArrangement = Arrangement.spacedBy(2.dp), verticalArrangement = Arrangement.spacedBy(2.dp),
contentPadding = contentPadding,
modifier = Modifier modifier = Modifier
.background(topBarColors.containerColor) .background(topBarColors.containerColor)
.fillMaxSize() .fillMaxSize()
@@ -434,6 +437,7 @@ private fun TimerSettingsPreview() {
sessionsSliderState = sessionsSliderState, sessionsSliderState = sessionsSliderState,
onAction = {}, onAction = {},
setShowPaywall = {}, setShowPaywall = {},
onBack = {} onBack = {},
contentPadding = PaddingValues()
) )
} }