11package io.github.droidkaigi.confsched.sessions.section
22
3- import androidx.compose.foundation.background
43import androidx.compose.foundation.layout.Box
4+ import androidx.compose.foundation.layout.Column
55import androidx.compose.foundation.layout.PaddingValues
66import androidx.compose.foundation.layout.calculateEndPadding
77import androidx.compose.foundation.layout.calculateStartPadding
@@ -20,9 +20,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
2020import androidx.compose.runtime.setValue
2121import androidx.compose.ui.Alignment
2222import androidx.compose.ui.Modifier
23- import androidx.compose.ui.graphics.Color
2423import androidx.compose.ui.layout.onGloballyPositioned
25- import androidx.compose.ui.platform.LocalDensity
2624import androidx.compose.ui.platform.LocalLayoutDirection
2725import androidx.compose.ui.unit.IntOffset
2826import androidx.compose.ui.unit.dp
@@ -31,7 +29,6 @@ import io.github.droidkaigi.confsched.model.DroidKaigi2024Day
3129import io.github.droidkaigi.confsched.model.TimeLine
3230import io.github.droidkaigi.confsched.model.TimetableItem
3331import io.github.droidkaigi.confsched.sessions.component.TimetableDayTab
34- import io.github.droidkaigi.confsched.sessions.component.TimetableNestedScrollStateHolder
3532import io.github.droidkaigi.confsched.sessions.component.rememberTimetableNestedScrollStateHolder
3633import io.github.droidkaigi.confsched.sessions.section.TimetableUiState.Empty
3734import 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