Skip to content

Commit

Permalink
fix: 🐛 报错页面的返回按钮不是所有页面都具备的
Browse files Browse the repository at this point in the history
  • Loading branch information
kagg886 committed Jan 18, 2025
1 parent 2549e8c commit 15c6b6e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow

@Composable
fun ErrorPage(modifier: Modifier = Modifier, text: String, onClick: () -> Unit) {
fun ErrorPage(modifier: Modifier = Modifier, showBackButton: Boolean = false, text: String, onClick: () -> Unit) {
Box(modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
Column(modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) {
Text(text)
Expand All @@ -27,14 +27,16 @@ fun ErrorPage(modifier: Modifier = Modifier, text: String, onClick: () -> Unit)
}
}

val nav = LocalNavigator.currentOrThrow
IconButton(
onClick = {
nav.pop()
},
modifier = Modifier.align(Alignment.TopStart).padding(16.dp)
) {
Icon(imageVector = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = null)
if (showBackButton) {
val nav = LocalNavigator.currentOrThrow
IconButton(
onClick = {
nav.pop()
},
modifier = Modifier.align(Alignment.TopStart).padding(16.dp)
) {
Icon(imageVector = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = null)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,15 @@ class AuthorScreen(val id: Int, val isOpenInSideBar: Boolean = false) : Screen {
}
}

@OptIn(ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class)
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun AuthorContent(state: AuthorScreenState) {
val model = rememberScreenModel {
AuthorScreenModel(id)
}
when (state) {
AuthorScreenState.Error -> {
ErrorPage(text = "加载失败") {
ErrorPage(text = "加载失败", showBackButton = true) {
model.loadUserById(id)
}
}
Expand Down

0 comments on commit 15c6b6e

Please sign in to comment.