Feature-Seite: alle Funktionen aus dem Modul-Register
/features zeigte bisher dieselbe Landing wie /, obwohl die Navigation und ein Knopf auf der Startseite eine echte Funktionsliste versprachen. Die Seite listet jetzt alle 35 Bot-Funktionen, nach denselben Gruppen sortiert wie im Panel, dazu sechs Punkte zum Drumherum (Webinterface, Texte, API/SSO, eigene Seiten, Team-Rechte, Betrieb). Die Einträge kommen über das neue öffentliche /api/features aus src/modules.js — derselben Quelle, aus der die Modul-Schalter kommen. Eine neue Funktion erscheint damit automatisch auf der Produktseite, statt dass jemand daran denken muss. Der Endpunkt gibt bewusst nur Name, Beschreibung und Gruppe heraus, nicht welche Module hier gerade laufen. Auch die Zahl auf der Startseite kommt von dort, damit nicht zwei Stellen dieselbe Zahl pflegen. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+9
-1
@@ -20,7 +20,7 @@ import {
|
||||
savePage, getPage, listPages, listPublishedPages, deletePage,
|
||||
} from '../db.js';
|
||||
import crypto from 'node:crypto';
|
||||
import { moduleStates, setModuleEnabled, MODULE_GROUPS } from '../modules.js';
|
||||
import { moduleStates, setModuleEnabled, MODULE_GROUPS, MODULES } from '../modules.js';
|
||||
import { templateStates, setTemplate, TEMPLATE_GROUPS } from '../templates.js';
|
||||
import { lastResults, GAME_ICONS } from '../bot/server-monitor.js';
|
||||
import { publishAppForm, unpublishAppForm, MAX_QUESTIONS } from '../bot/app-forms.js';
|
||||
@@ -185,6 +185,14 @@ export function registerApiRoutes(app, client) {
|
||||
return { ok: true, modules: moduleStates() };
|
||||
});
|
||||
|
||||
// Funktionsliste für die Produktseite — öffentlich und ohne Zustand:
|
||||
// was der Bot kann, nicht was hier gerade eingeschaltet ist. Quelle ist
|
||||
// dasselbe Register wie die Module, damit die Seite nicht veraltet.
|
||||
app.get('/api/features', async () => ({
|
||||
groups: MODULE_GROUPS,
|
||||
features: MODULES.map((m) => ({ id: m.id, name: m.name, desc: m.desc, group: m.group })),
|
||||
}));
|
||||
|
||||
// --- Text-Vorlagen: was der Bot nach außen schreibt ---
|
||||
// (nicht /api/templates — das sind die gespeicherten Composer-Nachrichten)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user