From 698f294091e5b2c3e36b65e78fa8ad664367ab5d Mon Sep 17 00:00:00 2001 From: sirpiglr <49359077-sirpiglr@users.noreply.replit.com> Date: Wed, 10 Dec 2025 00:10:45 +0000 Subject: [PATCH] Update website layout and routing for features and commands pages Adds explicit routes for `/features` and `/commands` in `webServer.js` and refactors the CSS in `commands.html` to implement a tabbed interface for command categories. Replit-Commit-Author: Agent Replit-Commit-Session-Id: aed2e46d-25bb-4b73-81a1-bb9e8437c261 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 6dc964b3-5abf-4d4a-9ac7-90bc8da671b6 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/3bdfff67-975a-46ad-9845-fbb6b4a4c4b5/aed2e46d-25bb-4b73-81a1-bb9e8437c261/RUkyrBF Replit-Helium-Checkpoint-Created: true --- .replit | 2 +- aethex-bot/public/commands.html | 607 ++++++++++++++++++++------------ aethex-bot/server/webServer.js | 8 + 3 files changed, 399 insertions(+), 218 deletions(-) diff --git a/.replit b/.replit index 9ff4e1b..8daabef 100644 --- a/.replit +++ b/.replit @@ -22,7 +22,7 @@ localPort = 8080 externalPort = 8080 [[ports]] -localPort = 33559 +localPort = 41685 externalPort = 3000 [workflows] diff --git a/aethex-bot/public/commands.html b/aethex-bot/public/commands.html index e5b8f6e..167c788 100644 --- a/aethex-bot/public/commands.html +++ b/aethex-bot/public/commands.html @@ -130,7 +130,7 @@ } .page-header { - padding: 4rem 0 2rem; + padding: 4rem 0 3rem; text-align: center; } @@ -153,93 +153,6 @@ margin: 0 auto; } - .search-box { - max-width: 500px; - margin: 2rem auto 3rem; - position: relative; - } - - .search-box input { - width: 100%; - padding: 1rem 1rem 1rem 3rem; - background: var(--card); - border: 1px solid var(--card-border); - border-radius: 12px; - color: var(--foreground); - font-size: 1rem; - outline: none; - transition: border-color 0.2s; - } - - .search-box input:focus { - border-color: var(--primary); - } - - .search-box input::placeholder { - color: var(--muted); - } - - .search-box svg { - position: absolute; - left: 1rem; - top: 50%; - transform: translateY(-50%); - color: var(--muted); - } - - .command-category { - margin-bottom: 3rem; - } - - .category-title { - display: flex; - align-items: center; - gap: 0.75rem; - font-size: 1.25rem; - font-weight: 600; - margin-bottom: 1rem; - padding-bottom: 0.75rem; - border-bottom: 1px solid var(--border); - } - - .category-title span { - font-size: 1.5rem; - } - - .commands-list { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); - gap: 1rem; - } - - .command-item { - background: var(--card); - border: 1px solid var(--card-border); - border-radius: 10px; - padding: 1rem 1.25rem; - transition: all 0.2s; - } - - .command-item:hover { - border-color: var(--card-border-hover); - } - - .command-item.hidden { - display: none; - } - - .command-name { - font-family: 'Fira Code', 'Consolas', monospace; - color: var(--primary-light); - font-weight: 600; - margin-bottom: 0.25rem; - } - - .command-desc { - color: var(--muted); - font-size: 0.85rem; - } - .back-link { display: inline-flex; align-items: center; @@ -254,15 +167,92 @@ text-decoration: underline; } - .no-results { - text-align: center; - padding: 3rem; + .tabs-container { + margin-bottom: 4rem; + } + + .tabs { + display: flex; + gap: 0.5rem; + justify-content: center; + flex-wrap: wrap; + margin-bottom: 2rem; + padding: 0.5rem; + background: var(--card); + border: 1px solid var(--card-border); + border-radius: 12px; + } + + .tab { + padding: 0.75rem 1.25rem; + border: none; + background: transparent; color: var(--muted); + font-size: 0.9rem; + font-weight: 500; + cursor: pointer; + border-radius: 8px; + transition: all 0.2s; + display: flex; + align-items: center; + gap: 0.5rem; + } + + .tab:hover { + color: var(--foreground); + background: rgba(99, 102, 241, 0.1); + } + + .tab.active { + background: linear-gradient(135deg, var(--gradient-1), var(--gradient-2)); + color: white; + } + + .tab-content { display: none; } - .no-results.show { + .tab-content.active { display: block; + animation: fadeIn 0.3s ease; + } + + @keyframes fadeIn { + from { opacity: 0; transform: translateY(10px); } + to { opacity: 1; transform: translateY(0); } + } + + .commands-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); + gap: 1rem; + } + + .command-card { + background: var(--card); + border: 1px solid var(--card-border); + border-radius: 12px; + padding: 1.25rem; + transition: all 0.2s; + } + + .command-card:hover { + border-color: var(--card-border-hover); + transform: translateY(-2px); + } + + .command-name { + font-family: 'Fira Code', 'Consolas', monospace; + color: var(--primary-light); + font-weight: 600; + font-size: 1rem; + margin-bottom: 0.5rem; + } + + .command-desc { + color: var(--muted); + font-size: 0.9rem; + line-height: 1.5; } footer { @@ -276,7 +266,9 @@ @media (max-width: 768px) { .nav-links { display: none; } - .commands-list { grid-template-columns: 1fr; } + .tabs { flex-direction: column; } + .tab { width: 100%; justify-content: center; } + .commands-grid { grid-template-columns: 1fr; } } @@ -311,128 +303,325 @@ - - -
- No commands found. Try a different search term. -
- -
-
-

🔗 Account

-
-
/verify
Link your Discord account to AeThex
-
/unlink
Disconnect your Discord from AeThex
-
/profile [@user]
View your or another user's profile
+
+
+ + + + + + + +
+ + +
+
+
+
/rank [@user]
+
View your level and XP progress
+
+
+
/profile [@user]
+
View your or another user's full profile
+
+
+
/daily
+
Claim your daily XP bonus (+50 base + streak)
+
+
+
/prestige
+
Prestige at Level 50 for permanent bonuses
+
+
+
/badges
+
View your earned badges
+
+
+
/achievements
+
View available achievements and your progress
+
+
+
/quests
+
View and track your active quests
+
+
+
/leaderboard [type]
+
View server rankings (weekly/monthly/all-time)
+
+
+
/stats [@user]
+
View detailed activity statistics
+
+
+
/verify
+
Link your Discord account to AeThex
+
+
+
/unlink
+
Disconnect your Discord from AeThex
+
+
+
/set-realm
+
Choose your primary realm (Federation mode)
+
-
-

⚔️ Realms

-
-
/set-realm
Choose your primary realm (Federation mode)
-
/federation
Manage cross-server role sync
-
/refresh-roles
Sync your roles based on AeThex profile
-
/verify-role
Check your assigned Discord roles
+ +
+
+
+
/8ball [question]
+
Ask the magic 8-ball a question
+
+
+
/coinflip [call]
+
Flip a coin and call heads or tails
+
+
+
/roll [dice]
+
Roll dice (e.g., 2d6, d20, 3d8+5)
+
+
+
/trivia [category]
+
Answer trivia questions for XP rewards
+
+
+
/duel @user [bet]
+
Challenge someone to a 1v1 duel for XP
+
+
+
/slots [bet]
+
Try your luck at the slot machine
+
+
+
/afk [reason]
+
Set your AFK status with optional message
+
-
-

Leveling

-
-
/rank [@user]
View your level and XP progress
-
/daily
Claim your daily XP bonus (+50 base + streak)
-
/prestige
Prestige at Level 50 for permanent bonuses
-
/badges
View your earned badges
-
/achievements
View available achievements
-
/quests
View and track your active quests
-
/leaderboard [type]
View server rankings (weekly/monthly/all-time)
+ +
+
+
+
/work
+
Work to earn XP (1 hour cooldown)
+
+
+
/heist [target]
+
Start or join a group heist
+
+
+
/gift @user [amount]
+
Gift XP to another user
+
+
+
/shop
+
Browse and purchase items from the shop
+
+
+
/inventory [@user]
+
View your or another user's inventory
+
+
+
/trade @user
+
Trade items with another user
+
-
-

🎮 Fun & Games

-
-
/8ball [question]
Ask the magic 8-ball a question
-
/coinflip [call]
Flip a coin
-
/roll [dice]
Roll dice (e.g., 2d6, d20, 3d8+5)
-
/trivia [category]
Answer trivia for XP rewards
-
/duel @user [bet]
Challenge someone to a 1v1 duel
-
/slots [bet]
Try your luck at the slot machine
-
/afk [reason]
Set your AFK status
+ +
+
+
+
/rep @user [reason]
+
Give reputation to someone (12h cooldown)
+
+
+
/hug @user
+
Give someone a virtual hug with GIF
+
+
+
/birthday set [date]
+
Set your birthday for celebrations
+
+
+
/birthday view [@user]
+
View someone's birthday
+
+
+
/birthday upcoming
+
See upcoming birthdays in the server
+
+
+
/remind set [time] [message]
+
Set a personal reminder
+
+
+
/remind list
+
View your active reminders
+
+
+
/remind cancel [id]
+
Cancel a reminder
+
-
-

💰 Economy

-
-
/work
Work to earn XP (1 hour cooldown)
-
/heist [target]
Start a group heist
-
/gift @user [amount]
Gift XP to another user
-
/shop
Browse and purchase items
-
/inventory [@user]
View your inventory
-
/trade @user
Trade items with another user
+ +
+
+
+
/warn @user [reason]
+
Issue a warning to a user
+
+
+
/kick @user [reason]
+
Kick a user from the server
+
+
+
/ban @user [reason]
+
Ban a user from the server
+
+
+
/timeout @user [duration]
+
Timeout a user temporarily
+
+
+
/modlog @user
+
View a user's moderation history
+
+
+
/auditlog
+
View recent admin actions
+
-
-

👥 Social

-
-
/rep @user [reason]
Give reputation to someone
-
/hug @user
Give someone a virtual hug
-
/birthday set/view/upcoming
Manage birthdays
-
/remind set/list/cancel
Set personal reminders
+ +
+
+
+
/translate [text] [to]
+
Translate text to another language
+
+
+
/define [word]
+
Look up word definitions
+
+
+
/math [expression]
+
Calculate math expressions safely
+
+
+
/color [hex/rgb]
+
View color information and preview
+
+
+
/qr [text]
+
Generate a QR code
+
+
+
/userinfo [@user]
+
View detailed user information
+
+
+
/serverinfo
+
View server statistics
+
+
+
/avatar [@user]
+
Get a user's avatar in full size
+
+
+
/status
+
View bot status and uptime
+
+
+
/help [command]
+
Get help with commands
+
-
-

🔧 Utility

-
-
/translate [text] [to]
Translate text to another language
-
/define [word]
Look up word definitions
-
/math [expression]
Calculate math expressions
-
/color [hex/rgb]
View color information
-
/qr [text]
Generate a QR code
-
/userinfo [@user]
View detailed user information
-
/serverinfo
View server statistics
-
/avatar [@user]
Get a user's avatar
-
/status
View bot status and uptime
-
-
- -
-

🛡️ Moderation

-
-
/warn @user [reason]
Issue a warning
-
/kick @user [reason]
Kick a user from the server
-
/ban @user [reason]
Ban a user from the server
-
/timeout @user [minutes]
Timeout a user temporarily
-
/modlog @user
View a user's moderation history
-
/auditlog
View admin action history
-
-
- -
-

⚙️ Admin

-
-
/config
View and edit server configuration
-
/starboard setup/disable
Configure the starboard
-
/announce
Send announcements
-
/embed
Create custom embed messages
-
/rolepanel
Create role button panels
-
/giveaway
Create and manage giveaways
-
/schedule
Schedule messages for later
-
/automod
Configure auto-moderation
-
/xp-settings
Configure XP system
-
/level-roles
Set up level-up role rewards
-
/quests-manage
Manage server quests
-
/shop-manage
Manage shop items
+ +
+
+
+
/config
+
View and edit server configuration
+
+
+
/xp-settings
+
Configure XP rates, cooldowns, multipliers
+
+
+
/level-roles
+
Set up level-up role rewards
+
+
+
/automod
+
Configure auto-moderation filters
+
+
+
/starboard setup
+
Configure the starboard channel
+
+
+
/rolepanel
+
Create interactive role selection panels
+
+
+
/giveaway
+
Create and manage giveaways
+
+
+
/announce
+
Send formatted announcements
+
+
+
/embed
+
Create custom embed messages
+
+
+
/schedule
+
Schedule messages for later
+
+
+
/quests-manage
+
Create and manage server quests
+
+
+
/shop-manage
+
Manage shop items and prices
+
+
+
/federation
+
Manage cross-server role sync
+
+
+
/refresh-roles
+
Sync roles based on AeThex profile
+
@@ -445,30 +634,14 @@ diff --git a/aethex-bot/server/webServer.js b/aethex-bot/server/webServer.js index 6684b6c..65be149 100644 --- a/aethex-bot/server/webServer.js +++ b/aethex-bot/server/webServer.js @@ -1054,6 +1054,14 @@ function createWebServer(discordClient, supabase, options = {}) { res.redirect('/dashboard?page=leaderboard'); }); + app.get('/features', (req, res) => { + res.sendFile(path.join(__dirname, '../public/features.html')); + }); + + app.get('/commands', (req, res) => { + res.sendFile(path.join(__dirname, '../public/commands.html')); + }); + app.get('/', (req, res) => { res.sendFile(path.join(__dirname, '../public/index.html')); });