42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
from aiogram_dialog import Dialog, Window
|
|
from aiogram_dialog.widgets.kbd import Back, Button, Cancel, Column, Select
|
|
from aiogram_dialog.widgets.text import Case, Const, Format, Jinja
|
|
|
|
from app.bot.dialogs.templates import event_template
|
|
|
|
from .getters import event_getter, events_list_getter
|
|
from .handlers import change_registration, on_event_selected
|
|
from .states import EventsSG
|
|
|
|
events_dialog = Dialog(
|
|
Window(
|
|
Const("Мероприятия"),
|
|
Column(
|
|
Cancel(Const("Назад")),
|
|
Select(
|
|
Format("{item[title]}"),
|
|
id="categ",
|
|
item_id_getter=lambda x: x["id"],
|
|
items="events",
|
|
on_click=on_event_selected,
|
|
),
|
|
),
|
|
getter=events_list_getter,
|
|
state=EventsSG.events_list,
|
|
),
|
|
Window(
|
|
Jinja(event_template),
|
|
Button(
|
|
Case(
|
|
[Const("зарегистрироваться"), Const("отменить регистрацию")],
|
|
selector="is_registered_to_event",
|
|
),
|
|
on_click=change_registration,
|
|
),
|
|
Back(Const("Назад")),
|
|
getter=event_getter,
|
|
parse_mode="HTML",
|
|
state=EventsSG.event,
|
|
),
|
|
)
|