diff --git a/app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/states/States.kt b/app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/states/States.kt index 0a2756ab..85c52800 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/states/States.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/ui/widgets/compose/states/States.kt @@ -37,18 +37,22 @@ fun StateScreen( isEmpty: Boolean, isError: Boolean, isLoading: Boolean, - onReload: () -> Unit, modifier: Modifier = Modifier, + onReload: (() -> Unit)? = null, emptyScreen: @Composable () -> Unit = DefaultEmptyScreen, errorScreen: @Composable () -> Unit = DefaultErrorScreen, loadingScreen: @Composable () -> Unit = DefaultLoadingScreen, content: @Composable () -> Unit, ) { + val clickableModifier = if (onReload != null) Modifier.clickable( + enabled = isEmpty && !isLoading, + onClick = onReload + ) else Modifier Box( modifier = Modifier .fillMaxSize() - .then(modifier) - .clickable(enabled = isEmpty && !isLoading, onClick = onReload), + then modifier + then clickableModifier, contentAlignment = Alignment.Center ) { if (!isEmpty) {