Hustler-Pixelwelt T3: Seite hält den Feed, Bildschirme Hochhaus/Pult/Keller, Vollhöhen-Rahmen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8bd365b1fc
commit
d8912ee363
5 files changed
+527
-23
No files matched your search
@@ -0,0 +1,33 @@
|
||||
// Bildschirm „Hochhaus“ (Spielwelt, Kopfzeile, Detailansicht). Gerüst von T3: Zustände wie bisher im WorkersBoard; T5–T8 füllen die Welt.
|
||||
// Reine Darstellung ohne Auth-Bezug: isAdmin, der Feed (feed = { state, error, loaded, refresh }), die Hustler-Tabelle (workers), die Regie-Anbindung
|
||||
// (regieRef, die Seite ruft regieRef.current.push(events) bei neuen Ereignissen) und der Bildschirmwechsel (onOpen(tab)) kommen von der Seite.
|
||||
// Kein CSS-Import und keine Bilder: die Stile hängt WorkersPage ein (Regeln dieser Datei in styles/hustler/hustler-ui.css).
|
||||
export default function Hochhaus({ api, isAdmin, feed, workers, regieRef, onOpen }) {
|
||||
const ready = feed.loaded && Boolean(feed.state)
|
||||
// Dienst noch nie erreicht: Pixel-Leerzustand mit Fehlertext und „Neu laden“
|
||||
if (!ready && feed.error) {
|
||||
return (
|
||||
<div className="hk-hochhaus">
|
||||
<div className="hk-leer">
|
||||
<strong className="hk-leer-titel">Der Hustler-Dienst ist noch nicht erreichbar</strong>
|
||||
<p className="hk-leer-text">{feed.error}</p>
|
||||
<button type="button" className="hk-knopf" onClick={() => feed.refresh()}>Neu laden</button>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
if (!ready) {
|
||||
return (
|
||||
<div className="hk-hochhaus">
|
||||
<div className="hk-laden" role="status">Wird geladen …</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
// T5 füllt diesen Rahmen mit der Welt (Kopfzeile T6, Detailansicht T7, Regie T8)
|
||||
return (
|
||||
<div className="hk-hochhaus">
|
||||
<div className="hk-welt-rahmen" />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in new issue
Block a user