# /opt/trueconf_bot/utils/menu.py
import config.config as config

MENU_MAP = {}
MENU_TEXT = ""
WELCOME_TEXT = ""  # 💡 Добавили шаблон для развернутого приветствия

def build_dynamic_menu():
    global MENU_MAP, MENU_TEXT, WELCOME_TEXT
    MENU_MAP.clear()

    # Старый формат keycap-цифр (как в VK)
    emoji_digits = {
        1: "1⃣",
        2: "2⃣",
        3: "3⃣",
        4: "4⃣",
        5: "5⃣",
        6: "6⃣",
        7: "7⃣",
        8: "8⃣",
        9: "9⃣",
        10: "🔟",
    }

    dynamic_items = []
    counter = 1

    # Безопасно проверяем флаги из конфига и наполняем массив пунктов
    if getattr(config, 'ENABLE_LK', True):
        num_char = emoji_digits.get(counter, str(counter))
        MENU_MAP[str(counter)] = "LK"
        MENU_MAP[num_char] = "LK"
        dynamic_items.append(f"{num_char} — 👤 Личный кабинет")
        counter += 1       
    
    if getattr(config, 'ENABLE_TRANSCRIPTION', True):
        num_char = emoji_digits.get(counter, str(counter))
        MENU_MAP[str(counter)] = "TRANSCRIPTION"
        MENU_MAP[num_char] = "TRANSCRIPTION"
        dynamic_items.append(f"{num_char} — 🎙 Расшифровка совещаний")
        counter += 1
    
    if getattr(config, 'ENABLE_SERVICE_DESK', True):
        num_char = emoji_digits.get(counter, str(counter))
        MENU_MAP[str(counter)] = "SD"
        MENU_MAP[num_char] = "SD"
        dynamic_items.append(f"{num_char} — 🎫 Создать заявку в Service Desk")
        counter += 1

    if getattr(config, 'ENABLE_PHOTO_BOT', True):
        num_char = emoji_digits.get(counter, str(counter))
        MENU_MAP[str(counter)] = "PHOTO"
        MENU_MAP[num_char] = "PHOTO"
        dynamic_items.append(f"{num_char} — Изменить фото профиля")
        counter += 1     

    if getattr(config, 'ENABLE_SEARCH_BOT', True):
        num_char = emoji_digits.get(counter, str(counter))
        MENU_MAP[str(counter)] = "SEARCH"
        MENU_MAP[num_char] = "SEARCH"
        dynamic_items.append(f"{num_char} — Поиск по регламентам")
        counter += 1

    if getattr(config, 'ENABLE_INSTRUCT', False):
        num_char = emoji_digits.get(counter, str(counter))
        MENU_MAP[str(counter)] = "INSTRUCT"
        MENU_MAP[num_char] = "INSTRUCT"
        dynamic_items.append(f"{num_char} — 📋 Инструкции")
        counter += 1

    if counter == 1:
        dynamic_items.append("<i>В данный момент бот находится на техническом обслуживании.</i>")

    # 1️⃣ Сценарий Б: Короткий шаблон для возврата из подмодулей
    MENU_TEXT = "🍀 <b>Главное меню:</b>\n\n" + "\n".join(dynamic_items)

    # 2️⃣ Сценарий А: Длинный приветственный шаблон для старта/таймаута (с исправленной грамматикой)
    WELCOME_TEXT = (
        "🍀 <b>Здравствуйте! Я КЛЕВЕР — ваш персональный цифровой ассистент.</b>\n\n"
        "С моей помощью вы можете быстро получить доступ к нижеперечисленным корпоративным сервисам.\n\n"
        "👇 Пожалуйста, отправьте мне в чат цифру, соответствующую нужному пункту меню:\n\n"
    ) + "\n".join(dynamic_items)

# Gенерируем меню один раз при импорте файла
build_dynamic_menu()