from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton from app.config import SERVICES from app.keyboards.back import get_back_button def get_services_keyboard(): buttons = [ [InlineKeyboardButton(text=name, callback_data=key)] for key, name in SERVICES.items() ] buttons.append(get_back_button()) return InlineKeyboardMarkup(inline_keyboard=buttons) def get_extra_services_keyboard(already_selected: list[str] | None = None): """Keyboard for selecting extra services. Shows ticked/unticked.""" if already_selected is None: already_selected = [] buttons = [] for key, name in SERVICES.items(): if name in already_selected: label = "\u2705 " + name else: label = name buttons.append([InlineKeyboardButton(text=label, callback_data="extra_" + key)]) # Done button buttons.append([InlineKeyboardButton(text="\u2705 \u0413\u043e\u0442\u043e\u0432\u043e", callback_data="extra_done")]) buttons.append(get_back_button()) return InlineKeyboardMarkup(inline_keyboard=buttons)