/**
 * پیام‌های عاشقانه و زیبای ربات
 */

// پیام‌های بیدار شدن (مخصوص ساعت‌های صبح)
const WAKE_UP_MESSAGES = [
    "🌅 بیدار شدی عزیزم! صبح بخیر عشقم 💕",
    "☀️ بیدار شو گلم! صبحت بخیر عزیز دلم 😘",
    "🌄 وقت بیدار شدنه عشقولیم! صبح بخیر 💖",
    "✨ بیدار شدی جوونم! صبح بخیر عزیزم 🥰",
    "🌻 بیدار شو گل من! صبح بخیر عشقم ❤️",
    "💫 بیدار شدی پرنسس من! صبح بخیر عزیز دلم 💕",
    "🌺 بیدار شو عزیزم! صبح بخیر گلم 😍",
    "⭐ بیدار شدی عشقم! صبح بخیر جوونم 💖",
    "🌅 صبح بخیر عشق زندگی! روز زیبایی در انتظارت 😘💕",
    "☀️ مائده جان! صبحت بخیر، امروز قراره عالی باشه! ✨",
    "🌄 بیدار شو گلم! خورشید منتظره تا ببینه چقدر قشنگ شدی امروز 🌺",
    "✨ صبح بخیر عزیزم! هر روز تو رو بیشتر دوست دارم 💖",
    "🌻 بیدار شدی عشقم! امروز روز عالی برای تو خواهد بود 💫",
    "💕 مائده گلم! صبح بخیر، امیدوارم خواب شیرین دیده باشی 😴✨"
];

// پیام‌های یادآوری عاشقانه
const LOVE_REMINDERS = [
    "عشقم گلم، وقتشه این کارو انجام بدی 💕",
    "عزیز دلم، یادت نره که اینو انجام بدی 😘",
    "جوونم، وقت کارته! برو انجامش بده فدات شم ❤️",
    "گل من، الان وقتشه که این کارو بکنی 🌹",
    "عشقولیم، انجام دادی اینو یا هنوز؟ 🥰",
    "پرنسس من، بریم که این کارو تیک بزنیم! ✨",
    "عزیزم، الان دقیقاً وقتشه! برو انجامش بده 💖",
    "گلم، این کار مهمه! یادت نره عشقم 🌸",
    "جوونم، وقتش رسیده! برو انجامش بده فدات شم 😍",
    "عشقم، اینو انجام بده تا خیالم راحت بشه 💕",
    "مائده جان! وقت کارهات رسیده 💫 من اینجام که یادت بدم 🌺",
    "عزیزم! این کارو یادت هست که باید انجام بدی؟ 😊💕",
    "گلم! من اینجام که بهت یادآوری کنم چون خیلی دوستت دارم 🥰",
    "عشقم! وقتشه یکم بیشتر تلاش کنی، من بهت ایمان دارم! 💪💖",
    "مائده گلم! این کار مهمه، انجامش بده تا من خوشحال بشم 😘✨"
];

// پیام‌های تأیید انجام کار
const COMPLETION_MESSAGES = [
    "آفرین عشقم! ✅ فدات شم که اینقدر منظمی 🥰",
    "عالی بود جوونم! ✅ خیلی خوب انجامش دادی 💖",
    "بهترینی عزیزم! ✅ فدات شم که اینقدر مسئولیت‌پذیری 😘",
    "آفرین گلم! ✅ خیلی خوشحالم که انجامش دادی 🌹",
    "عالی عشقولیم! ✅ فدات شم که اینقدر منظمی ✨",
    "بهترینی پرنسس من! ✅ خیلی خوشحالم 💕",
    "وای چقدر عالی! ✅ مائده جان تو واقعاً بهترینی! 🎉💕",
    "آفرین گلم! ✅ هر بار که کاراتو انجام می‌دی، بیشتر عاشقت می‌شم 😍",
    "عالی بود عشقم! ✅ اینقدر منظمی که بهت افتخار می‌کنم! 🌟",
    "بهترینی جوونم! ✅ خیلی خوشحالم که بهت کمک کردم! 💫",
    "آفرین مائده جان! ✅ تو واقعاً فوق‌العاده‌ای! 🏆💖",
    "عالی انجامش دادی عزیزم! ✅ خیلی خوشحالم! 😘✨"
];

// پیام‌های خوش‌آمدگویی
const WELCOME_MESSAGES = [
    "سلام عشقم! 😘💖",
    "سلام گلم! 💕✨",
    "سلام جوونم! 🥰💖",
    "سلام عزیز دلم! 😍💕"
];

// پاسخ‌های بانمک به تشکر
const THANK_YOU_RESPONSES = [
    "خواهش می‌کنم عشقم! 😘 همیشه در خدمتم 💕",
    "خواهش می‌کنم گلم! 😍 خوشحالم که کمکت کردم ✨",
    "خواهش می‌کنم جوونم! 🥰 هر وقت بخوای اینجام 💖",
    "خواهش می‌کنم عزیز دلم! 😘 فدات شم که اینقدر مودبی 🌹",
    "خواهش می‌کنم پرنسس من! 💕 خوشحالم که راضیت کردم 🌸",
    "خواهش می‌کنم گلم! 😍 همیشه خوشحالم که کمکت می‌کنم 💫",
    "خواهش می‌کنم عشقم! 🥰 این کار من بود که بهت کمک کنم ❤️",
    "خواهش می‌کنم جوونم! 😘 هر وقت بخوای اینجام برایت 💕"
];

// پاسخ‌های بانمک به پیام‌های مثبت و دوستانه
const POSITIVE_RESPONSES = [
    "آخی چقدر بانمکی! 😍 تو هم خیلی عزیزی گلم 💕",
    "وای چقدر قشنگ گفتی! 🥰 تو هم خیلی دوست‌داشتنی هستی ✨",
    "آخی عشقم! 😘 تو هم خیلی عزیزی، فدات شم 💖",
    "وای چقدر ممنونم! 😍 تو هم خیلی بانمکی جوونم 🌹",
    "آخی گلم! 🥰 خوشحالم که خوشت اومده، منم خوشحالم 💫",
    "وای چقدر قشنگ! 😘 تو هم خیلی عزیزی عشقم ❤️",
    "آخی پرنسس من! 😍 خوشحالم که راضیت کردم 💕",
    "وای چقدر دوست‌داشتنی! 🥰 تو هم خیلی عزیزی گلم ✨"
];

// پاسخ‌های بانمک به تعریف و تمجید
const COMPLIMENT_RESPONSES = [
    "آخی چقدر قشنگ گفتی! 😍 تو هم خیلی عزیزی گلم 💕",
    "وای چقدر ممنونم! 🥰 تو هم خیلی دوست‌داشتنی هستی ✨",
    "آخی عشقم! 😘 خوشحالم که خوشت اومده 💖",
    "وای چقدر بانمکی! 😍 تو هم خیلی عزیزی جوونم 🌹",
    "آخی گلم! 🥰 فدات شم که اینقدر مهربونی 💫",
    "وای چقدر قشنگ! 😘 تو هم خیلی عزیزی عشقم ❤️",
    "آخی پرنسس من! 😍 خوشحالم که راضیت کردم 💕",
    "وای چقدر دوست‌داشتنی! 🥰 تو هم خیلی عزیزی گلم ✨"
];

// پاسخ‌های به سلام
const GREETING_RESPONSES = [
    "سلام عشقم! 😘💖 چطوری؟",
    "سلام گلم! 💕✨ خوبی؟",
    "سلام جوونم! 🥰💖 چطوره؟",
    "سلام عزیز دلم! 😍💕 خوبی عشقم؟",
    "سلام پرنسس من! 💖 چطوری گلم؟",
    "سلام عشقولیم! ✨ خوبی جوونم؟"
];

// پاسخ‌های به "خوبی" و احوال‌پرسی
const HOW_ARE_YOU_RESPONSES = [
    "خوبم عشقم! 😘 ممنون که پرسیدی 💕",
    "عالیم گلم! 😍 تو خوبی؟ ✨",
    "خوبم جوونم! 🥰 فدات شم 💖",
    "عالیم عزیز دلم! 😘 تو چطوری؟ 🌹",
    "خوبم پرنسس من! 😍 ممنونم 💕",
    "عالیم گلم! 🥰 تو خوبی عشقم؟ ✨"
];

// پیام معرفی ربات
const ABOUT_MESSAGE = "سلام مائده عزیزم! 😘💕\n\nمن دستیار کوچولوت هستم که محمد عاشقانه برات نوشته! 💖\n\nمن اینجام که:\n✨ کاراتو با محبت یادآوری کنم\n💪 بهت انگیزه بدم\n🎯 کمک کنم که منظم‌تر باشی\n💕 همیشه کنارت باشم\n\nمن عاشق کمک کردن بهت هستم چون تو عزیزترین شخص هستی! 🥰✨";

// سناریوهای رندوم برای پیام‌های بی‌ربط
// استیکرها از stickerManager لود می‌شن

function getRandomItem(array) {
    return array[Math.floor(Math.random() * array.length)];
}

function getWakeUpMessage() {
    return getRandomItem(WAKE_UP_MESSAGES);
}

function getLoveReminder() {
    return getRandomItem(LOVE_REMINDERS);
}

function getCompletionMessage() {
    return getRandomItem(COMPLETION_MESSAGES);
}

function getWelcomeMessage() {
    return getRandomItem(WELCOME_MESSAGES);
}

function formatTaskMessage(task, timeStr, userName = 'مائده') {
    const hour = parseInt(timeStr.split(":")[0]);
    
    let emoji, timeDesc, personalMessage;
    if (hour < 6) {
        emoji = "🌙";
        timeDesc = "صبح زود";
        personalMessage = "صبح زود بیدار می‌شی عشقم! خیلی قوی هستی! 💪";
    } else if (hour < 12) {
        emoji = "☀️";
        timeDesc = "صبح";
        personalMessage = "صبح زیبایی داره امروز! 🌅";
    } else if (hour < 17) {
        emoji = "🌤️";
        timeDesc = "ظهر";
        personalMessage = "ظهر خوبی داشته باشی گلم! 😊";
    } else if (hour < 20) {
        emoji = "🌆";
        timeDesc = "عصر";
        personalMessage = "عصر خوبی داره عزیزم! ✨";
    } else {
        emoji = "🌙";
        timeDesc = "شب";
        personalMessage = "شب بخیر عشقم! 💫";
    }
    
    const messages = [
        `اوکی گلم! یادم می‌مونه ${emoji}\nساعت ${timeStr} (${timeDesc}) بهت یادآوری می‌کنم که:\n«${task}» 💖\n\n${personalMessage}`,
        `حتماً مائده جان! ${emoji}\nساعت ${timeStr} (${timeDesc}) یادت می‌ندازم:\n«${task}» 💕\n\n${personalMessage}`,
        `باشه عشقم! ${emoji}\n${timeDesc} ساعت ${timeStr} بهت یادآوری می‌کنم:\n«${task}» 🥰\n\n${personalMessage}`
    ];
    
    return messages[Math.floor(Math.random() * messages.length)];
}

function formatReminderMessage(task, isWakeUp = false) {
    const baseMessage = isWakeUp ? getWakeUpMessage() : getLoveReminder();
    
    return `${baseMessage}\n\n` +
           `📋 «${task}»\n\n` +
           `انجام دادی یا هنوز؟ 💕`;
}

function formatTodayTasks(tasks) {
    if (!tasks || tasks.length === 0) {
        return "امروز هیچ کاری ثبت نکردی عشقم! 😊\nحالا وقتشه یه چیزی اضافه کنی 💕";
    }
    
    // مرتب‌سازی کارها بر اساس زمان (از صبح به شب)
    const sortedTasks = [...tasks].sort((a, b) => {
        if (!a.time || !b.time) return 0;
        const timeA = a.time.split(' ')[1] || '00:00';
        const timeB = b.time.split(' ')[1] || '00:00';
        return timeA.localeCompare(timeB);
    });
    
    let msg = `📅 کارهای امروزت عزیزم (${sortedTasks.length} کار):\n\n`;
    
    // شمارش کارهای انجام شده
    const doneCount = sortedTasks.filter(t => t.done).length;
    const pendingCount = sortedTasks.length - doneCount;
    
    sortedTasks.forEach((t, i) => {
        const status = t.done ? "✅" : "⏳";
        const timeStr = t.time ? t.time.split(" ")[1] : "نامشخص";
        const taskName = t.task || 'بدون نام';
        const awareIcon = t.aware ? "👁️" : "";
        
        msg += `${i + 1}. ${status} 🕐 ${timeStr} - ${taskName}${awareIcon ? ' ' + awareIcon : ''}\n`;
    });
    
    // اضافه کردن خلاصه
    msg += `\n📊 خلاصه:\n`;
    msg += `✅ انجام شده: ${doneCount}\n`;
    msg += `⏳ باقی‌مانده: ${pendingCount}\n`;
    
    if (doneCount === sortedTasks.length && sortedTasks.length > 0) {
        msg += `\n🎉 عالی! تمام کارهای امروزت رو انجام دادی! 💕`;
    } else if (doneCount > 0) {
        msg += `\n💪 ادامه بده عشقم! خیلی خوب پیش می‌ری! ✨`;
    }
    
    return msg;
}

function getHelpMessage() {
    return `${getWelcomeMessage()}\n\n` +
           "من دستیار کوچولوت هستم که برنامه‌هاتو با کلی محبت یادآوری می‌کنم 💕\n\n" +
           "📝 برای اضافه کردن کار جدید:\n" +
           "• ساعت ۱۴:۳۰، برو ورزش\n" +
           "• ۱۶:۰۰، زنگ بزن به مامان\n" +
           "• ساعت ۲:۰۰، بیدار شو\n" +
           "• یا هر فرمت دیگه‌ای که بخوای! 😊\n\n" +
           "📋 دستورات من:\n" +
           "/today → کارهای امروزت رو ببین 📅\n" +
           "/report → گزارش روزانه عملکردت 📊\n" +
           "/stats → آمار کامل و پیشرفتت 📈\n" +
           "/suggest → پیشنهادهای هوشمند برای تو 💡\n" +
           "/motivate → یک پیام انگیزشی بشنو! 💪\n" +
           "/help → نمایش این راهنما 📖\n\n" +
           "💖 ویژگی‌های من:\n" +
           "✨ یادآوری دقیق در زمان مشخص\n" +
           "🎯 تحلیل هوشمند عملکرد\n" +
           "🏆 سیستم امتیاز و سطح\n" +
           "💕 پیام‌های عاشقانه و انگیزشی\n\n" +
           "من اینجام که کمکت کنم بهترین خودت باشی! 🌟";
}

function getThankYouResponse() {
    return getRandomItem(THANK_YOU_RESPONSES);
}

function getPositiveResponse() {
    return getRandomItem(POSITIVE_RESPONSES);
}

function getComplimentResponse() {
    return getRandomItem(COMPLIMENT_RESPONSES);
}

function getGreetingResponse() {
    return getRandomItem(GREETING_RESPONSES);
}

function getHowAreYouResponse() {
    return getRandomItem(HOW_ARE_YOU_RESPONSES);
}

function getAboutMessage() {
    return ABOUT_MESSAGE;
}

function getRandomScenario(userId = null) {
    const stickerManager = require('./stickerManager');
    const { getScenario1Sticker, getScenario2YesSticker, getScenario2NoSticker } = stickerManager;

    // اگر userId داریم، سناریوهای هوشمند انتخاب کنیم
    if (userId) {
        const analytics = require('./analytics');
        const patterns = analytics.detectBehavioralPatterns(userId);

        // سناریوهای هوشمند بر اساس الگوها
        const smartScenarios = [];

        // برای procrastinator - سناریوی انگیزشی
        if (patterns.procrastinator) {
            smartScenarios.push({
                question: "مائده جان! وقتشه یه کاری انجام بدی، دیگه تعویق نیانداز! 💪💕",
                type: 'motivation'
            });
        }

        // برای morning person - سناریوی صبحگاهی
        if (patterns.morningPerson) {
            smartScenarios.push({
                question: "مائده! صبح بخیر گلم! وقتشه روز رو عالی شروع کنی! 🌅💖",
                type: 'morning'
            });
        }

        // برای overAchiever - سناریوی استراحت
        if (patterns.overAchiever) {
            smartScenarios.push({
                question: "مائده عزیزم! اینقدر زحمت نکش، یه کم استراحت کن! 😘💕",
                type: 'rest'
            });
        }

        // برای consistent - سناریوی تشویق
        if (patterns.consistent) {
            smartScenarios.push({
                question: "مائده گلم! مثل همیشه منظمی، آفرین! 🎉💕",
                type: 'praise'
            });
        }

        if (smartScenarios.length > 0) {
            return getRandomItem(smartScenarios);
        }
    }

    // سناریوهای عادی
    const scenarios = [];

    // سناریو 1: نصیحت
    const scenario1Sticker = getScenario1Sticker();
    if (scenario1Sticker) {
        scenarios.push({
            question: "میخوای یه نصیحتت کنم؟ 😏💕",
            yesSticker: scenario1Sticker,
            type: 'advice'
        });
    }

    // سناریو 2: اعتراض
    const scenario2Yes = getScenario2YesSticker();
    const scenario2No = getScenario2NoSticker();
    if (scenario2Yes || scenario2No) {
        scenarios.push({
            question: "تو نسبت به محمد اعتراضی داری؟ 😂💖",
            yesSticker: scenario2Yes,
            noSticker: scenario2No,
            type: 'complaint'
        });
    }

    if (scenarios.length > 0) {
        return getRandomItem(scenarios);
    }

    // اگر استیکری تنظیم نشده، سناریوی پیش‌فرض با فایل محلی
    const defaultScenario = {
        question: "میخوای یه نصیحتت کنم؟ 😏💕",
        yesSticker: 'stik/1.webm', // فایل محلی
        noSticker: null,
        type: 'advice'
    };

    return defaultScenario;
}

function getRandomSuccessSticker() {
    const stickerManager = require('./stickerManager');
    return stickerManager.getRandomSuccessSticker();
}

function getLazySticker() {
    const stickerManager = require('./stickerManager');
    return stickerManager.getLazySticker();
}

function formatDailyReport(stats) {
    const { notAware, awareNotDone, awareAndDone, doneWithoutAware, total, totalDone } = stats;

    let report = `📊 گزارش روزانه عشقم:\n\n`;
    report += `تو ${notAware} تا کار رو اصلا حواست نبود 😅\n`;
    report += `${awareNotDone} تا رو حواست بود انجام ندادی ⏳\n`;
    report += `${awareAndDone} تا رو حواست بود و انجام دادی ✅\n`;
    report += `${doneWithoutAware} تا رو انجام دادی ولی حواست نبود 🎯\n\n`;

    // ارزیابی عملکرد - بر اساس تمام کارای انجام شده
    const doneRate = total > 0 ? (totalDone / total) * 100 : 0;

    if (doneRate >= 80) {
        report += `تروکوندی عشقم! 🎉 عالی بود، خیلی منظمی 💪💖`;
    } else if (doneRate >= 60) {
        report += `عالی بود گلم! 😊 خیلی خوب پیش رفتی ✨`;
    } else if (doneRate >= 40) {
        report += `بدک نبود عزیزم! 😊 ولی می‌تونی بهتر از این باشی 💕`;
    } else {
        report += `خوب نبود جوونم 😔 فردا بیشتر تلاش کن، من بهت ایمان دارم! 💖`;
    }

    return report;
}

module.exports = {
    getWakeUpMessage,
    getLoveReminder,
    getCompletionMessage,
    getWelcomeMessage,
    formatTaskMessage,
    formatReminderMessage,
    formatTodayTasks,
    getHelpMessage,
    getThankYouResponse,
    getPositiveResponse,
    getComplimentResponse,
    getGreetingResponse,
    getHowAreYouResponse,
    getAboutMessage,
    getRandomScenario,
    getRandomSuccessSticker,
    getLazySticker,
    formatDailyReport
};

