From 84faa7557e056f0194c7b2a2c475fd7ea25b10da Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Mon, 18 Mar 2024 14:37:51 -0300 Subject: [PATCH] add support for polls --- .../amethyst/ui/actions/NewPostViewModel.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt index 8c5a03ae5..08fde7898 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/actions/NewPostViewModel.kt @@ -309,6 +309,8 @@ open class NewPostViewModel() : ViewModel() { draft: Note, accountViewModel: AccountViewModel, ) { + Log.d("draft", draft.event!!.toJson()) + draftTag = LocalCache.drafts.filter { it.value.contains(draft.idHex) }.keys.firstOrNull() ?: draftTag @@ -363,6 +365,22 @@ open class NewPostViewModel() : ViewModel() { wantsForwardZapTo = true } + val polls = draft.event?.tags()?.filter { it.size > 1 && it[0] == "poll_option" } ?: emptyList() + wantsPoll = polls.isNotEmpty() + + polls.forEach { + pollOptions[it[1].toInt()] = it[2] + } + + val minMax = draft.event?.tags()?.filter { it.size > 1 && (it[0] == "value_minimum" || it[0] == "value_maximum") } ?: listOf() + minMax.forEach { + if (it[0] == "value_maximum") { + valueMaximum = it[1].toInt() + } else if (it[0] == "value_minimum") { + valueMinimum = it[1].toInt() + } + } + message = TextFieldValue(draft.event?.content() ?: "") urlPreview = findUrlInMessage() }