35 lines
999 B
Python
35 lines
999 B
Python
from aiogram.utils.keyboard import (
|
|
InlineKeyboardMarkup,
|
|
InlineKeyboardButton,
|
|
InlineKeyboardBuilder,
|
|
)
|
|
from bot.factories.open_setting import SettingChoiceCallback
|
|
from bot.factories.full_menu import FullMenuCallback
|
|
|
|
from bot.modules.settings import UserSettings
|
|
|
|
|
|
def get_setting_kb(s_id: str, user_id: str) -> InlineKeyboardMarkup:
|
|
setting = UserSettings(user_id)[s_id]
|
|
buttons = [
|
|
[
|
|
InlineKeyboardButton(
|
|
text=("✅ " if setting.value == choice else "")
|
|
+ setting.choices[choice],
|
|
callback_data=SettingChoiceCallback(
|
|
s_id=s_id,
|
|
choice=choice,
|
|
).pack(),
|
|
)
|
|
]
|
|
for choice in setting.choices.keys()
|
|
] + [
|
|
[
|
|
InlineKeyboardButton(
|
|
text="🔙", callback_data=FullMenuCallback(action="settings").pack()
|
|
)
|
|
]
|
|
]
|
|
|
|
return InlineKeyboardBuilder(buttons).as_markup()
|