import { api } from '../../services/api.js'; import { showToast } from '../../ui/toast.js'; import { setSwitch, getSwitch } from '../../ui/switch.js'; import { renderWelcomeModule } from './welcome.js'; import { renderLoggingModule } from './logging.js'; import { renderReactionRolesModule } from './reactionRoles.js'; import { renderDynamicVoiceModule } from './dynamicVoice.js'; import { renderStatuspageModule } from './statuspage.js'; import { renderServerStatsModule } from './serverstats.js'; export async function initModulesSection(guildId: string) { const section = document.getElementById('section-modules'); if (!section) return; section.innerHTML = `
Lade Module...
'; try { const data: any = await api.modules(guildId); const modules = data?.modules || data || {}; container.innerHTML = ''; const entries: Array<{ key: string; label: string; desc: string }> = [ { key: 'ticketsEnabled', label: 'Tickets', desc: 'Ticket-System aktivieren' }, { key: 'automodEnabled', label: 'Automod', desc: 'Moderations-Filter' }, { key: 'welcomeEnabled', label: 'Welcome', desc: 'Begrueßungsnachrichten' }, { key: 'musicEnabled', label: 'Musik', desc: 'Musiksteuerung' }, { key: 'levelingEnabled', label: 'Leveling', desc: 'XP/Level System' }, { key: 'statuspageEnabled', label: 'Statuspage', desc: 'Statusberichte' }, { key: 'serverStatsEnabled', label: 'Server Stats', desc: 'Stat-Channel' }, { key: 'birthdayEnabled', label: 'Birthday', desc: 'Geburtstagsmodul' }, { key: 'reactionRolesEnabled', label: 'Reaction Roles', desc: 'Selbstzuweisbare Rollen' }, { key: 'eventsEnabled', label: 'Events', desc: 'Event-Planung' }, { key: 'dynamicVoiceEnabled', label: 'Dynamic Voice', desc: 'Dynamische Voice Channels' } ]; entries.forEach((entry) => { const row = document.createElement('div'); row.className = 'module-item'; row.innerHTML = ` `; const toggle = row.querySelector('.switch') as HTMLElement; toggle.addEventListener('click', async () => { setSwitch(toggle, !getSwitch(toggle)); await saveModules(guildId); }); container.appendChild(row); }); } catch (err) { console.error(err); container.innerHTML = '