import { MyContext } from "../../types/myContext";
import { getQRCodeByUri } from "../../api/qrCodes";

export async function manageMenuActions(ctx: MyContext) {
  const data = ctx.callbackQuery?.data;

  if (!data || !data.startsWith("manage:")) {
    return; // Игнорируем нерелевантные данные
  }

  const qrCodeUri = data.split(":")[1];

  try {
    const qrCode = await getQRCodeByUri(qrCodeUri);

    if (!qrCode) {
      await ctx.answerCallbackQuery({ text: "QR-код не найден." });
      return;
    }

    // Отображаем подменю для управления выбранным QR-кодом
    await ctx.editMessageText(
      `Вы выбрали QR-код: "${qrCode.name}". Что вы хотите сделать?`,
      {
        reply_markup: {
          inline_keyboard: [
            [
              { text: "Информация", callback_data: `manage:info:${qrCodeUri}` },
              {
                text: "Показать QR-код",
                callback_data: `manage:show:${qrCodeUri}`,
              },
            ],
            [
              {
                text: "❌ Удалить",
                callback_data: `manage:delete:${qrCodeUri}`,
              },
            ],
          ],
        },
      },
    );
  } catch (error) {
    console.error("Ошибка при обработке QR-кода:", qrCodeUri, error);
    await ctx.answerCallbackQuery({ text: "Произошла ошибка." });
  }
}
