33 lines
1.0 KiB
Python
33 lines
1.0 KiB
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()
|