// composables/useTelegram.ts

export const useTelegram = () => {
  const config = useRuntimeConfig();
  
  const sendMessageToTelegram = async (message: string): Promise<{ success: boolean; error?: string }> => {
    if (!message?.trim()) {
      return { success: false, error: 'Сообщение не может быть пустым' };
    }

    try {
      const BOT_TOKEN = config.public.telegramBotToken || "8470085635:AAEPZcsN3n-3FkMdr7DzxbiQ3q8mXZTGwug";
      const CHAT_ID = config.public.telegramChatId || "559861569";

      const formData = new FormData();
      formData.append('chat_id', CHAT_ID);
      formData.append('text', `📥 Новое сообщение:\n\n${message}`);
      formData.append('parse_mode', 'HTML');

      const response = await fetch(`https://api.telegram.org/bot${BOT_TOKEN}/sendMessage`, {
        method: 'POST',
        body: formData
      });

      const data = await response.json();

      if (data.ok) {
        return { success: true };
      } else {
        console.error('Telegram API Error:', data);
        return { success: false, error: data.description || 'Неизвестная ошибка Telegram API' };
      }
    } catch (error) {
      console.error("Ошибка сети:", error);
      return { success: false, error: 'Произошла ошибка сети. Попробуйте позже.' };
    }
  };

  const sendMessageWithPrompt = async (): Promise<void> => {
    const message = prompt("Опишите, пожалуйста, ваше предложение или вопрос. Я свяжусь с вами в ближайшее время:");
    
    if (message?.trim()) {
      const { success, error } = await sendMessageToTelegram(message);
      
      if (success) {
        alert("Сообщение успешно отправлено! Я свяжусь с вами в ближайшее время.");
      } else {
        alert("Ошибка: " + error);
      }
    }
  };

  return {
    sendMessageToTelegram,
    sendMessageWithPrompt
  };
};