mirror of
https://github.com/InsanusMokrassar/PlaguPoster.git
synced 2025-12-08 05:55:40 +00:00
fixes
This commit is contained in:
@@ -3,6 +3,21 @@ package dev.inmo.plaguposter.posts.panel
|
||||
import dev.inmo.plaguposter.posts.models.RegisteredPost
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardButtons.InlineKeyboardButton
|
||||
|
||||
fun interface PanelButtonBuilder {
|
||||
interface PanelButtonBuilder {
|
||||
val weight: Int
|
||||
suspend fun buildButton(post: RegisteredPost): InlineKeyboardButton?
|
||||
|
||||
class Default(override val weight: Int = 0, private val block: suspend (RegisteredPost) -> InlineKeyboardButton?) : PanelButtonBuilder {
|
||||
override suspend fun buildButton(post: RegisteredPost): InlineKeyboardButton? = block(post)
|
||||
}
|
||||
|
||||
companion object {
|
||||
operator fun invoke(block: suspend (RegisteredPost) -> InlineKeyboardButton?) = Default(
|
||||
block = block
|
||||
)
|
||||
operator fun invoke(weight: Int, block: suspend (RegisteredPost) -> InlineKeyboardButton?) = Default(
|
||||
weight,
|
||||
block
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user