create event

This commit is contained in:
2025-10-03 14:09:43 +03:00
parent 2056558ea8
commit 7734adda8b
18 changed files with 399 additions and 88 deletions

View File

@@ -1,39 +1,34 @@
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 aiogram_dialog.widgets.text import Const, Format, Jinja
from .getters import events_getter
from app.bot.dialogs.templates import event_template
from .getters import event_getter, events_list_getter
from .handlers import on_event_selected
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}"),
Format("{item[title]}"),
id="categ",
item_id_getter=lambda x: x,
item_id_getter=lambda x: x["id"],
items="events",
on_click=on_event_selected,
),
),
getter=events_getter,
getter=events_list_getter,
state=EventsSG.events_list,
),
Window(
Format("{dialog_data[selected_event]}"),
Jinja(event_template),
Back(Const("Назад")),
getter=event_getter,
parse_mode="HTML",
state=EventsSG.event,
),
)