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, ), )