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
This commit is contained in:
sirpiglr 2025-12-10 00:10:45 +00:00
parent f6d47f0f89
commit 698f294091
3 changed files with 399 additions and 218 deletions

View file

@ -22,7 +22,7 @@ localPort = 8080
externalPort = 8080
[[ports]]
localPort = 33559
localPort = 41685
externalPort = 3000
[workflows]

View file

@ -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; }
}
</style>
</head>
@ -311,128 +303,325 @@
<div class="page-header">
<h1>All <span class="text-gradient">Commands</span></h1>
<p>60+ slash commands to power your community. Search or browse by category.</p>
<p>60+ slash commands to power your community. Click a category to explore.</p>
</div>
<div class="search-box">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
<input type="text" id="searchInput" placeholder="Search commands...">
</div>
<div class="no-results" id="noResults">
No commands found. Try a different search term.
</div>
<div id="commandsContainer">
<div class="command-category" data-category="account">
<h2 class="category-title"><span>🔗</span> Account</h2>
<div class="commands-list">
<div class="command-item"><div class="command-name">/verify</div><div class="command-desc">Link your Discord account to AeThex</div></div>
<div class="command-item"><div class="command-name">/unlink</div><div class="command-desc">Disconnect your Discord from AeThex</div></div>
<div class="command-item"><div class="command-name">/profile [@user]</div><div class="command-desc">View your or another user's profile</div></div>
<div class="tabs-container">
<div class="tabs">
<button class="tab active" data-tab="leveling">
<span></span> Leveling
</button>
<button class="tab" data-tab="fun">
<span>🎮</span> Fun & Games
</button>
<button class="tab" data-tab="economy">
<span>💰</span> Economy
</button>
<button class="tab" data-tab="social">
<span>👥</span> Social
</button>
<button class="tab" data-tab="moderation">
<span>🛡️</span> Moderation
</button>
<button class="tab" data-tab="utility">
<span>🔧</span> Utility
</button>
<button class="tab" data-tab="admin">
<span>⚙️</span> Admin
</button>
</div>
<!-- Leveling Commands -->
<div class="tab-content active" id="leveling">
<div class="commands-grid">
<div class="command-card">
<div class="command-name">/rank [@user]</div>
<div class="command-desc">View your level and XP progress</div>
</div>
<div class="command-card">
<div class="command-name">/profile [@user]</div>
<div class="command-desc">View your or another user's full profile</div>
</div>
<div class="command-card">
<div class="command-name">/daily</div>
<div class="command-desc">Claim your daily XP bonus (+50 base + streak)</div>
</div>
<div class="command-card">
<div class="command-name">/prestige</div>
<div class="command-desc">Prestige at Level 50 for permanent bonuses</div>
</div>
<div class="command-card">
<div class="command-name">/badges</div>
<div class="command-desc">View your earned badges</div>
</div>
<div class="command-card">
<div class="command-name">/achievements</div>
<div class="command-desc">View available achievements and your progress</div>
</div>
<div class="command-card">
<div class="command-name">/quests</div>
<div class="command-desc">View and track your active quests</div>
</div>
<div class="command-card">
<div class="command-name">/leaderboard [type]</div>
<div class="command-desc">View server rankings (weekly/monthly/all-time)</div>
</div>
<div class="command-card">
<div class="command-name">/stats [@user]</div>
<div class="command-desc">View detailed activity statistics</div>
</div>
<div class="command-card">
<div class="command-name">/verify</div>
<div class="command-desc">Link your Discord account to AeThex</div>
</div>
<div class="command-card">
<div class="command-name">/unlink</div>
<div class="command-desc">Disconnect your Discord from AeThex</div>
</div>
<div class="command-card">
<div class="command-name">/set-realm</div>
<div class="command-desc">Choose your primary realm (Federation mode)</div>
</div>
</div>
</div>
<div class="command-category" data-category="realms">
<h2 class="category-title"><span>⚔️</span> Realms</h2>
<div class="commands-list">
<div class="command-item"><div class="command-name">/set-realm</div><div class="command-desc">Choose your primary realm (Federation mode)</div></div>
<div class="command-item"><div class="command-name">/federation</div><div class="command-desc">Manage cross-server role sync</div></div>
<div class="command-item"><div class="command-name">/refresh-roles</div><div class="command-desc">Sync your roles based on AeThex profile</div></div>
<div class="command-item"><div class="command-name">/verify-role</div><div class="command-desc">Check your assigned Discord roles</div></div>
<!-- Fun & Games Commands -->
<div class="tab-content" id="fun">
<div class="commands-grid">
<div class="command-card">
<div class="command-name">/8ball [question]</div>
<div class="command-desc">Ask the magic 8-ball a question</div>
</div>
<div class="command-card">
<div class="command-name">/coinflip [call]</div>
<div class="command-desc">Flip a coin and call heads or tails</div>
</div>
<div class="command-card">
<div class="command-name">/roll [dice]</div>
<div class="command-desc">Roll dice (e.g., 2d6, d20, 3d8+5)</div>
</div>
<div class="command-card">
<div class="command-name">/trivia [category]</div>
<div class="command-desc">Answer trivia questions for XP rewards</div>
</div>
<div class="command-card">
<div class="command-name">/duel @user [bet]</div>
<div class="command-desc">Challenge someone to a 1v1 duel for XP</div>
</div>
<div class="command-card">
<div class="command-name">/slots [bet]</div>
<div class="command-desc">Try your luck at the slot machine</div>
</div>
<div class="command-card">
<div class="command-name">/afk [reason]</div>
<div class="command-desc">Set your AFK status with optional message</div>
</div>
</div>
</div>
<div class="command-category" data-category="leveling">
<h2 class="category-title"><span></span> Leveling</h2>
<div class="commands-list">
<div class="command-item"><div class="command-name">/rank [@user]</div><div class="command-desc">View your level and XP progress</div></div>
<div class="command-item"><div class="command-name">/daily</div><div class="command-desc">Claim your daily XP bonus (+50 base + streak)</div></div>
<div class="command-item"><div class="command-name">/prestige</div><div class="command-desc">Prestige at Level 50 for permanent bonuses</div></div>
<div class="command-item"><div class="command-name">/badges</div><div class="command-desc">View your earned badges</div></div>
<div class="command-item"><div class="command-name">/achievements</div><div class="command-desc">View available achievements</div></div>
<div class="command-item"><div class="command-name">/quests</div><div class="command-desc">View and track your active quests</div></div>
<div class="command-item"><div class="command-name">/leaderboard [type]</div><div class="command-desc">View server rankings (weekly/monthly/all-time)</div></div>
<!-- Economy Commands -->
<div class="tab-content" id="economy">
<div class="commands-grid">
<div class="command-card">
<div class="command-name">/work</div>
<div class="command-desc">Work to earn XP (1 hour cooldown)</div>
</div>
<div class="command-card">
<div class="command-name">/heist [target]</div>
<div class="command-desc">Start or join a group heist</div>
</div>
<div class="command-card">
<div class="command-name">/gift @user [amount]</div>
<div class="command-desc">Gift XP to another user</div>
</div>
<div class="command-card">
<div class="command-name">/shop</div>
<div class="command-desc">Browse and purchase items from the shop</div>
</div>
<div class="command-card">
<div class="command-name">/inventory [@user]</div>
<div class="command-desc">View your or another user's inventory</div>
</div>
<div class="command-card">
<div class="command-name">/trade @user</div>
<div class="command-desc">Trade items with another user</div>
</div>
</div>
</div>
<div class="command-category" data-category="fun">
<h2 class="category-title"><span>🎮</span> Fun & Games</h2>
<div class="commands-list">
<div class="command-item"><div class="command-name">/8ball [question]</div><div class="command-desc">Ask the magic 8-ball a question</div></div>
<div class="command-item"><div class="command-name">/coinflip [call]</div><div class="command-desc">Flip a coin</div></div>
<div class="command-item"><div class="command-name">/roll [dice]</div><div class="command-desc">Roll dice (e.g., 2d6, d20, 3d8+5)</div></div>
<div class="command-item"><div class="command-name">/trivia [category]</div><div class="command-desc">Answer trivia for XP rewards</div></div>
<div class="command-item"><div class="command-name">/duel @user [bet]</div><div class="command-desc">Challenge someone to a 1v1 duel</div></div>
<div class="command-item"><div class="command-name">/slots [bet]</div><div class="command-desc">Try your luck at the slot machine</div></div>
<div class="command-item"><div class="command-name">/afk [reason]</div><div class="command-desc">Set your AFK status</div></div>
<!-- Social Commands -->
<div class="tab-content" id="social">
<div class="commands-grid">
<div class="command-card">
<div class="command-name">/rep @user [reason]</div>
<div class="command-desc">Give reputation to someone (12h cooldown)</div>
</div>
<div class="command-card">
<div class="command-name">/hug @user</div>
<div class="command-desc">Give someone a virtual hug with GIF</div>
</div>
<div class="command-card">
<div class="command-name">/birthday set [date]</div>
<div class="command-desc">Set your birthday for celebrations</div>
</div>
<div class="command-card">
<div class="command-name">/birthday view [@user]</div>
<div class="command-desc">View someone's birthday</div>
</div>
<div class="command-card">
<div class="command-name">/birthday upcoming</div>
<div class="command-desc">See upcoming birthdays in the server</div>
</div>
<div class="command-card">
<div class="command-name">/remind set [time] [message]</div>
<div class="command-desc">Set a personal reminder</div>
</div>
<div class="command-card">
<div class="command-name">/remind list</div>
<div class="command-desc">View your active reminders</div>
</div>
<div class="command-card">
<div class="command-name">/remind cancel [id]</div>
<div class="command-desc">Cancel a reminder</div>
</div>
</div>
</div>
<div class="command-category" data-category="economy">
<h2 class="category-title"><span>💰</span> Economy</h2>
<div class="commands-list">
<div class="command-item"><div class="command-name">/work</div><div class="command-desc">Work to earn XP (1 hour cooldown)</div></div>
<div class="command-item"><div class="command-name">/heist [target]</div><div class="command-desc">Start a group heist</div></div>
<div class="command-item"><div class="command-name">/gift @user [amount]</div><div class="command-desc">Gift XP to another user</div></div>
<div class="command-item"><div class="command-name">/shop</div><div class="command-desc">Browse and purchase items</div></div>
<div class="command-item"><div class="command-name">/inventory [@user]</div><div class="command-desc">View your inventory</div></div>
<div class="command-item"><div class="command-name">/trade @user</div><div class="command-desc">Trade items with another user</div></div>
<!-- Moderation Commands -->
<div class="tab-content" id="moderation">
<div class="commands-grid">
<div class="command-card">
<div class="command-name">/warn @user [reason]</div>
<div class="command-desc">Issue a warning to a user</div>
</div>
<div class="command-card">
<div class="command-name">/kick @user [reason]</div>
<div class="command-desc">Kick a user from the server</div>
</div>
<div class="command-card">
<div class="command-name">/ban @user [reason]</div>
<div class="command-desc">Ban a user from the server</div>
</div>
<div class="command-card">
<div class="command-name">/timeout @user [duration]</div>
<div class="command-desc">Timeout a user temporarily</div>
</div>
<div class="command-card">
<div class="command-name">/modlog @user</div>
<div class="command-desc">View a user's moderation history</div>
</div>
<div class="command-card">
<div class="command-name">/auditlog</div>
<div class="command-desc">View recent admin actions</div>
</div>
</div>
</div>
<div class="command-category" data-category="social">
<h2 class="category-title"><span>👥</span> Social</h2>
<div class="commands-list">
<div class="command-item"><div class="command-name">/rep @user [reason]</div><div class="command-desc">Give reputation to someone</div></div>
<div class="command-item"><div class="command-name">/hug @user</div><div class="command-desc">Give someone a virtual hug</div></div>
<div class="command-item"><div class="command-name">/birthday set/view/upcoming</div><div class="command-desc">Manage birthdays</div></div>
<div class="command-item"><div class="command-name">/remind set/list/cancel</div><div class="command-desc">Set personal reminders</div></div>
<!-- Utility Commands -->
<div class="tab-content" id="utility">
<div class="commands-grid">
<div class="command-card">
<div class="command-name">/translate [text] [to]</div>
<div class="command-desc">Translate text to another language</div>
</div>
<div class="command-card">
<div class="command-name">/define [word]</div>
<div class="command-desc">Look up word definitions</div>
</div>
<div class="command-card">
<div class="command-name">/math [expression]</div>
<div class="command-desc">Calculate math expressions safely</div>
</div>
<div class="command-card">
<div class="command-name">/color [hex/rgb]</div>
<div class="command-desc">View color information and preview</div>
</div>
<div class="command-card">
<div class="command-name">/qr [text]</div>
<div class="command-desc">Generate a QR code</div>
</div>
<div class="command-card">
<div class="command-name">/userinfo [@user]</div>
<div class="command-desc">View detailed user information</div>
</div>
<div class="command-card">
<div class="command-name">/serverinfo</div>
<div class="command-desc">View server statistics</div>
</div>
<div class="command-card">
<div class="command-name">/avatar [@user]</div>
<div class="command-desc">Get a user's avatar in full size</div>
</div>
<div class="command-card">
<div class="command-name">/status</div>
<div class="command-desc">View bot status and uptime</div>
</div>
<div class="command-card">
<div class="command-name">/help [command]</div>
<div class="command-desc">Get help with commands</div>
</div>
</div>
</div>
<div class="command-category" data-category="utility">
<h2 class="category-title"><span>🔧</span> Utility</h2>
<div class="commands-list">
<div class="command-item"><div class="command-name">/translate [text] [to]</div><div class="command-desc">Translate text to another language</div></div>
<div class="command-item"><div class="command-name">/define [word]</div><div class="command-desc">Look up word definitions</div></div>
<div class="command-item"><div class="command-name">/math [expression]</div><div class="command-desc">Calculate math expressions</div></div>
<div class="command-item"><div class="command-name">/color [hex/rgb]</div><div class="command-desc">View color information</div></div>
<div class="command-item"><div class="command-name">/qr [text]</div><div class="command-desc">Generate a QR code</div></div>
<div class="command-item"><div class="command-name">/userinfo [@user]</div><div class="command-desc">View detailed user information</div></div>
<div class="command-item"><div class="command-name">/serverinfo</div><div class="command-desc">View server statistics</div></div>
<div class="command-item"><div class="command-name">/avatar [@user]</div><div class="command-desc">Get a user's avatar</div></div>
<div class="command-item"><div class="command-name">/status</div><div class="command-desc">View bot status and uptime</div></div>
</div>
</div>
<div class="command-category" data-category="moderation">
<h2 class="category-title"><span>🛡️</span> Moderation</h2>
<div class="commands-list">
<div class="command-item"><div class="command-name">/warn @user [reason]</div><div class="command-desc">Issue a warning</div></div>
<div class="command-item"><div class="command-name">/kick @user [reason]</div><div class="command-desc">Kick a user from the server</div></div>
<div class="command-item"><div class="command-name">/ban @user [reason]</div><div class="command-desc">Ban a user from the server</div></div>
<div class="command-item"><div class="command-name">/timeout @user [minutes]</div><div class="command-desc">Timeout a user temporarily</div></div>
<div class="command-item"><div class="command-name">/modlog @user</div><div class="command-desc">View a user's moderation history</div></div>
<div class="command-item"><div class="command-name">/auditlog</div><div class="command-desc">View admin action history</div></div>
</div>
</div>
<div class="command-category" data-category="admin">
<h2 class="category-title"><span>⚙️</span> Admin</h2>
<div class="commands-list">
<div class="command-item"><div class="command-name">/config</div><div class="command-desc">View and edit server configuration</div></div>
<div class="command-item"><div class="command-name">/starboard setup/disable</div><div class="command-desc">Configure the starboard</div></div>
<div class="command-item"><div class="command-name">/announce</div><div class="command-desc">Send announcements</div></div>
<div class="command-item"><div class="command-name">/embed</div><div class="command-desc">Create custom embed messages</div></div>
<div class="command-item"><div class="command-name">/rolepanel</div><div class="command-desc">Create role button panels</div></div>
<div class="command-item"><div class="command-name">/giveaway</div><div class="command-desc">Create and manage giveaways</div></div>
<div class="command-item"><div class="command-name">/schedule</div><div class="command-desc">Schedule messages for later</div></div>
<div class="command-item"><div class="command-name">/automod</div><div class="command-desc">Configure auto-moderation</div></div>
<div class="command-item"><div class="command-name">/xp-settings</div><div class="command-desc">Configure XP system</div></div>
<div class="command-item"><div class="command-name">/level-roles</div><div class="command-desc">Set up level-up role rewards</div></div>
<div class="command-item"><div class="command-name">/quests-manage</div><div class="command-desc">Manage server quests</div></div>
<div class="command-item"><div class="command-name">/shop-manage</div><div class="command-desc">Manage shop items</div></div>
<!-- Admin Commands -->
<div class="tab-content" id="admin">
<div class="commands-grid">
<div class="command-card">
<div class="command-name">/config</div>
<div class="command-desc">View and edit server configuration</div>
</div>
<div class="command-card">
<div class="command-name">/xp-settings</div>
<div class="command-desc">Configure XP rates, cooldowns, multipliers</div>
</div>
<div class="command-card">
<div class="command-name">/level-roles</div>
<div class="command-desc">Set up level-up role rewards</div>
</div>
<div class="command-card">
<div class="command-name">/automod</div>
<div class="command-desc">Configure auto-moderation filters</div>
</div>
<div class="command-card">
<div class="command-name">/starboard setup</div>
<div class="command-desc">Configure the starboard channel</div>
</div>
<div class="command-card">
<div class="command-name">/rolepanel</div>
<div class="command-desc">Create interactive role selection panels</div>
</div>
<div class="command-card">
<div class="command-name">/giveaway</div>
<div class="command-desc">Create and manage giveaways</div>
</div>
<div class="command-card">
<div class="command-name">/announce</div>
<div class="command-desc">Send formatted announcements</div>
</div>
<div class="command-card">
<div class="command-name">/embed</div>
<div class="command-desc">Create custom embed messages</div>
</div>
<div class="command-card">
<div class="command-name">/schedule</div>
<div class="command-desc">Schedule messages for later</div>
</div>
<div class="command-card">
<div class="command-name">/quests-manage</div>
<div class="command-desc">Create and manage server quests</div>
</div>
<div class="command-card">
<div class="command-name">/shop-manage</div>
<div class="command-desc">Manage shop items and prices</div>
</div>
<div class="command-card">
<div class="command-name">/federation</div>
<div class="command-desc">Manage cross-server role sync</div>
</div>
<div class="command-card">
<div class="command-name">/refresh-roles</div>
<div class="command-desc">Sync roles based on AeThex profile</div>
</div>
</div>
</div>
</div>
@ -445,30 +634,14 @@
</footer>
<script>
const searchInput = document.getElementById('searchInput');
const commandItems = document.querySelectorAll('.command-item');
const categories = document.querySelectorAll('.command-category');
const noResults = document.getElementById('noResults');
searchInput.addEventListener('input', (e) => {
const query = e.target.value.toLowerCase().trim();
let visibleCount = 0;
commandItems.forEach(item => {
const name = item.querySelector('.command-name').textContent.toLowerCase();
const desc = item.querySelector('.command-desc').textContent.toLowerCase();
const matches = name.includes(query) || desc.includes(query);
document.querySelectorAll('.tab').forEach(tab => {
tab.addEventListener('click', () => {
document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));
document.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));
item.classList.toggle('hidden', !matches);
if (matches) visibleCount++;
tab.classList.add('active');
document.getElementById(tab.dataset.tab).classList.add('active');
});
categories.forEach(cat => {
const visibleInCat = cat.querySelectorAll('.command-item:not(.hidden)').length;
cat.style.display = visibleInCat > 0 ? 'block' : 'none';
});
noResults.classList.toggle('show', visibleCount === 0);
});
</script>
</body>

View file

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