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> {
SettingsScreenRoot(
setShowPaywall = { showPaywall = it },
contentPadding = contentPadding,
modifier = modifier.padding(
start = contentPadding.calculateStartPadding(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.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
@@ -86,6 +87,7 @@ import org.nsh07.pomodoro.ui.theme.CustomColors.topBarColors
@Composable
fun SettingsScreenRoot(
setShowPaywall: (Boolean) -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier,
viewModel: SettingsViewModel = viewModel(factory = SettingsViewModel.Factory)
) {
@@ -125,6 +127,7 @@ fun SettingsScreenRoot(
sessionsSliderState = sessionsSliderState,
onAction = viewModel::onAction,
setShowPaywall = setShowPaywall,
contentPadding = contentPadding,
modifier = modifier
)
}
@@ -143,6 +146,7 @@ private fun SettingsScreen(
sessionsSliderState: SliderState,
onAction: (SettingsAction) -> Unit,
setShowPaywall: (Boolean) -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier
) {
val context = LocalContext.current
@@ -201,6 +205,7 @@ private fun SettingsScreen(
LazyColumn(
verticalArrangement = Arrangement.spacedBy(2.dp),
contentPadding = contentPadding,
modifier = Modifier
.background(topBarColors.containerColor)
.fillMaxSize()
@@ -280,7 +285,8 @@ private fun SettingsScreen(
AlarmSettings(
settingsState = settingsState,
onAction = onAction,
onBack = backStack::removeLastOrNull
onBack = backStack::removeLastOrNull,
contentPadding = contentPadding,
)
}
entry<Screen.Settings.Appearance> {
@@ -289,7 +295,8 @@ private fun SettingsScreen(
isPlus = isPlus,
onAction = onAction,
setShowPaywall = setShowPaywall,
onBack = backStack::removeLastOrNull
onBack = backStack::removeLastOrNull,
contentPadding = contentPadding,
)
}
entry<Screen.Settings.Timer> {
@@ -304,6 +311,7 @@ private fun SettingsScreen(
onAction = onAction,
setShowPaywall = setShowPaywall,
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.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
@@ -82,6 +83,7 @@ fun AlarmSettings(
settingsState: SettingsState,
onAction: (SettingsAction) -> Unit,
onBack: () -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier
) {
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
@@ -174,6 +176,7 @@ fun AlarmSettings(
LazyColumn(
verticalArrangement = Arrangement.spacedBy(2.dp),
contentPadding = contentPadding,
modifier = Modifier
.background(topBarColors.containerColor)
.fillMaxSize()
@@ -249,6 +252,7 @@ fun AlarmSettingsPreview() {
AlarmSettings(
settingsState = settingsState,
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.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
@@ -68,6 +69,7 @@ fun AppearanceSettings(
onAction: (SettingsAction) -> Unit,
setShowPaywall: (Boolean) -> Unit,
onBack: () -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier
) {
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
@@ -98,6 +100,7 @@ fun AppearanceSettings(
LazyColumn(
verticalArrangement = Arrangement.spacedBy(2.dp),
contentPadding = contentPadding,
modifier = Modifier
.background(topBarColors.containerColor)
.fillMaxSize()
@@ -185,7 +188,8 @@ fun AppearanceSettingsPreview() {
isPlus = false,
onAction = {},
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.layout.Arrangement
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.fillMaxSize
@@ -105,6 +106,7 @@ fun TimerSettings(
onAction: (SettingsAction) -> Unit,
setShowPaywall: (Boolean) -> Unit,
onBack: () -> Unit,
contentPadding: PaddingValues,
modifier: Modifier = Modifier
) {
val scrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
@@ -167,6 +169,7 @@ fun TimerSettings(
LazyColumn(
verticalArrangement = Arrangement.spacedBy(2.dp),
contentPadding = contentPadding,
modifier = Modifier
.background(topBarColors.containerColor)
.fillMaxSize()
@@ -434,6 +437,7 @@ private fun TimerSettingsPreview() {
sessionsSliderState = sessionsSliderState,
onAction = {},
setShowPaywall = {},
onBack = {}
onBack = {},
contentPadding = PaddingValues()
)
}