UX-Paket: Navbar aufgeräumt, /server-Seite, Lightbox, Skeletons, Audit-Log, Reroll
- Navbar entschlackt: nur noch Devlog · Roadmap · Server · Community · Setup; Galerie/Level/Events/Changelog im Community-Dropdown, Profil/Commits/Logout im Avatar-Menü; Mobile-Burger mit Drawer - Öffentliche /server-Seite: Live-Status-Karten mit Spieler-Balken, Map, Connect-Button und 24h-Spielerzahl-Chart (SVG); Monitor sampelt jede Abfrage in player_history (7 Tage Retention), GET /api/servers liefert nur öffentliche Felder (keine Query-URLs/Hosts) - Lightbox: Galerie- und Devlog-Bilder öffnen im Overlay mit Pfeiltasten, Buttons, Wisch-Gesten und Zähler statt neuem Tab - Skeleton-Loader: schimmernde Platzhalter auf Devlogs, Roadmap, Galerie, Level, Changelog und Server statt "Lade …" - Team-Audit-Log: audit_log-Tabelle (max 500 Einträge), Logging bei Settings/Composer/Vorlagen/Rollen-Menüs/Gameservern/Team/API-Keys/ Branding, GET /api/auditlog (Owner) + Liste im Team-Tab - Giveaway: 🔁 Reroll-Button (Admin-only) + 👥 Teilnehmerliste am Gewinner-Post Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,7 @@ import { registerExtras } from './extras.js';
|
||||
import { handleApplyButton, handleApplyModal, handleReviewButton } from './app-forms.js';
|
||||
import { closeTicketWithTranscript } from './tickets.js';
|
||||
import { handleRoleMenuButton } from './role-menus.js';
|
||||
import { handleGiveawayAdminButton } from './giveaways.js';
|
||||
import {
|
||||
addPlaytester, removePlaytester, isWish, bumpWish,
|
||||
getGiveaway, toggleGiveawayEntry, giveawayEntries,
|
||||
@@ -251,6 +252,16 @@ export async function startBot() {
|
||||
return;
|
||||
}
|
||||
|
||||
// 🔁/👥-Buttons am Gewinner-Post: Reroll (Admin) + Teilnehmerliste
|
||||
if (interaction.isButton() && /^(greroll|glist):/.test(interaction.customId)) {
|
||||
try {
|
||||
await handleGiveawayAdminButton(interaction);
|
||||
} catch (error) {
|
||||
console.error('[giveaway] Admin-Button fehlgeschlagen:', error);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// 🎉-Button: Giveaway-Teilnahme togglen
|
||||
if (interaction.isButton() && interaction.customId === 'giveaway_enter') {
|
||||
const g = getGiveaway(interaction.message.id);
|
||||
|
||||
Reference in New Issue
Block a user