35 lines
1.6 KiB
React
35 lines
1.6 KiB
React
// Einstiegspunkt des Prüfstands: das Hochhaus-Board der Hustler-Seite mit der Skript-API, ohne Anmeldung und ohne Appwrite.
|
|
// Drumherum steht dieselbe Hülle wie in der App (Menüleiste links, Seitenrand), damit die Bühne genauso breit wird wie im echten Betrieb.
|
|
// ?halted=1 startet mit gesetzter Bounce-Notbremse (H4). window.__wk gibt es nur hier: die Bühne und die Skript-API für shot.cjs.
|
|
import { StrictMode, createRef } from 'react'
|
|
import { createRoot } from 'react-dom/client'
|
|
import { MemoryRouter } from 'react-router-dom'
|
|
import '../../src/styles/global.css'
|
|
import '../../src/styles/workers.css'
|
|
import PageHeader from '../../src/components/ui/PageHeader'
|
|
import WorkersBoard from '../../src/components/workers/WorkersBoard'
|
|
import { createScriptedApi } from './scripted-api.js'
|
|
|
|
const params = new URLSearchParams(window.location.search)
|
|
const scripted = createScriptedApi({ now: () => performance.now(), base: Date.now(), halted: params.get('halted') === '1' })
|
|
const stage = createRef()
|
|
window.__wk = { stage, api: scripted }
|
|
|
|
createRoot(document.getElementById('root')).render(
|
|
<StrictMode>
|
|
<MemoryRouter>
|
|
<div className="shell">
|
|
<div className="sidebar" aria-hidden="true" />
|
|
<div className="main">
|
|
<main id="inhalt">
|
|
<div className="page wk-page">
|
|
<PageHeader title="Hustler" subtitle="Die Nachtschicht deiner Claude-Armee" />
|
|
<WorkersBoard api={scripted} isAdmin stageRef={stage} />
|
|
</div>
|
|
</main>
|
|
</div>
|
|
</div>
|
|
</MemoryRouter>
|
|
</StrictMode>,
|
|
)
|