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