diff --git a/.replit b/.replit index 1dec3b0..9585c0f 100644 --- a/.replit +++ b/.replit @@ -21,10 +21,6 @@ externalPort = 80 localPort = 8080 externalPort = 8080 -[[ports]] -localPort = 41927 -externalPort = 3000 - [workflows] runButton = "Project" diff --git a/aethex-bot/public/dashboard.html b/aethex-bot/public/dashboard.html index f23e193..f4d5324 100644 --- a/aethex-bot/public/dashboard.html +++ b/aethex-bot/public/dashboard.html @@ -2359,7 +2359,7 @@
${ITEM_TYPES[item.item_type]?.emoji || '🎁'}
-
${item.name} ${!item.available ? '(Disabled)' : ''}
+
${item.name} ${!item.enabled ? '(Disabled)' : ''}
${item.price.toLocaleString()} XP | Stock: ${item.stock ?? 'Unlimited'}${item.level_required > 0 ? ' | Level ' + item.level_required : ''}
@@ -2386,7 +2386,7 @@ document.getElementById('shopItemStock').value = item?.stock ?? ''; document.getElementById('shopItemLevelReq').value = item?.level_required || 0; document.getElementById('shopItemPrestigeReq').value = item?.prestige_required || 0; - document.getElementById('shopItemEnabled').checked = item?.available !== false; + document.getElementById('shopItemEnabled').checked = item?.enabled !== false; document.getElementById('shopModal').classList.remove('hidden'); } @@ -2414,7 +2414,7 @@ stock: stockVal === '' || stockVal === '-1' ? null : parseInt(stockVal), level_required: parseInt(document.getElementById('shopItemLevelReq').value) || 0, prestige_required: parseInt(document.getElementById('shopItemPrestigeReq').value) || 0, - available: document.getElementById('shopItemEnabled').checked + enabled: document.getElementById('shopItemEnabled').checked }; try { diff --git a/aethex-bot/server/webServer.js b/aethex-bot/server/webServer.js index 3f394c5..c36643a 100644 --- a/aethex-bot/server/webServer.js +++ b/aethex-bot/server/webServer.js @@ -929,7 +929,7 @@ function createWebServer(discordClient, supabase, options = {}) { return res.status(403).json({ error: 'No admin access' }); } - const { name, item_type, description, price, stock, level_required, prestige_required, available } = req.body; + const { name, item_type, description, price, stock, level_required, prestige_required, enabled, category, item_data } = req.body; try { const itemData = { @@ -937,11 +937,13 @@ function createWebServer(discordClient, supabase, options = {}) { name, item_type: item_type || 'cosmetic', description: description || null, + category: category || null, price: price || 100, stock: stock || null, + item_data: item_data || null, level_required: level_required || 0, prestige_required: prestige_required || 0, - available: available !== false, + enabled: enabled !== false, created_at: new Date().toISOString() }; @@ -952,7 +954,7 @@ function createWebServer(discordClient, supabase, options = {}) { res.json({ success: true }); } catch (error) { console.error('Failed to create shop item:', error); - res.status(500).json({ error: 'Failed to create shop item' }); + res.status(500).json({ error: 'Failed to create shop item', details: error.message }); } }); @@ -973,7 +975,7 @@ function createWebServer(discordClient, supabase, options = {}) { return res.status(403).json({ error: 'No admin access' }); } - const { name, item_type, description, price, stock, level_required, prestige_required, available } = req.body; + const { name, item_type, description, price, stock, level_required, prestige_required, enabled, category, item_data } = req.body; try { const { error } = await supabase @@ -982,11 +984,14 @@ function createWebServer(discordClient, supabase, options = {}) { name, item_type: item_type || 'cosmetic', description: description || null, + category: category || null, price: price || 100, stock: stock || null, + item_data: item_data || null, level_required: level_required || 0, prestige_required: prestige_required || 0, - available: available !== false + enabled: enabled !== false, + updated_at: new Date().toISOString() }) .eq('id', itemId) .eq('guild_id', guildId); @@ -996,7 +1001,7 @@ function createWebServer(discordClient, supabase, options = {}) { res.json({ success: true }); } catch (error) { console.error('Failed to update shop item:', error); - res.status(500).json({ error: 'Failed to update shop item' }); + res.status(500).json({ error: 'Failed to update shop item', details: error.message }); } });