From 7e9968ced94823d9531f9f84cc8b0ab051cccd43 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 15 Aug 2022 01:12:39 +0600 Subject: [PATCH 1/2] add work with alerts in webapp --- WebApp/src/jsMain/kotlin/main.kt | 57 ++++++++++++++++++++++++++++++++ gradle.properties | 2 +- 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/WebApp/src/jsMain/kotlin/main.kt b/WebApp/src/jsMain/kotlin/main.kt index 37e0080..b317f5f 100644 --- a/WebApp/src/jsMain/kotlin/main.kt +++ b/WebApp/src/jsMain/kotlin/main.kt @@ -3,6 +3,7 @@ import dev.inmo.tgbotapi.types.webAppQueryIdField import dev.inmo.tgbotapi.webapps.* import dev.inmo.tgbotapi.webapps.haptic.HapticFeedbackStyle import dev.inmo.tgbotapi.webapps.haptic.HapticFeedbackType +import dev.inmo.tgbotapi.webapps.popup.* import io.ktor.client.HttpClient import io.ktor.client.request.* import io.ktor.client.statement.bodyAsText @@ -68,6 +69,62 @@ fun main() { }) appendText("Example button") } ?: window.alert("Unable to load body") + + document.body ?.appendElement("p", {}) + document.body ?.appendText("Alerts:") + + document.body ?.appendElement("button") { + addEventListener("click", { + webApp.showPopup( + PopupParams( + "It is sample title of default button", + "It is sample message of default button", + DefaultPopupButton("default", "Default button"), + OkPopupButton("ok"), + DestructivePopupButton("destructive", "Destructive button") + ) + ) { + document.body ?.log( + when (it) { + "default" -> "You have clicked default button in popup" + "ok" -> "You have clicked ok button in popup" + "destructive" -> "You have clicked destructive button in popup" + else -> "I can't imagine where you take button with id $it" + } + ) + } + }) + appendText("Popup") + } ?: window.alert("Unable to load body") + + document.body ?.appendElement("button") { + addEventListener("click", { + webApp.showAlert( + "This is alert message" + ) { + document.body ?.log( + "You have closed alert" + ) + } + }) + appendText("Alert") + } ?: window.alert("Unable to load body") + + document.body ?.appendElement("button") { + addEventListener("click", { + webApp.showConfirm( + "This is confirm message" + ) { + document.body ?.log( + "You have pressed \"${if (it) "Ok" else "Cancel"}\" in confirm" + ) + } + }) + appendText("Confirm") + } ?: window.alert("Unable to load body") + + document.body ?.appendElement("p", {}) + webApp.apply { onThemeChanged { document.body ?.log("Theme changed: ${webApp.themeParams}") diff --git a/gradle.properties b/gradle.properties index 3d9349a..c5519fa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ org.gradle.jvmargs=-Xmx768m kotlin_version=1.7.10 -telegram_bot_api_version=3.1.0 +telegram_bot_api_version=3.1.1 micro_utils_version=0.12.1 serialization_version=1.4.0-RC ktor_version=2.1.0 From 0c5186a37d70c24d29d70fe6c0b034b08d022c94 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 15 Aug 2022 01:28:42 +0600 Subject: [PATCH 2/2] add toggle closing confirmation button --- WebApp/src/jsMain/kotlin/main.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/WebApp/src/jsMain/kotlin/main.kt b/WebApp/src/jsMain/kotlin/main.kt index b317f5f..8adf3f7 100644 --- a/WebApp/src/jsMain/kotlin/main.kt +++ b/WebApp/src/jsMain/kotlin/main.kt @@ -125,6 +125,23 @@ fun main() { document.body ?.appendElement("p", {}) + document.body ?.appendElement("button") { + fun updateText() { + textContent = if (webApp.isClosingConfirmationEnabled) { + "Disable closing confirmation" + } else { + "Enable closing confirmation" + } + } + addEventListener("click", { + webApp.toggleClosingConfirmation() + updateText() + }) + updateText() + } ?: window.alert("Unable to load body") + + document.body ?.appendElement("p", {}) + webApp.apply { onThemeChanged { document.body ?.log("Theme changed: ${webApp.themeParams}")