mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 22:17:03 +05:30
common: refactor post interactions
This commit is contained in:
parent
2cfdf30f05
commit
45db8e8486
7 changed files with 66 additions and 34 deletions
|
@ -40,14 +40,12 @@ import dev.msfjarvis.claw.database.local.SavedPost
|
|||
fun LobstersCard(
|
||||
post: SavedPost,
|
||||
isSaved: Boolean,
|
||||
viewPost: () -> Unit,
|
||||
viewComments: (String) -> Unit,
|
||||
toggleSave: () -> Unit,
|
||||
postActions: PostActions,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
Card(
|
||||
modifier = Modifier.background(MaterialTheme.colors.primarySurface).then(modifier),
|
||||
onClick = { viewPost() },
|
||||
onClick = { postActions.viewPost(post.url, post.commentsUrl) },
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier.padding(horizontal = 16.dp, vertical = 4.dp).fillMaxWidth(),
|
||||
|
@ -63,13 +61,13 @@ fun LobstersCard(
|
|||
) {
|
||||
SaveButton(
|
||||
isSaved = isSaved,
|
||||
onClick = toggleSave,
|
||||
onClick = { postActions.toggleSave(post) },
|
||||
)
|
||||
Spacer(
|
||||
modifier = Modifier.width(8.dp),
|
||||
)
|
||||
CommentsButton(
|
||||
onClick = { viewComments(post.shortId) },
|
||||
onClick = { postActions.viewComments(post.shortId) },
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
package dev.msfjarvis.claw.common.posts
|
||||
|
||||
import dev.msfjarvis.claw.database.local.SavedPost
|
||||
|
||||
interface PostActions {
|
||||
fun viewPost(postUrl: String, commentsUrl: String)
|
||||
fun viewComments(postId: String)
|
||||
fun toggleSave(post: SavedPost)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue