diff --git a/TelegramBotBase/Base/FormBase.cs b/TelegramBotBase/Base/FormBase.cs index 4b22b1c..479e5ee 100644 --- a/TelegramBotBase/Base/FormBase.cs +++ b/TelegramBotBase/Base/FormBase.cs @@ -26,16 +26,6 @@ public class FormBase : IDisposable public EventHandlerList Events = new(); - public FormBase() - { - Controls = new List(); - } - - public FormBase(MessageClient client) : this() - { - Client = client; - } - public NavigationController NavigationController { get; set; } public DeviceSession Device { get; set; } @@ -49,6 +39,16 @@ public class FormBase : IDisposable public List Controls { get; set; } + public FormBase() + { + Controls = new List(); + } + + public FormBase(MessageClient client) : this() + { + Client = client; + } + /// /// Cleanup /// diff --git a/TelegramBotBase/Form/WebAppButtonBase.cs b/TelegramBotBase/Form/WebAppButtonBase.cs new file mode 100644 index 0000000..7bd0de1 --- /dev/null +++ b/TelegramBotBase/Form/WebAppButtonBase.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Telegram.Bot.Types; +using Telegram.Bot.Types.ReplyMarkups; + +namespace TelegramBotBase.Form +{ + public class WebAppButtonBase : ButtonBase + { + public WebAppInfo WebAppInfo { get; set; } + + public WebAppButtonBase() + { + + } + + public WebAppButtonBase(String Text, WebAppInfo WebAppInfo) + { + this.Text = Text; + this.WebAppInfo = WebAppInfo; + } + + /// + /// Returns an inline Button + /// + /// + /// + public override InlineKeyboardButton ToInlineButton(ButtonForm form) + { + return InlineKeyboardButton.WithWebApp(this.Text, this.WebAppInfo); + } + + + /// + /// Returns a KeyBoardButton + /// + /// + /// + public override KeyboardButton ToKeyboardButton(ButtonForm form) + { + return KeyboardButton.WithWebApp(this.Text, this.WebAppInfo); + } + + } +}