Skip to content

Commit

Permalink
fix(phone): use window size class to set the min column size
Browse files Browse the repository at this point in the history
  • Loading branch information
jarnedemeulemeester committed Dec 27, 2024
1 parent feddc6b commit f80d64b
Showing 1 changed file with 17 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,24 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.lazy.grid.items
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.traversalIndex
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.window.core.layout.WindowWidthSizeClass
import dev.jdtech.jellyfin.film.presentation.media.MediaAction
import dev.jdtech.jellyfin.film.presentation.media.MediaState
import dev.jdtech.jellyfin.film.presentation.media.MediaViewModel
Expand Down Expand Up @@ -71,18 +72,27 @@ private fun MediaScreenLayout(
label = "content_padding",
)

Box {
val windowSizeClass = currentWindowAdaptiveInfo().windowSizeClass
val minColumnSize = when (windowSizeClass.windowWidthSizeClass) {
WindowWidthSizeClass.EXPANDED -> 320.dp
WindowWidthSizeClass.MEDIUM -> 240.dp
else -> 160.dp
}

Box(
modifier = Modifier
.fillMaxSize(),
) {
FilmSearchBar(
modifier = Modifier
.fillMaxWidth()
.semantics { traversalIndex = 0f },
modifier = Modifier.fillMaxWidth(),
paddingStart = paddingStart,
paddingEnd = paddingEnd,
inputPaddingStart = safePaddingStart,
inputPaddingEnd = safePaddingEnd,
)
LazyVerticalGrid(
columns = GridCells.Adaptive(minSize = 160.dp),
columns = GridCells.Adaptive(minSize = minColumnSize),
modifier = Modifier.fillMaxSize(),
contentPadding = PaddingValues(
start = paddingStart,
top = contentPaddingTop,
Expand Down

0 comments on commit f80d64b

Please sign in to comment.