diff --git a/app-ios/Modules/Sources/Contributor/ContributorView.swift b/app-ios/Modules/Sources/Contributor/ContributorView.swift index 23ca52899..320aaeed7 100644 --- a/app-ios/Modules/Sources/Contributor/ContributorView.swift +++ b/app-ios/Modules/Sources/Contributor/ContributorView.swift @@ -1,6 +1,6 @@ import Component -import Model import KMPContainer +import Model import shared import SwiftUI @@ -20,6 +20,7 @@ public struct ContributorView: View { NSLog("contributorUrl:"+contributorUrl) } ) + .navigationTitle("Contributor") } } @@ -41,6 +42,7 @@ struct ContributorComposeView: UIViewControllerRepresentable { func makeUIViewController(context: Context) -> UIViewController { let vc = DarwinContributorsKt.contributorViewController( contributorsRepository: contributorsRepository, + isTopAppBarHidden: true, onNavigationIconClick: onNavigationIconClick, onContributorItemClick: onContributorItemClick ) diff --git a/feature/contributors/src/commonMain/kotlin/io/github/droidkaigi/confsched2023/contributors/ContributorsScreen.kt b/feature/contributors/src/commonMain/kotlin/io/github/droidkaigi/confsched2023/contributors/ContributorsScreen.kt index 1b16aa946..afa24223f 100644 --- a/feature/contributors/src/commonMain/kotlin/io/github/droidkaigi/confsched2023/contributors/ContributorsScreen.kt +++ b/feature/contributors/src/commonMain/kotlin/io/github/droidkaigi/confsched2023/contributors/ContributorsScreen.kt @@ -39,6 +39,7 @@ data class ContributorsUiState(val contributors: PersistentList) @Composable fun ContributorsScreen( viewModel: ContributorsViewModel, + isTopAppBarHidden: Boolean = false, onNavigationIconClick: () -> Unit, onContributorItemClick: (url: String) -> Unit, contentPadding: PaddingValues = PaddingValues(), @@ -52,6 +53,7 @@ fun ContributorsScreen( ) ContributorsScreen( uiState = uiState, + isTopAppBarHidden = isTopAppBarHidden, snackbarHostState = snackbarHostState, onBackClick = onNavigationIconClick, onContributorItemClick = onContributorItemClick, @@ -67,31 +69,39 @@ private fun ContributorsScreen( onBackClick: () -> Unit, onContributorItemClick: (url: String) -> Unit, contentPadding: PaddingValues, + isTopAppBarHidden: Boolean, ) { - val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior() + val scrollBehavior = + if (!isTopAppBarHidden) { + TopAppBarDefaults.exitUntilCollapsedScrollBehavior() + } else { + null + } val localLayoutDirection = LocalLayoutDirection.current Scaffold( modifier = Modifier.testTag(ContributorsScreenTestTag), snackbarHost = { SnackbarHost(hostState = snackbarHostState) }, topBar = { - LargeTopAppBar( - title = { - Text(text = "Contributor") - }, - navigationIcon = { - IconButton( - modifier = Modifier.alpha(1f - scrollBehavior.state.collapsedFraction), - onClick = onBackClick, - enabled = scrollBehavior.state.collapsedFraction < 1f, - ) { - Icon( - imageVector = Icons.Default.ArrowBack, - contentDescription = "Back", - ) - } - }, - scrollBehavior = scrollBehavior - ) + if (scrollBehavior != null) { + LargeTopAppBar( + title = { + Text(text = "Contributor") + }, + navigationIcon = { + IconButton( + modifier = Modifier.alpha(1f - scrollBehavior.state.collapsedFraction), + onClick = onBackClick, + enabled = scrollBehavior.state.collapsedFraction < 1f, + ) { + Icon( + imageVector = Icons.Default.ArrowBack, + contentDescription = "Back", + ) + } + }, + scrollBehavior = scrollBehavior + ) + } }, contentWindowInsets = WindowInsets( left = contentPadding.calculateLeftPadding(localLayoutDirection), @@ -105,7 +115,13 @@ private fun ContributorsScreen( onContributorItemClick = onContributorItemClick, modifier = Modifier .fillMaxSize() - .nestedScroll(scrollBehavior.nestedScrollConnection), + .let { + if (scrollBehavior != null) { + it.nestedScroll(scrollBehavior.nestedScrollConnection) + } else { + it + } + }, contentPadding = innerContentPadding, ) } diff --git a/feature/contributors/src/iosMain/kotlin/io/github/droidkaigi/confsched2023/contributors/DarwinContributors.kt b/feature/contributors/src/iosMain/kotlin/io/github/droidkaigi/confsched2023/contributors/DarwinContributors.kt index 46e664582..28abb7897 100644 --- a/feature/contributors/src/iosMain/kotlin/io/github/droidkaigi/confsched2023/contributors/DarwinContributors.kt +++ b/feature/contributors/src/iosMain/kotlin/io/github/droidkaigi/confsched2023/contributors/DarwinContributors.kt @@ -12,6 +12,7 @@ import platform.UIKit.UIViewController @Suppress("UNUSED") fun contributorViewController( contributorsRepository: ContributorsRepository, + isTopAppBarHidden: Boolean, onNavigationIconClick: () -> Unit, onContributorItemClick: (url: String) -> Unit, ): UIViewController = ComposeUIViewController { @@ -28,6 +29,7 @@ fun contributorViewController( ContributorsScreen( viewModel = viewModel, + isTopAppBarHidden = isTopAppBarHidden, onNavigationIconClick = onNavigationIconClick, onContributorItemClick = onContributorItemClick, )