using BotPages.Core;
using BotPages.Core.Messaging;
namespace Demo.Pages;
///
/// Страница ввода деталей заявки.
///
public sealed class DetailsPage : StatefullPage
{
public override Task OnEnter(PageContext ctx, DetailsArgs args, CancellationToken ct)
=> new MessageBuilder(ctx)
.Text($"Заголовок: {args.Title}\nДобавьте детали или нажмите Далее.")
.Inline(new InlineButton("Далее", "next"), new InlineButton("Назад", "back"))
.Reply("Отмена")
.SendAsync(ct);
public override Task OnButton(PageContext ctx, string payload, CancellationToken ct)
=> payload switch
{
"next" => ctx.Navigation.GoToAsync(ctx, ct),
"back" => ctx.Navigation.GoToAsync(ctx, ct),
_ => Task.CompletedTask
};
}
///
/// Аргументы для страницы DetailsPage.
///
public sealed class DetailsArgs
{
public string Title { get; set; } = "";
}