ui changes

This commit is contained in:
2025-10-03 08:39:32 -04:00
parent 1341b325ee
commit 9bc7a5e6b8
18 changed files with 629 additions and 419 deletions

View File

@@ -1,4 +1,4 @@
require('dotenv').config();
require('dotenv').config({ path: __dirname + '/.env' });
const express = require('express');
const cors = require('cors');
@@ -52,56 +52,32 @@ app.get('/auth/discord/callback', async (req, res) => {
const adminGuilds = guildsResponse.data.filter(guild => (guild.permissions & 0x8) === 0x8);
const user = userResponse.data;
fs.readFile('db.json', 'utf8', (err, data) => {
if (err) {
console.error(err);
user.theme = 'light';
} else {
const db = JSON.parse(data);
user.theme = db.users && db.users[user.id] ? db.users[user.id].theme : 'light';
}
const guilds = adminGuilds;
res.redirect(`http://localhost:3000/dashboard?user=${encodeURIComponent(JSON.stringify(user))}&guilds=${encodeURIComponent(JSON.stringify(guilds))}`);
});
const db = readDb();
user.theme = db.users && db.users[user.id] ? db.users[user.id].theme : 'light';
const guilds = adminGuilds;
res.redirect(`http://localhost:3000/dashboard?user=${encodeURIComponent(JSON.stringify(user))}&guilds=${encodeURIComponent(JSON.stringify(guilds))}`);
} catch (error) {
console.error('Error during Discord OAuth2 callback:', error);
res.status(500).send('Internal Server Error');
}
});
const fs = require('fs');
const { readDb, writeDb } = require('./db');
app.get('/api/servers/:guildId/settings', (req, res) => {
const { guildId } = req.params;
fs.readFile('db.json', 'utf8', (err, data) => {
if (err) {
console.error(err);
return res.status(500).send('Internal Server Error');
}
const db = JSON.parse(data);
const settings = db[guildId] || { pingCommand: false };
res.json(settings);
});
const db = readDb();
const settings = db[guildId] || { pingCommand: false };
res.json(settings);
});
app.post('/api/servers/:guildId/settings', (req, res) => {
const { guildId } = req.params;
const { pingCommand } = req.body;
fs.readFile('db.json', 'utf8', (err, data) => {
if (err) {
console.error(err);
return res.status(500).send('Internal Server Error');
}
const db = JSON.parse(data);
db[guildId] = { pingCommand };
fs.writeFile('db.json', JSON.stringify(db, null, 2), (err) => {
if (err) {
console.error(err);
return res.status(500).send('Internal Server Error');
}
res.json({ success: true });
});
});
const db = readDb();
db[guildId] = { pingCommand };
writeDb(db);
res.json({ success: true });
});
app.get('/api/servers/:guildId/bot-status', (req, res) => {
@@ -120,27 +96,77 @@ app.get('/api/client-id', (req, res) => {
app.post('/api/user/theme', (req, res) => {
const { userId, theme } = req.body;
fs.readFile('db.json', 'utf8', (err, data) => {
if (err) {
console.error(err);
return res.status(500).send('Internal Server Error');
}
const db = JSON.parse(data);
if (!db.users) {
db.users = {};
}
if (!db.users[userId]) {
db.users[userId] = {};
}
db.users[userId].theme = theme;
fs.writeFile('db.json', JSON.stringify(db, null, 2), (err) => {
if (err) {
console.error(err);
return res.status(500).send('Internal Server Error');
}
const db = readDb();
if (!db.users) {
db.users = {};
}
if (!db.users[userId]) {
db.users[userId] = {};
}
db.users[userId].theme = theme;
writeDb(db);
res.json({ success: true });
});
app.post('/api/servers/:guildId/leave', async (req, res) => {
const { guildId } = req.params;
try {
const guild = await bot.client.guilds.fetch(guildId);
if (guild) {
await guild.leave();
res.json({ success: true });
});
});
} else {
res.status(404).json({ success: false, message: 'Bot is not in the specified server' });
}
} catch (error) {
console.error('Error leaving server:', error);
res.status(500).json({ success: false, message: 'Internal Server Error' });
}
});
app.get('/api/servers/:guildId/channels', async (req, res) => {
const { guildId } = req.params;
const guild = bot.client.guilds.cache.get(guildId);
if (!guild) {
return res.json([]);
}
try {
const channels = await guild.channels.fetch();
const textChannels = channels.filter(channel => channel.type === 0).map(channel => ({ id: channel.id, name: channel.name }));
res.json(textChannels);
} catch (error) {
console.error('Error fetching channels:', error);
res.status(500).json({ success: false, message: 'Internal Server Error' });
}
});
app.get('/api/servers/:guildId/welcome-leave-settings', (req, res) => {
const { guildId } = req.params;
const db = readDb();
const settings = db[`${guildId}_welcome_leave`] || {
welcome: {
enabled: false,
channel: '',
message: 'Welcome to the server, {user}!',
customMessage: '',
},
leave: {
enabled: false,
channel: '',
message: '{user} has left the server.',
customMessage: '',
},
};
res.json(settings);
});
app.post('/api/servers/:guildId/welcome-leave-settings', (req, res) => {
const { guildId } = req.params;
const newSettings = req.body;
const db = readDb();
db[`${guildId}_welcome_leave`] = newSettings;
writeDb(db);
res.json({ success: true });
});
app.get('/', (req, res) => {