Skip to content

Commit 2ef3ec9

Browse files
authored
Merge pull request #983 from Corvus400/fix/revert_timetable-nested-scroll
🔧 Revert Fix bottom space from DayTab offsets in Timetable Screen.
2 parents ec9ab8f + 8d189ac commit 2ef3ec9

3 files changed

Lines changed: 15 additions & 25 deletions

File tree

feature/sessions/src/commonMain/kotlin/io/github/droidkaigi/confsched/sessions/section/TimetableGrid.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ fun TimetableGrid(
139139
val animatedScope = LocalAnimatedVisibilityScope.current
140140

141141
Row(
142-
modifier = modifier
142+
modifier = Modifier
143143
.testTag(TimetableGridTestTag)
144144
.padding(
145145
top = contentPadding.calculateTopPadding(),
@@ -171,6 +171,7 @@ fun TimetableGrid(
171171
timetableState = timetableState,
172172
timeLine = timeLine,
173173
selectedDay = selectedDay,
174+
modifier = modifier,
174175
contentPadding = PaddingValues(
175176
top = 16.dp + contentPadding.calculateTopPadding(),
176177
bottom = 16.dp + 80.dp + contentPadding.calculateBottomPadding(),

feature/sessions/src/commonMain/kotlin/io/github/droidkaigi/confsched/sessions/section/TimetableList.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ internal fun TimetableList(
9393

9494
LazyColumn(
9595
modifier = modifier.testTag(TimetableListTestTag)
96+
.offset {
97+
IntOffset(x = 0, y = nestedScrollStateHolder.uiState.dayTabOffsetY.toInt())
98+
}
9699
.nestedScroll(nestedScrollConnection),
97100
state = scrollState,
98101
verticalArrangement = Arrangement.spacedBy(32.dp),

feature/sessions/src/commonMain/kotlin/io/github/droidkaigi/confsched/sessions/section/TimetableSheet.kt

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.github.droidkaigi.confsched.sessions.section
22

3-
import androidx.compose.foundation.background
43
import androidx.compose.foundation.layout.Box
4+
import androidx.compose.foundation.layout.Column
55
import androidx.compose.foundation.layout.PaddingValues
66
import androidx.compose.foundation.layout.calculateEndPadding
77
import androidx.compose.foundation.layout.calculateStartPadding
@@ -20,9 +20,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
2020
import androidx.compose.runtime.setValue
2121
import androidx.compose.ui.Alignment
2222
import androidx.compose.ui.Modifier
23-
import androidx.compose.ui.graphics.Color
2423
import androidx.compose.ui.layout.onGloballyPositioned
25-
import androidx.compose.ui.platform.LocalDensity
2624
import androidx.compose.ui.platform.LocalLayoutDirection
2725
import androidx.compose.ui.unit.IntOffset
2826
import androidx.compose.ui.unit.dp
@@ -31,7 +29,6 @@ import io.github.droidkaigi.confsched.model.DroidKaigi2024Day
3129
import io.github.droidkaigi.confsched.model.TimeLine
3230
import io.github.droidkaigi.confsched.model.TimetableItem
3331
import io.github.droidkaigi.confsched.sessions.component.TimetableDayTab
34-
import io.github.droidkaigi.confsched.sessions.component.TimetableNestedScrollStateHolder
3532
import io.github.droidkaigi.confsched.sessions.component.rememberTimetableNestedScrollStateHolder
3633
import io.github.droidkaigi.confsched.sessions.section.TimetableUiState.Empty
3734
import io.github.droidkaigi.confsched.sessions.section.TimetableUiState.GridTimetable
@@ -74,8 +71,9 @@ fun Timetable(
7471
Surface(
7572
modifier = modifier.padding(contentPadding.calculateTopPadding()),
7673
) {
77-
Box(
78-
modifier = Modifier.fillMaxSize(),
74+
Column(
75+
modifier = Modifier
76+
.fillMaxSize(),
7977
) {
8078
TimetableDayTab(
8179
selectedDay = selectedDay,
@@ -102,7 +100,9 @@ fun Timetable(
102100
scrollState = scrollStates.getValue(selectedDay),
103101
onTimetableItemClick = onTimetableItemClick,
104102
onBookmarkClick = onFavoriteClick,
105-
modifier = timetableModifier(nestedScrollStateHolder),
103+
modifier = Modifier
104+
.fillMaxSize()
105+
.weight(1f),
106106
contentPadding = PaddingValues(
107107
bottom = contentPadding.calculateBottomPadding(),
108108
start = contentPadding.calculateStartPadding(layoutDirection),
@@ -119,7 +119,9 @@ fun Timetable(
119119
timeLine = uiState.timeLine,
120120
selectedDay = selectedDay,
121121
onTimetableItemClick = onTimetableItemClick,
122-
modifier = timetableModifier(nestedScrollStateHolder),
122+
modifier = Modifier
123+
.fillMaxSize()
124+
.weight(1f),
123125
contentPadding = PaddingValues(
124126
bottom = contentPadding.calculateBottomPadding(),
125127
start = contentPadding.calculateStartPadding(layoutDirection),
@@ -158,19 +160,3 @@ private fun rememberGridTimetableStates(): Map<DroidKaigi2024Day, TimetableState
158160
}
159161
return remember { timetableStateMap }
160162
}
161-
162-
@Composable
163-
private fun timetableModifier(
164-
nestedScrollStateHolder: TimetableNestedScrollStateHolder,
165-
): Modifier {
166-
val density = LocalDensity.current
167-
168-
return Modifier
169-
.padding(
170-
top = with(density) {
171-
(nestedScrollStateHolder.uiState.scrollConnectionMinOffset + nestedScrollStateHolder.uiState.dayTabOffsetY).toDp()
172-
},
173-
)
174-
.fillMaxSize()
175-
.background(Color.Transparent)
176-
}

0 commit comments

Comments
 (0)