import { MyContext } from "../../types/myContext";
import { getQRCodesByUser } from "../../api/qrCodes";
import { buildManageKeyboard } from "../../bot/utils/keyboards";

/**
 * Обработка команды /manage с выводом подменю
 */
export async function manageCommand(ctx: MyContext) {
  if (!ctx.userDoc) {
    await ctx.reply(
      "Ваш профиль не найден. Попробуйте снова или обратитесь в поддержку.",
    );
    return;
  }

  try {
    const qrCodes = await getQRCodesByUser(ctx.userDoc.user_uuid);

    if (qrCodes.length === 0) {
      await ctx.reply(
        "У вас ещё нет QR-кодов. Используйте команду /new для создания.",
      );
      return;
    }

    // Генерация клавиатуры с QR-кодами
    const keyboard = buildManageKeyboard(qrCodes);

    await ctx.reply("Выберите QR-код для управления:", {
      reply_markup: {
        inline_keyboard: keyboard,
      },
    });
  } catch (error) {
    console.error("Ошибка при получении QR-кодов:", error);
    await ctx.reply(
      "Произошла ошибка при загрузке ваших QR-кодов. Попробуйте позже.",
    );
  }
}
