|
|
@@ -11,9 +11,8 @@ package org.mjdev.tvapp.base.ui.components.complex
|
|
|
import android.annotation.SuppressLint
|
|
|
import androidx.compose.foundation.layout.defaultMinSize
|
|
|
import androidx.compose.foundation.layout.fillMaxSize
|
|
|
-import androidx.compose.foundation.layout.height
|
|
|
import androidx.compose.foundation.layout.padding
|
|
|
-import androidx.compose.foundation.layout.width
|
|
|
+import androidx.compose.foundation.layout.size
|
|
|
import androidx.compose.runtime.Composable
|
|
|
import androidx.compose.runtime.MutableState
|
|
|
import androidx.compose.ui.Modifier
|
|
|
@@ -33,7 +32,8 @@ import androidx.tv.material3.CardScale
|
|
|
import androidx.tv.material3.CardShape
|
|
|
import androidx.tv.material3.CompactCard
|
|
|
import androidx.tv.material3.ExperimentalTvMaterial3Api
|
|
|
-import org.mjdev.tvapp.base.extensions.ComposeExt.computeCardHeight
|
|
|
+import androidx.tv.material3.MaterialTheme
|
|
|
+import org.mjdev.tvapp.base.extensions.ComposeExt.computeCardWidth
|
|
|
import org.mjdev.tvapp.base.extensions.ComposeExt.isEditMode
|
|
|
import org.mjdev.tvapp.base.extensions.ComposeExt.isFocused
|
|
|
import org.mjdev.tvapp.base.extensions.ComposeExt.rememberFocusRequester
|
|
|
@@ -77,7 +77,7 @@ fun FocusableCard(
|
|
|
focusRequester: FocusRequester = rememberFocusRequester(item),
|
|
|
focusState: MutableState<FocusState?> = rememberFocusState(item),
|
|
|
onFocusChange: (state: FocusState) -> Unit = {},
|
|
|
- cardHeight: Dp = computeCardHeight(),
|
|
|
+ cardWidth: Dp = computeCardWidth(),
|
|
|
aspectRatio: Float = 16f / 9f,
|
|
|
onClick: (item: Any?) -> Unit = {},
|
|
|
) {
|
|
|
@@ -90,8 +90,10 @@ fun FocusableCard(
|
|
|
glow = glow,
|
|
|
modifier = modifier
|
|
|
.recomposeHighlighter()
|
|
|
- .height(cardHeight)
|
|
|
- .width(cardHeight * aspectRatio)
|
|
|
+ .size(
|
|
|
+ width = cardWidth,
|
|
|
+ height = cardWidth / aspectRatio
|
|
|
+ )
|
|
|
.focusState(focusState)
|
|
|
.onFocusChanged { state ->
|
|
|
onFocusChange(state)
|
|
|
@@ -111,6 +113,7 @@ fun FocusableCard(
|
|
|
AutoHideEmptyText(
|
|
|
modifier = Modifier.padding(4.dp),
|
|
|
maxLines = 1,
|
|
|
+ style = MaterialTheme.typography.titleSmall,
|
|
|
text = (item as? ItemWithTitle<*>)?.title
|
|
|
)
|
|
|
},
|
|
|
@@ -118,6 +121,7 @@ fun FocusableCard(
|
|
|
AutoHideEmptyText(
|
|
|
modifier = Modifier.padding(4.dp),
|
|
|
maxLines = 1,
|
|
|
+ style = MaterialTheme.typography.displaySmall,
|
|
|
text = (item as? ItemWithSubtitle<*>)?.subtitle
|
|
|
)
|
|
|
},
|