import { createCommand } from "@/lib/utils";
import { SlashCommandBuilder, MessageFlags } from "discord.js";
import { questService } from "@/modules/quest/quest.service";
import { createWarningEmbed } from "@lib/embeds";
import { getQuestListEmbed } from "@/modules/quest/quest.view";

export const quests = createCommand({
    data: new SlashCommandBuilder()
        .setName("quests")
        .setDescription("View your active quests"),
    execute: async (interaction) => {
        await interaction.deferReply({ flags: MessageFlags.Ephemeral });

        const userQuests = await questService.getUserQuests(interaction.user.id);

        if (!userQuests || userQuests.length === 0) {
            await interaction.editReply({ embeds: [createWarningEmbed("You have no active quests.", "Quest Log")] });
            return;
        }

        const embed = getQuestListEmbed(userQuests);

        await interaction.editReply({ embeds: [embed] });
    }
});
