"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initModulesSection = initModulesSection; const api_js_1 = require("../../services/api.js"); const toast_js_1 = require("../../ui/toast.js"); const switch_js_1 = require("../../ui/switch.js"); const welcome_js_1 = require("./welcome.js"); const logging_js_1 = require("./logging.js"); const reactionRoles_js_1 = require("./reactionRoles.js"); const dynamicVoice_js_1 = require("./dynamicVoice.js"); const statuspage_js_1 = require("./statuspage.js"); const serverstats_js_1 = require("./serverstats.js"); async function initModulesSection(guildId) { const section = document.getElementById('section-modules'); if (!section) return; section.innerHTML = `

Module

`; await Promise.all([ renderModuleToggles(guildId), (0, welcome_js_1.renderWelcomeModule)(guildId), (0, logging_js_1.renderLoggingModule)(guildId), (0, reactionRoles_js_1.renderReactionRolesModule)(guildId), (0, dynamicVoice_js_1.renderDynamicVoiceModule)(guildId), (0, statuspage_js_1.renderStatuspageModule)(guildId), (0, serverstats_js_1.renderServerStatsModule)(guildId) ]); } async function renderModuleToggles(guildId) { const container = document.getElementById('module-toggles'); if (!container) return; container.innerHTML = '

Lade Module...

'; try { const data = await api_js_1.api.modules(guildId); const modules = data?.modules || data || {}; container.innerHTML = ''; const entries = [ { 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 = `
${entry.label}
${entry.desc}
`; const toggle = row.querySelector('.switch'); toggle.addEventListener('click', async () => { (0, switch_js_1.setSwitch)(toggle, !(0, switch_js_1.getSwitch)(toggle)); await saveModules(guildId); }); container.appendChild(row); }); } catch (err) { console.error(err); container.innerHTML = '
Module konnten nicht geladen werden.
'; (0, toast_js_1.showToast)('Fehler beim Laden der Module', true); } } async function saveModules(guildId) { const toggles = Array.from(document.querySelectorAll('#module-toggles .switch')); const payload = { guildId }; toggles.forEach((t) => { const key = t.dataset.key; if (!key) return; payload[key] = t.classList.contains('on'); }); try { await api_js_1.api.saveSettings(payload); (0, toast_js_1.showToast)('Module gespeichert'); } catch (err) { console.error(err); (0, toast_js_1.showToast)('Module speichern fehlgeschlagen', true); } }