diff --git a/UIViews/src/main/java/com/programmersbox/uiviews/utils/OtakuComposableUtils.kt b/UIViews/src/main/java/com/programmersbox/uiviews/utils/OtakuComposableUtils.kt index 2f70e1e86..b6661f782 100644 --- a/UIViews/src/main/java/com/programmersbox/uiviews/utils/OtakuComposableUtils.kt +++ b/UIViews/src/main/java/com/programmersbox/uiviews/utils/OtakuComposableUtils.kt @@ -483,16 +483,12 @@ fun OtakuBannerBox( ) { var itemInfo by remember { mutableStateOf(null) } - var bannerScope by remember { mutableStateOf(null) } + val bannerScope = BannerScope { itemModel -> itemInfo = itemModel } - DisposableEffect(Unit) { - bannerScope = object : BannerScope { - override fun newItemModel(itemModel: ItemModel?) { - itemInfo = itemModel - } - } + /*DisposableEffect(Unit) { + bannerScope = BannerScope { itemModel -> itemInfo = itemModel } onDispose { bannerScope = null } - } + }*/ BannerBox( modifier = modifier, @@ -534,11 +530,11 @@ fun OtakuBannerBox( ) } }, - content = { bannerScope?.content() } + content = { bannerScope.content() } ) } -interface BannerScope { +fun interface BannerScope { //TODO: Maybe add a modifier into here for onLongClick? fun newItemModel(itemModel: ItemModel?) } diff --git a/mangaworld/src/main/java/com/programmersbox/mangaworld/reader/compose/ReaderCompose.kt b/mangaworld/src/main/java/com/programmersbox/mangaworld/reader/compose/ReaderCompose.kt index 0655b615a..99beff92e 100644 --- a/mangaworld/src/main/java/com/programmersbox/mangaworld/reader/compose/ReaderCompose.kt +++ b/mangaworld/src/main/java/com/programmersbox/mangaworld/reader/compose/ReaderCompose.kt @@ -197,6 +197,12 @@ fun ReadView( val exitAlwaysScrollBehavior = FloatingAppBarDefaults.exitAlwaysScrollBehavior(exitDirection = FloatingAppBarExitDirection.Bottom) + LaunchedEffect(showItems) { + if (showItems) { + exitAlwaysScrollBehavior.state.offset = 0f + } + } + BackHandler(drawerState.isOpen || showBottomSheet) { scope.launch { when { @@ -281,21 +287,21 @@ fun ReadView( } }, bottomBar = { - if (floatingBottomBar) { - FloatingBottomBar( - onPageSelectClick = { showBottomSheet = true }, - onSettingsClick = { settingsPopup = true }, - chapterChange = ::showToast, - onChapterShow = { scope.launch { drawerState.open() } }, - vm = readVm, - exitAlwaysScrollBehavior = exitAlwaysScrollBehavior - ) - } else { - AnimatedVisibility( - visible = showItems, - enter = slideInVertically { it } + fadeIn(), - exit = slideOutVertically { it } + fadeOut() - ) { + AnimatedVisibility( + visible = showItems, + enter = slideInVertically { it } + fadeIn(), + exit = slideOutVertically { it } + fadeOut() + ) { + if (floatingBottomBar) { + FloatingBottomBar( + onPageSelectClick = { showBottomSheet = true }, + onSettingsClick = { settingsPopup = true }, + chapterChange = ::showToast, + onChapterShow = { scope.launch { drawerState.open() } }, + vm = readVm, + exitAlwaysScrollBehavior = exitAlwaysScrollBehavior.takeIf { showItems } + ) + } else { BottomBar( onPageSelectClick = { showBottomSheet = true }, onSettingsClick = { settingsPopup = true },