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 });
}
});