diff --git a/src/events/handlers/meta.js b/src/events/handlers/meta.js index 803cde8..07d6485 100644 --- a/src/events/handlers/meta.js +++ b/src/events/handlers/meta.js @@ -46,17 +46,30 @@ const { // 🔵 Quando escolhe o recurso → mostrar o modal if (interaction.isStringSelectMenu() && interaction.customId === 'selecionarRecurso') { const recurso = interaction.values[0]; - const valor = interaction.values[1]; + + // Obter o valor atual do recurso + const userId = interaction.user.id; + const [rows] = await conn.query('SELECT meta FROM users WHERE discord_id = ?', [userId]); + + if (!rows.length || !rows[0].meta) { + return interaction.reply({ content: '❌ Nenhuma meta encontrada.', ephemeral: true }); + } + + const metas = JSON.parse(rows[0].meta); + + // Verificar se o recurso existe e obter o valor atual + const recursoData = metas[recurso]; + const atual = recursoData ? recursoData.atual : 0; const modal = new ModalBuilder() .setCustomId(`definirMeta-${recurso}`) - .setTitle(`Adicionar s: ${valor}${recurso} `); + .setTitle(`Adicionar ou editar meta para ${recurso}`); const alvoInput = new TextInputBuilder() .setCustomId('alvo') .setLabel(`Nova meta para ${recurso}`) .setStyle(TextInputStyle.Short) - .setPlaceholder('Ex: 1000') + .setPlaceholder(`Ex: 1000 (Atual: ${atual})`) .setRequired(true); const row = new ActionRowBuilder().addComponents(alvoInput); @@ -99,8 +112,8 @@ const { const atual = metas[recurso]?.atual ?? 0; metas[recurso] = { - alvo: atual, - atual: novoAlvo, + alvo: novoAlvo, + atual: atual, // Não alterar o valor atual ao atualizar o alvo }; await conn.query('UPDATE users SET meta = ? WHERE discord_id = ?', [