add support for polls

This commit is contained in:
greenart7c3 2024-03-18 14:37:51 -03:00
parent f7ab925b1d
commit 84faa7557e

View File

@ -309,6 +309,8 @@ open class NewPostViewModel() : ViewModel() {
draft: Note, draft: Note,
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
) { ) {
Log.d("draft", draft.event!!.toJson())
draftTag = LocalCache.drafts.filter { draftTag = LocalCache.drafts.filter {
it.value.contains(draft.idHex) it.value.contains(draft.idHex)
}.keys.firstOrNull() ?: draftTag }.keys.firstOrNull() ?: draftTag
@ -363,6 +365,22 @@ open class NewPostViewModel() : ViewModel() {
wantsForwardZapTo = true 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() ?: "") message = TextFieldValue(draft.event?.content() ?: "")
urlPreview = findUrlInMessage() urlPreview = findUrlInMessage()
} }