diff --git a/ratings/source/src/jvmMain/kotlin/Plugin.kt b/ratings/source/src/jvmMain/kotlin/Plugin.kt index dfd4d00..047892b 100644 --- a/ratings/source/src/jvmMain/kotlin/Plugin.kt +++ b/ratings/source/src/jvmMain/kotlin/Plugin.kt @@ -122,13 +122,22 @@ object Plugin : Plugin { val panelApi = koin.getOrNull() val chatConfig = koin.get() + val panelApiOnPollUpdatesUpdateTrigger: suspend (PostId) -> Unit = if (config.panelButtonText.contains(currentRatingControlSymbol)) { + { + panelApi ?.forceRefresh(it) + } + } else { + { + + } + } onPollUpdates (markerFactory = { it.id }) { poll -> val postId = pollsToPostsIdsRepo.get(poll.id) ?: return@onPollUpdates val newRating = poll.options.sumOf { (variantsTransformer(it.textSources.makeSourceString()) ?.double ?.times(it.votes)) ?: 0.0 } ratingsRepo.set(postId, Rating(newRating)) - panelApi ?.forceRefresh(postId) + panelApiOnPollUpdatesUpdateTrigger(postId) } suspend fun attachPoll(postId: PostId): Boolean {