Skip to content

Commit

Permalink
feat: ✨ 评论区点击头像可以前往评论者主页
Browse files Browse the repository at this point in the history
feat: ✨ PC端报错页面允许返回
  • Loading branch information
kagg886 committed Jan 18, 2025
1 parent 1c4cd17 commit 2549e8c
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,22 @@ package top.kagg886.pmf.ui.component

import androidx.compose.foundation.layout.*
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.material.icons.filled.Refresh
import androidx.compose.material3.FloatingActionButton
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
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, text: String, onClick: () -> Unit) {
Box(modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
Column(modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally) {
Text(text)
Expand All @@ -21,5 +26,15 @@ fun ErrorPage(modifier: Modifier = Modifier,text:String, onClick: () -> Unit) {
Icon(imageVector = Icons.Default.Refresh, contentDescription = null)
}
}

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 @@ -27,6 +27,7 @@ class AuthorScreenModel(val id: Int) : ContainerHost<AuthorScreenState, AuthorSc
client.getUserInfo(id)
}
if (illust.isFailure) {
illust.exceptionOrNull()!!.printStackTrace()
if (silent) {
reduce { AuthorScreenState.Error }
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package top.kagg886.pmf.ui.util

import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
Expand All @@ -23,6 +24,7 @@ import top.kagg886.pmf.LocalSnackBarHost
import top.kagg886.pmf.ui.component.*
import top.kagg886.pmf.ui.component.scroll.VerticalScrollbar
import top.kagg886.pmf.ui.component.scroll.rememberScrollbarAdapter
import top.kagg886.pmf.ui.route.main.detail.author.AuthorScreen
import top.kagg886.pmf.util.toReadableString

@Composable
Expand Down Expand Up @@ -89,6 +91,7 @@ private fun CommentPanelContainer(model: CommentViewModel, state: CommentViewSta
OutlinedCard(
modifier = Modifier.fillMaxWidth().padding(5.dp)
) {
val nav = LocalNavigator.currentOrThrow
ListItem(
overlineContent = {
Text(comment.date.toReadableString())
Expand All @@ -99,7 +102,9 @@ private fun CommentPanelContainer(model: CommentViewModel, state: CommentViewSta
leadingContent = {
ProgressedAsyncImage(
url = comment.user.profileImageUrls.content,
modifier = Modifier.size(35.dp)
modifier = Modifier.size(35.dp).clickable {
nav.push(AuthorScreen(comment.user.id))
}
)
},
trailingContent = {
Expand Down Expand Up @@ -148,7 +153,9 @@ private fun CommentPanelContainer(model: CommentViewModel, state: CommentViewSta
leadingContent = {
ProgressedAsyncImage(
url = i.user.profileImageUrls.content,
modifier = Modifier.size(25.dp)
modifier = Modifier.size(25.dp).clickable {
nav.push(AuthorScreen(i.user.id))
}
)
},
supportingContent = {
Expand Down

0 comments on commit 2549e8c

Please sign in to comment.