40 lines
961 B
Python
40 lines
961 B
Python
from aiogram_dialog import Dialog, Window
|
|
from aiogram_dialog.widgets.kbd import Back, Cancel, Column, Select
|
|
from aiogram_dialog.widgets.text import Const, Format
|
|
|
|
from .getters import events_getter
|
|
from .states import EventsSG
|
|
|
|
|
|
async def on_event_selected(
|
|
c,
|
|
widget: Select,
|
|
manager,
|
|
item_id: str,
|
|
):
|
|
manager.dialog_data["selected_event"] = item_id
|
|
await manager.next()
|
|
|
|
events_dialog = Dialog(
|
|
Window(
|
|
Const("События"),
|
|
Column(
|
|
Cancel(Const("Назад")),
|
|
Select(
|
|
Format("{item}"),
|
|
id="categ",
|
|
item_id_getter=lambda x: x,
|
|
items="events",
|
|
on_click=on_event_selected,
|
|
),
|
|
),
|
|
getter=events_getter,
|
|
state=EventsSG.events_list,
|
|
),
|
|
Window(
|
|
Format("{dialog_data[selected_event]}"),
|
|
Back(Const("Назад")),
|
|
state=EventsSG.event,
|
|
),
|
|
)
|