Add settings display

This commit is contained in:
BarsTiger
2023-11-05 15:37:02 +02:00
parent ee0a0ff285
commit e5a4fc5384
13 changed files with 186 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
from aiogram.utils.keyboard import (InlineKeyboardMarkup, InlineKeyboardButton,
InlineKeyboardBuilder)
from bot.callbacks.factories.full_menu import FullMenuCallback
from bot.factories.full_menu import FullMenuCallback
def get_full_menu_kb() -> InlineKeyboardMarkup:

View File

@@ -0,0 +1,31 @@
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(
choice=choice,
).pack()
)
] for choice in setting.choices.keys()
] + [[
InlineKeyboardButton(
text='🔙',
callback_data=FullMenuCallback(
action='settings'
).pack()
)
]]
return InlineKeyboardBuilder(buttons).as_markup()

View File

@@ -0,0 +1,28 @@
from aiogram.utils.keyboard import (InlineKeyboardMarkup, InlineKeyboardButton,
InlineKeyboardBuilder)
from bot.factories.open_setting import OpenSettingCallback
from bot.factories.full_menu import FullMenuCallback
from bot.modules.settings import settings_strings
def get_settings_kb() -> InlineKeyboardMarkup:
buttons = [
[
InlineKeyboardButton(
text=settings_strings[setting_id].name,
callback_data=OpenSettingCallback(
s_id=setting_id,
).pack()
)
] for setting_id in settings_strings.keys()
] + [[
InlineKeyboardButton(
text='🔙',
callback_data=FullMenuCallback(
action='home'
).pack()
)
]]
return InlineKeyboardBuilder(buttons).as_markup()