const { SlashCommandBuilder, EmbedBuilder } = require('discord.js');
const fs = require('fs');
const path = require('path');

const COMPELET_FILE = path.join(__dirname, '../compelet.js');
const config = require('../config.js');

function loadJS(file) {
  if (!fs.existsSync(file)) return {};
  delete require.cache[require.resolve(file)];
  return require(file) || {};
}

function saveJS(file, data) {
  const content = 'module.exports = ' + JSON.stringify(data, null, 2) + ';\n';
  fs.writeFileSync(file, content, 'utf8');
}

module.exports = {
  data: new SlashCommandBuilder()
    .setName('removepartner')
    .setDescription('حذف سيرفر من قائمة البارتنرز')
    .addStringOption(opt => 
      opt.setName('serverid')
        .setDescription('ID السيرفر')
        .setRequired(true)
    ),

  async execute(interaction) {
    try {
      const guildId = interaction.guild.id;
      const guildConfig = config[guildId];
      if (!guildConfig) 
        return interaction.reply({ content: '⚠ إعدادات السيرفر غير موجودة', ephemeral: true });

      const adminRoleId = String(guildConfig.adminPartnerID);
      if (!interaction.member.roles.cache.has(adminRoleId))
        return interaction.reply({ content: '🚫 هذا الأمر مخصص لستاف البارتنرز فقط', ephemeral: true });

      const serverId = interaction.options.getString('serverid').trim();
      const compelet = loadJS(COMPELET_FILE);

      if (!compelet || !compelet.partners || !compelet.partners[serverId])
        return interaction.reply({ content: '⚠ السيرفر غير موجود في قائمة البارتنرز', ephemeral: true });

      const removed = compelet.partners[serverId];
      delete compelet.partners[serverId];
      saveJS(COMPELET_FILE, compelet);

      const embed = new EmbedBuilder()
        .setTitle('🗑 تم حذف سيرفر من البارتنرز')
        .setColor('#ff0000') // لون أحمر للحذف
        .addFields(
          { name: '🧾 ID السيرفر', value: serverId, inline: true },
          { name: '📛 الاسم', value: removed?.name || 'غير معروف', inline: true },
          { name: '👤 تم الحذف بواسطة', value: interaction.user.tag, inline: false }
        )
        .setTimestamp()
        .setFooter({ text: 'ستاف البارتنرز فقط', iconURL: interaction.user.displayAvatarURL() });

      await interaction.reply({ embeds: [embed], ephemeral: true });

    } catch (err) {
      console.error('RemovePartner error:', err);
      if (!interaction.replied)
        await interaction.reply({ content: '❌ حدث خطأ أثناء تنفيذ الأمر', ephemeral: true });
    }
  }
};
