diff --git a/apps/vbox/client/androidApp/build.gradle.kts b/apps/vbox/client/androidApp/build.gradle.kts index c5a3a4b..69d6154 100644 --- a/apps/vbox/client/androidApp/build.gradle.kts +++ b/apps/vbox/client/androidApp/build.gradle.kts @@ -12,8 +12,8 @@ android { applicationId = namespace minSdk = libs.versions.proj.min.get().toInt() targetSdk = libs.versions.proj.target.get().toInt() - versionCode = 35 - versionName = "1.18" + versionCode = 36 + versionName = "1.18.1" } } diff --git a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/MainScreen.kt b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/MainScreen.kt index bc9c4c1..33b2a11 100644 --- a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/MainScreen.kt +++ b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/MainScreen.kt @@ -4,6 +4,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.LargeTopAppBar import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider @@ -19,6 +20,7 @@ import ru.shadowsparky.ui.BaseScreen import ru.shadowsparky.ui.LocalBlurState import ru.shadowsparky.ui.USE_EXPERIMENTAL_RAIL import ru.shadowsparky.ui.applyBlurEffect +import ru.shadowsparky.ui.components.isTv import ru.shadowsparky.ui.currentWindowType import ru.shadowsparky.ui.isCompact import ru.shadowsparky.ui.isExpanded @@ -110,12 +112,21 @@ fun MainScreenInternal(route: Route, child: Child, rootComponent: RootComponent) appBar = { if (windowType.isCompact || !USE_EXPERIMENTAL_RAIL) { navList.firstOrNull { it.route == route }?.title?.let { - LargeTopAppBar( - title = { Text(it) }, - scrollBehavior = scrollBehavior, - modifier = Modifier.applyBlurEffect(blurState), - colors = ComponentDefaults.topAppBarColors() - ) + if (isTv()) { + TopAppBar( + title = { Text(it) }, + scrollBehavior = scrollBehavior, + modifier = Modifier.applyBlurEffect(blurState), + colors = ComponentDefaults.topAppBarColors() + ) + } else { + LargeTopAppBar( + title = { Text(it) }, + scrollBehavior = scrollBehavior, + modifier = Modifier.applyBlurEffect(blurState), + colors = ComponentDefaults.topAppBarColors() + ) + } } } }, diff --git a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/list/VideoScreen.kt b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/list/VideoScreen.kt index d5eee3f..ed8a9bc 100644 --- a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/list/VideoScreen.kt +++ b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/list/VideoScreen.kt @@ -164,7 +164,7 @@ fun VideosInfo( start = paddingValues.calculateStartPadding(layoutDirection), top = paddingValues.calculateTopPadding(), end = paddingValues.calculateEndPadding(layoutDirection), - bottom = paddingValues.calculateBottomPadding() + fabHeight + bottom = paddingValues.calculateBottomPadding() + (fabHeight / 2) ), state = gridState ) { @@ -185,10 +185,7 @@ fun VideosInfo( extraFab?.let { Box( modifier = Modifier.align(Alignment.BottomEnd) - .padding( - end = 16.dp, - bottom = 16.dp - ).onGloballyPositioned { coordinates -> + .onGloballyPositioned { coordinates -> fabHeight = with(density) { coordinates.size.height.toDp() } diff --git a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/saved/SavedMovieScreen.kt b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/saved/SavedMovieScreen.kt index feff0cf..47e728a 100644 --- a/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/saved/SavedMovieScreen.kt +++ b/apps/vbox/client/shared/src/commonMain/kotlin/ru/shadowsparky/vbox/shared/presentation/saved/SavedMovieScreen.kt @@ -62,11 +62,10 @@ fun SavedMovieContent(comp: SavedMovieScreenComponent, paddingValues: PaddingVal if (tags?.isNotEmpty() == true) { FloatingActionButton( onClick = { filterBottomSheetVisible = true }, - modifier = Modifier.align(Alignment.BottomEnd) - .padding( - end = paddingValues.calculateEndPadding(LocalLayoutDirection.current) + 16.dp, - bottom = paddingValues.calculateBottomPadding() + 16.dp - ) + modifier = Modifier.padding( + end = paddingValues.calculateEndPadding(LocalLayoutDirection.current) + 4.dp, + bottom = paddingValues.calculateBottomPadding() + 4.dp + ) ) { Icon( painterResource(Res.drawable.filter_list),