Modul-Tab im Plugin-Raster: Filter-Reiter und Symbole
Vorbild war das MEE6-Dashboard: Kategorie-Reiter über einem Raster aus Karten, jede mit einem eigenen Symbol. Inhaltlich war unser Modul-Tab schon dort — es fehlten genau diese zwei Dinge. Die Gruppen standen als Überschriften untereinander, was bei 35 Karten eine lange Rolle ergab. Jetzt filtern Reiter mit Anzahl: Alle, die vier Gruppen, dazu „Noch einzurichten" und „Ausgeschaltet". Die beiden letzten sind bewusst dabei — mit genau diesen Fragen kommt man am häufigsten her. Die Gruppe steht klein unter dem Namen, damit sie im gefilterten Raster nicht verlorengeht. Jede Karte hat eine Symbol-Kachel, die bei laufendem Modul in der Markenfarbe leuchtet und sonst grau bleibt — man erkennt eine Funktion damit am Bild statt am Lesen. Die Zuordnung lag schon in der Funktionsseite; sie liegt jetzt in module-icons.jsx, damit beide Seiten dieselbe benutzen. Farbige Kachelbilder wie bei MEE6 gibt es bewusst nicht: die Strichsymbole passen zum Rest der Oberfläche, bunte Kacheln wären ein Fremdkörper. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
// Ein Symbol je Bot-Funktion. Bewusst im Frontend und nicht im Modul-Register:
|
||||
// der Bot-Code soll nichts über die Oberfläche wissen müssen.
|
||||
//
|
||||
// Genutzt von der Produktseite (/features) und den Modul-Karten in der Config —
|
||||
// deshalb liegt die Zuordnung hier und nicht in einer der beiden Seiten.
|
||||
import {
|
||||
IconDevlog, IconCommits, IconChangelog, IconActivity, IconMessage, IconPlay,
|
||||
IconLevel, IconStar, IconGallery, IconThumbsUp, IconGiveaway, IconBirthday,
|
||||
IconEvents, IconGame, IconKey, IconRoles, IconApplications, IconShield,
|
||||
IconArchive, IconMail, IconSupport, IconMagic, IconTeam, IconRefresh,
|
||||
IconWarning, IconServer, IconMonitor, IconVoice, IconZap, IconClock,
|
||||
IconSend, IconTag, IconDatabase, IconPackage, IconLock, IconIdea,
|
||||
} from './icons.jsx';
|
||||
|
||||
export const MODULE_ICONS = {
|
||||
devlogs: IconDevlog, commit_feed: IconCommits, releases: IconChangelog,
|
||||
weekly_recap: IconActivity, devlog_threads: IconMessage, social: IconPlay,
|
||||
levels: IconLevel, starboard: IconStar, gallery: IconGallery,
|
||||
voting: IconThumbsUp, giveaways: IconGiveaway, birthdays: IconBirthday,
|
||||
events: IconEvents, playtester: IconGame, alpha_keys: IconKey,
|
||||
role_menus: IconRoles, applications: IconApplications,
|
||||
moderation: IconShield, modlog: IconArchive, modmail: IconMail,
|
||||
tickets: IconSupport, welcome: IconMagic, autorole: IconTeam,
|
||||
sticky_roles: IconRefresh, bug_reports: IconWarning,
|
||||
server_monitor: IconServer, watchdog: IconMonitor, temp_voice: IconVoice,
|
||||
triggers: IconZap, reminders: IconClock, scheduled_posts: IconSend,
|
||||
tags: IconTag, backups: IconDatabase, repo_backups: IconPackage,
|
||||
member_gate: IconLock,
|
||||
};
|
||||
|
||||
/** Symbol einer Funktion — Glühbirne, falls für eine neue noch keins hinterlegt ist */
|
||||
export const moduleIcon = (id) => MODULE_ICONS[id] ?? IconIdea;
|
||||
Reference in New Issue
Block a user