整理代码
This commit is contained in:
@@ -49,19 +49,22 @@ import androidx.paging.cachedIn
|
||||
import androidx.paging.compose.collectAsLazyPagingItems
|
||||
import com.aiosman.riderpro.ui.post.CommentsSection
|
||||
import com.aiosman.riderpro.R
|
||||
import com.aiosman.riderpro.data.CommentEntity
|
||||
import com.aiosman.riderpro.data.CommentPagingSource
|
||||
import com.aiosman.riderpro.entity.CommentEntity
|
||||
import com.aiosman.riderpro.entity.CommentPagingSource
|
||||
import com.aiosman.riderpro.data.CommentRemoteDataSource
|
||||
import com.aiosman.riderpro.data.CommentService
|
||||
import com.aiosman.riderpro.data.TestCommentServiceImpl
|
||||
import com.aiosman.riderpro.data.CommentServiceImpl
|
||||
import com.aiosman.riderpro.ui.modifiers.noRippleClickable
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
/**
|
||||
* 评论弹窗的 ViewModel
|
||||
*/
|
||||
class CommentModalViewModel(
|
||||
val postId: Int?
|
||||
) : ViewModel() {
|
||||
val commentService: CommentService = TestCommentServiceImpl()
|
||||
val commentService: CommentService = CommentServiceImpl()
|
||||
val commentsFlow: Flow<PagingData<CommentEntity>> = Pager(
|
||||
config = PagingConfig(pageSize = 20, enablePlaceholders = false),
|
||||
pagingSourceFactory = {
|
||||
@@ -72,6 +75,9 @@ class CommentModalViewModel(
|
||||
}
|
||||
).flow.cachedIn(viewModelScope)
|
||||
|
||||
/**
|
||||
* 创建评论
|
||||
*/
|
||||
suspend fun createComment(content: String) {
|
||||
postId?.let {
|
||||
commentService.createComment(postId, content)
|
||||
@@ -79,7 +85,13 @@ class CommentModalViewModel(
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
|
||||
/**
|
||||
* 评论弹窗
|
||||
* @param postId 帖子ID
|
||||
* @param onCommentAdded 评论添加回调
|
||||
* @param onDismiss 关闭回调
|
||||
*/
|
||||
@Composable
|
||||
fun CommentModalContent(
|
||||
postId: Int? = null,
|
||||
|
||||
Reference in New Issue
Block a user