Feature-Seite: alle Funktionen aus dem Modul-Register
Deploy / check (push) Has been cancelled
Deploy / deploy (push) Has been cancelled

/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:
2026-07-31 16:17:50 +02:00
co-authored by Claude Fable 5
parent 2ce274707a
commit a32c267dda
6 changed files with 205 additions and 4 deletions
+36
View File
@@ -1642,6 +1642,42 @@ button.with-icon, a.with-icon { justify-content: center; }
.site-bot .particle { background: #ff4d00; }
.bot-hero { min-height: 460px; }
/* Funktionsliste der Produktseite */
.feature-group { margin-bottom: 2.6rem; }
.feature-grid {
display: grid; gap: .8rem;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
margin-top: 1.1rem;
}
.feature-card {
display: flex; gap: .9rem; align-items: flex-start;
padding: 1.1rem 1.2rem;
transition: border-color .2s, transform .2s;
}
.feature-card:hover { border-color: var(--neon); transform: translateY(-2px); }
.feature-icon {
flex: none; display: inline-flex;
color: var(--neon); margin-top: .15rem;
}
.feature-name {
display: block;
font-family: var(--display); font-size: 1.1rem;
letter-spacing: .04em; color: var(--text);
margin-bottom: .3rem;
}
.feature-desc {
color: var(--muted); font-weight: 300;
font-size: .92rem; line-height: 1.5; margin: 0;
}
.feature-outro {
border-top: 1px solid var(--border);
padding-top: 1.8rem; margin-top: .5rem;
}
.feature-outro p {
color: var(--muted); font-weight: 300;
line-height: 1.7; max-width: 46rem; margin: 0 0 1.4rem;
}
/* Befehlsliste */
.cmd-list { display: flex; flex-direction: column; gap: .5rem; }
.cmd-row {