From 987215cb073bb7fdbd9a2e29f3c3ae5d166b6a93 Mon Sep 17 00:00:00 2001 From: scanash00 Date: Wed, 23 Jul 2025 21:35:40 -0800 Subject: [PATCH] feat: New design for website and dashboard + 8ball fix --- .gitignore | 3 +- src/commands/fun/8ball.ts | 25 +- src/events/interactionCreate.ts | 29 +- src/index.ts | 2 +- src/routes/auth.ts | 2 +- web/index.html | 5 +- web/package.json | 3 + web/pnpm-lock.yaml | 33 ++ web/public/bot_icon.png | Bin 0 -> 476614 bytes web/src/components/Footer.tsx | 115 ++++++ web/src/components/Layout.tsx | 128 ++++--- web/src/components/LegalLayout.tsx | 42 +++ web/src/pages/DashboardPage.tsx | 428 +++++++++++++--------- web/src/pages/LandingPage.tsx | 231 +++++------- web/src/pages/PrivacyPage.tsx | 78 ++-- web/src/pages/StatusPage.tsx | 565 +++++++++++++++-------------- web/src/pages/TermsPage.tsx | 68 ++-- web/vite.config.ts | 26 +- 18 files changed, 1028 insertions(+), 755 deletions(-) create mode 100644 web/public/bot_icon.png create mode 100644 web/src/components/Footer.tsx create mode 100644 web/src/components/LegalLayout.tsx diff --git a/.gitignore b/.gitignore index eff486c..00b66c4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules .env dist -logs \ No newline at end of file +logs +.env.web \ No newline at end of file diff --git a/src/commands/fun/8ball.ts b/src/commands/fun/8ball.ts index 681e504..54c2e91 100644 --- a/src/commands/fun/8ball.ts +++ b/src/commands/fun/8ball.ts @@ -11,7 +11,6 @@ import { type MessageActionRowComponentBuilder, } from 'discord.js'; import { validateCommandOptions, sanitizeInput } from '@/utils/validation'; -import { SlashCommandProps } from '@/types/command'; import { random } from '@/utils/misc'; import { createCooldownManager, @@ -21,6 +20,7 @@ import { } from '@/utils/cooldown'; import { createCommandLogger } from '@/utils/commandLogger'; import { createErrorHandler } from '@/utils/errorHandler'; +import { createMemoryManager } from '@/utils/memoryManager'; const responses = [ 'itiscertain', @@ -49,7 +49,13 @@ const cooldownManager = createCooldownManager('8ball', 3000); const commandLogger = createCommandLogger('8ball'); const errorHandler = createErrorHandler('8ball'); -export default { +const questionStorage = createMemoryManager({ + maxSize: 1000, + maxAge: 5 * 60 * 1000, + cleanupInterval: 60 * 1000, +}); + +const eightBallCommand = { data: new SlashCommandBuilder() .setName('8ball') .setNameLocalizations({ @@ -87,7 +93,9 @@ export default { ]) .setIntegrationTypes(ApplicationIntegrationType.UserInstall), - execute: async (client, interaction) => { + questionStorage, + + execute: async (client: any, interaction: any) => { try { const cooldownCheck = await checkCooldown( cooldownManager, @@ -125,6 +133,9 @@ export default { await client.getLocaleText('commands.8ball.askagain', interaction.locale), ]); + const interactionId = `${interaction.user.id}_${Date.now()}`; + questionStorage.set(interactionId, question); + const container = new ContainerBuilder() .setAccentColor(0x8b5cf6) .addTextDisplayComponents(new TextDisplayBuilder().setContent(`# 🔮 ${title}`)) @@ -139,9 +150,7 @@ export default { .setStyle(ButtonStyle.Primary) .setLabel(askAgainLabel) .setEmoji({ name: '🎱' }) - .setCustomId( - `8ball_reroll_${interaction.user.id}_${Date.now()}_${encodeURIComponent(question)}` - ) + .setCustomId(`8ball_reroll_${interactionId}`) ) ); @@ -159,4 +168,6 @@ export default { }); } }, -} as SlashCommandProps; +}; + +export default eightBallCommand; diff --git a/src/events/interactionCreate.ts b/src/events/interactionCreate.ts index b094b35..cd79404 100644 --- a/src/events/interactionCreate.ts +++ b/src/events/interactionCreate.ts @@ -197,8 +197,8 @@ export default class InteractionCreateEvent { }); } } else if (i.customId.startsWith('8ball_reroll_')) { - const customIdParts = i.customId.split('_'); - const originalUserId = customIdParts[2]; + const interactionId = i.customId.replace('8ball_reroll_', ''); + const originalUserId = interactionId.split('_')[0]; if (originalUserId !== i.user.id) { return await i.reply({ @@ -207,16 +207,16 @@ export default class InteractionCreateEvent { }); } + const eightBallCommand = this.client.commands.get('8ball'); let question = 'What will happen?'; - try { - const customIdParts = i.customId.split('_'); - if (customIdParts.length >= 5) { - const encodedQuestion = customIdParts.slice(4).join('_'); - question = decodeURIComponent(encodedQuestion); + if (eightBallCommand && 'questionStorage' in eightBallCommand) { + const storedQuestion = ( + eightBallCommand as { questionStorage: { get: (id: string) => string | undefined } } + ).questionStorage.get(interactionId); + if (storedQuestion) { + question = storedQuestion; } - } catch (error) { - console.log('Error extracting question:', error); } const responses = [ @@ -260,6 +260,13 @@ export default class InteractionCreateEvent { i.locale ); + const newInteractionId = `${i.user.id}_${Date.now()}`; + if (eightBallCommand && 'questionStorage' in eightBallCommand) { + ( + eightBallCommand as { questionStorage: { set: (id: string, value: string) => void } } + ).questionStorage.set(newInteractionId, question); + } + const container = new ContainerBuilder() .setAccentColor(0x8b5cf6) .addTextDisplayComponents(new TextDisplayBuilder().setContent(`# 🔮 ${title}`)) @@ -274,9 +281,7 @@ export default class InteractionCreateEvent { .setStyle(ButtonStyle.Primary) .setLabel(askAgainLabel) .setEmoji({ name: '🎱' }) - .setCustomId( - `8ball_reroll_${i.user.id}_${Date.now()}_${encodeURIComponent(question)}` - ) + .setCustomId(`8ball_reroll_${newInteractionId}`) ) ); diff --git a/src/index.ts b/src/index.ts index 0bf0ec0..e45c721 100644 --- a/src/index.ts +++ b/src/index.ts @@ -34,7 +34,7 @@ app.use( ? ALLOWED_ORIGINS.split(',') : ['http://localhost:3000', 'http://localhost:8080'], methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], - allowedHeaders: ['Content-Type', 'X-API-Key', 'Authorization'], + allowedHeaders: ['Content-Type', 'X-API-Key', 'Authorization', 'Cache-Control', 'Pragma'], credentials: true, maxAge: 86400, }) diff --git a/src/routes/auth.ts b/src/routes/auth.ts index 2f2b9cd..0b38117 100644 --- a/src/routes/auth.ts +++ b/src/routes/auth.ts @@ -11,7 +11,7 @@ const DISCORD_CLIENT_SECRET = process.env.DISCORD_CLIENT_SECRET; const DISCORD_REDIRECT_URI = process.env.DISCORD_REDIRECT_URI || 'http://localhost:8080/api/auth/discord/callback'; const JWT_SECRET = process.env.JWT_SECRET || 'your-jwt-secret'; -const FRONTEND_URL = process.env.FRONTEND_URL || 'http://localhost:3000'; +const FRONTEND_URL = process.env.FRONTEND_URL || 'http://localhost:2020'; interface DiscordUser { id: string; diff --git a/web/index.html b/web/index.html index e1aae3f..3d2b47e 100644 --- a/web/index.html +++ b/web/index.html @@ -4,7 +4,10 @@ - Aethel Dashboard + Aethel + + + diff --git a/web/package.json b/web/package.json index ffaa471..af56bf5 100644 --- a/web/package.json +++ b/web/package.json @@ -9,11 +9,14 @@ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0" }, "dependencies": { + "@heroicons/react": "^2.2.0", "@tanstack/react-query": "^5.83.0", "axios": "^1.10.0", + "dotenv": "^17.2.0", "lucide-react": "^0.294.0", "react": "^18.3.1", "react-dom": "^18.3.1", + "react-icons": "^5.5.0", "react-router-dom": "^6.30.1", "sonner": "^1.7.4", "zustand": "^4.5.7" diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 1b795a7..00f676b 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -8,12 +8,18 @@ importers: .: dependencies: + '@heroicons/react': + specifier: ^2.2.0 + version: 2.2.0(react@18.3.1) '@tanstack/react-query': specifier: ^5.83.0 version: 5.83.0(react@18.3.1) axios: specifier: ^1.10.0 version: 1.10.0 + dotenv: + specifier: ^17.2.0 + version: 17.2.0 lucide-react: specifier: ^0.294.0 version: 0.294.0(react@18.3.1) @@ -23,6 +29,9 @@ importers: react-dom: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) + react-icons: + specifier: ^5.5.0 + version: 5.5.0(react@18.3.1) react-router-dom: specifier: ^6.30.1 version: 6.30.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -316,6 +325,11 @@ packages: resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@heroicons/react@2.2.0': + resolution: {integrity: sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==} + peerDependencies: + react: '>= 16 || ^19.0.0-rc' + '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} @@ -640,6 +654,10 @@ packages: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} + dotenv@17.2.0: + resolution: {integrity: sha512-Q4sgBT60gzd0BB0lSyYD3xM4YxrXA9y4uBDof1JNYGzOXrQdQ6yX+7XIAqoFOGQFOTK1D3Hts5OllpxMDZFONQ==} + engines: {node: '>=12'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -1162,6 +1180,11 @@ packages: peerDependencies: react: ^18.3.1 + react-icons@5.5.0: + resolution: {integrity: sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==} + peerDependencies: + react: '*' + react-refresh@0.17.0: resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} engines: {node: '>=0.10.0'} @@ -1630,6 +1653,10 @@ snapshots: '@eslint/js@8.57.1': {} + '@heroicons/react@2.2.0(react@18.3.1)': + dependencies: + react: 18.3.1 + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -1981,6 +2008,8 @@ snapshots: dependencies: esutils: 2.0.3 + dotenv@17.2.0: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -2500,6 +2529,10 @@ snapshots: react: 18.3.1 scheduler: 0.23.2 + react-icons@5.5.0(react@18.3.1): + dependencies: + react: 18.3.1 + react-refresh@0.17.0: {} react-router-dom@6.30.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): diff --git a/web/public/bot_icon.png b/web/public/bot_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d48ef2f1a9c311c96881f4b66de7a83bb670525 GIT binary patch literal 476614 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%0AV9IXhc0`?^W@>R557 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

on~@xovW?@z+@SQ@bk{|I>f4YW?mv^OJY^ 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