From 6109131ef5640006358c797cb4aa9a7aa6570d25 Mon Sep 17 00:00:00 2001 From: maxmoney21m Date: Sat, 11 Mar 2023 11:21:16 +0800 Subject: [PATCH] Add quick action menu in chats and threads --- .../amethyst/ui/note/ChatroomMessageCompose.kt | 2 +- .../amethyst/ui/screen/ThreadFeedView.kt | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChatroomMessageCompose.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChatroomMessageCompose.kt index a4a619c1c..25cae5b8d 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChatroomMessageCompose.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ChatroomMessageCompose.kt @@ -339,7 +339,7 @@ fun ChatroomMessageCompose( } } - NoteDropDownMenu(note, popupExpanded, { popupExpanded = false }, accountViewModel) + NoteQuickActionMenu(note, popupExpanded, { popupExpanded = false }, accountViewModel) } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/ThreadFeedView.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/ThreadFeedView.kt index fc40ed0ad..aeffef514 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/ThreadFeedView.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/ThreadFeedView.kt @@ -2,7 +2,9 @@ package com.vitorpamplona.amethyst.ui.screen import androidx.compose.animation.Crossfade import androidx.compose.animation.core.tween +import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.clickable +import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row @@ -56,6 +58,7 @@ import com.vitorpamplona.amethyst.ui.note.HiddenNote import com.vitorpamplona.amethyst.ui.note.NoteAuthorPicture import com.vitorpamplona.amethyst.ui.note.NoteCompose import com.vitorpamplona.amethyst.ui.note.NoteDropDownMenu +import com.vitorpamplona.amethyst.ui.note.NoteQuickActionMenu import com.vitorpamplona.amethyst.ui.note.NoteUsernameDisplay import com.vitorpamplona.amethyst.ui.note.ReactionsRow import com.vitorpamplona.amethyst.ui.note.timeAgo @@ -187,6 +190,7 @@ fun Modifier.drawReplyLevel(level: Int, color: Color, selected: Color): Modifier } .padding(start = (2 + (level * 3)).dp) +@OptIn(ExperimentalFoundationApi::class) @Composable fun NoteMaster( baseNote: Note, @@ -211,6 +215,8 @@ fun NoteMaster( val noteEvent = note?.event + var popupExpanded by remember { mutableStateOf(false) } + if (noteEvent == null) { BlankNote() } else if (!account.isAcceptable(noteForReports) && !showHiddenNote) { @@ -314,7 +320,14 @@ fun NoteMaster( } } - Row(modifier = Modifier.padding(horizontal = 12.dp)) { + Row( + modifier = Modifier + .padding(horizontal = 12.dp) + .combinedClickable( + onClick = { }, + onLongClick = { popupExpanded = true } + ) + ) { Column() { val eventContent = note.event?.content() @@ -343,5 +356,7 @@ fun NoteMaster( } } } + + NoteQuickActionMenu(note, popupExpanded, { popupExpanded = false }, accountViewModel) } }