Host-Routing: Bot-Produktseite und Community-Hub getrennt
Deploy / check (push) Has been cancelled
Deploy / deploy (push) Has been cancelled

Eine Anwendung, zwei Gesichter — der Server erkennt an der Domain, welche
Seite gefragt ist, und schreibt das als data-site an den <body>. Das
Frontend rendert daraufhin entweder den Community-Hub wie bisher oder die
neue Produktseite.

- Bot-Produktseite (BotApp): Landing mit Feature-Übersicht, Befehls-
  referenz, Dashboard unter /dashboard, Orange als Leitfarbe
- Weiterleitungen: Community-Routen auf der Bot-Domain und umgekehrt
  werden dauerhaft (301) auf die richtige Adresse geschickt — geteilte
  Devlog-Permalinks laufen also nicht ins Leere. Rechtstexte bleiben auf
  beiden erreichbar.
- Open-Graph-Tags je Domain, inklusive eigener Vorschau für frei
  angelegte Seiten (Entwürfe bekommen bewusst keine)
- Login: neue Einstellung für die Cookie-Domain, damit die Anmeldung auf
  beiden Seiten gilt; nach dem Discord-Login landet man wieder auf der
  Seite, von der man gestartet ist (vorher immer auf der Hauptadresse)
- Alles greift erst, wenn beide Adressen im Setup eingetragen sind —
  bis dahin verhält sich die Anwendung unverändert

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-31 15:20:53 +02:00
co-authored by Claude Fable 5
parent e8158ce90b
commit 079c75b184
13 changed files with 515 additions and 14 deletions
+34
View File
@@ -1569,3 +1569,37 @@ button.with-icon, a.with-icon { justify-content: center; }
max-height: 26rem; overflow-y: auto;
background: var(--bg2);
}
/* ── BOT-PRODUKTSEITE ──────────────────────────────── */
/* Gleiche Marke, aber Orange als Leitfarbe — beim Domainwechsel sofort erkennbar */
.site-bot {
--neon: #ff4d00;
--neon2: #f5c518;
--border: rgba(255, 77, 0, 0.15);
}
.site-bot .page-bg-text { color: rgba(255, 77, 0, .045); }
.site-bot .page-header-grid {
background-image:
linear-gradient(rgba(255, 77, 0, .12) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 77, 0, .12) 1px, transparent 1px);
}
.site-bot .particle { background: #ff4d00; }
.bot-hero { min-height: 460px; }
/* Befehlsliste */
.cmd-list { display: flex; flex-direction: column; gap: .5rem; }
.cmd-row {
display: flex; gap: 1.2rem; align-items: baseline; flex-wrap: wrap;
background: var(--bg2); border: 1px solid rgba(255, 255, 255, .06);
border-radius: 10px; padding: .7rem 1rem;
transition: border-color .2s, background .2s;
}
.cmd-row:hover { border-color: var(--border); background: var(--bg3); }
.cmd-name {
font-family: var(--mono); font-size: .82rem; color: var(--neon);
white-space: nowrap; flex: none; min-width: 15rem;
}
.cmd-desc { color: var(--muted); font-weight: 300; flex: 1; min-width: 15rem; }
@media (max-width: 640px) {
.cmd-name { min-width: 0; }
}