import { api } from '../services/api.js'; import { getConfig } from '../state/store.js'; import { showToast } from '../ui/toast.js'; export async function initSelectionView() { const cfg = getConfig(); const grid = document.getElementById('guildGrid'); const logoutBtn = document.getElementById('logoutBtn'); const userInfo = document.getElementById('userInfo'); if (logoutBtn && cfg) { logoutBtn.addEventListener('click', () => { window.location.href = `${cfg.baseAuth}/logout`; }); } try { const me = await api.me(); if (userInfo && me?.user) userInfo.textContent = `${me.user.username}#${me.user.discriminator}`; } catch { // ignore } if (!grid || !cfg) return; grid.innerHTML = '
Lade Guilds...
'; try { const data = await api.guilds(); grid.innerHTML = ''; (data.guilds || []).forEach((g) => { const card = document.createElement('div'); card.className = 'card clickable'; card.innerHTML = `
icon
${g.name}
ID: ${g.id}
Zum Dashboard
`; card.addEventListener('click', () => { const qs = g.id ? `?guildId=${encodeURIComponent(g.id)}` : ''; window.location.href = `${cfg.baseDashboard}${qs}`; }); grid.appendChild(card); }); if (!data.guilds?.length) { grid.innerHTML = '
Bot ist in keiner Guild. Bitte Bot einladen.
'; } } catch (err) { console.error(err); grid.innerHTML = '
Fehler beim Laden der Guilds
'; showToast('Guilds konnten nicht geladen werden', true); } }