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; } = ""; }