Workers P3: Prüfstand um Freigabe, Interessenten-Panel, Anhalten-Rückfrage und Handy erweitert

Echte Seite WorkersPage im Prüfstand (Austausch-Module für Anmeldung, Mitarbeiterliste und Sitzungs-JWT), Skript-API mit Pult, Aktionen und Interessent samt Schaltern für 409, 400, Ausfall und Leerzustand, vier neue Szenarien (Freigabe, Interessent, Anhalten, Handy), jedes Szenario läuft für sich, und der Szenario Desktop bestätigt jetzt die Rückfrage vor dem Anhalten.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-18 10:20:29 +00:00
1 parent 686db61e1c
commit 2ed2201b22
9 files changed
+847 -20

No files matched your search

+18
View File
@@ -2,6 +2,9 @@
// entry.jsx -> harness.js + harness.css (esbuild, Entwicklungsmodus, damit StrictMode wie in der Entwicklung zweimal einhängt), dazu index.html.
// outDir muss ein neuer oder leerer Ordner unter dem Temp-Ordner (TMPDIR, sonst /tmp) oder unter .superpowers/ im Repo sein.
// Die Schrift /fonts/* bleibt außen vor: der Server von shot.cjs liefert sie aus public/fonts.
// Drei Module der App hängen an Appwrite (Anmeldung, Mitarbeiterliste, Sitzungs-JWT) und werden nur im Prüfstand ausgetauscht, damit die
// echte Seite WorkersPage (Reiter Hochhaus und Freigabe) samt PultList und ProspectPanel ohne Netz läuft: AuthContext -> stub-auth.js,
// useEmployees -> stub-employees.js, workersClient -> stub-client.js. Am Quelltext der App ändert das nichts.
import esbuild from 'esbuild'
import fs from 'node:fs'
import os from 'node:os'
@@ -29,6 +32,20 @@ if (fs.existsSync(out) && fs.readdirSync(out).length > 0) {
}
fs.mkdirSync(out, { recursive: true })
const STUBS = [
{ filter: /(^|\/)context\/AuthContext(\.jsx?)?$/, file: 'stub-auth.js' },
{ filter: /(^|\/)hooks\/useEmployees(\.jsx?)?$/, file: 'stub-employees.js' },
{ filter: /(^|\/)lib\/workersClient(\.jsx?)?$/, file: 'stub-client.js' },
]
const stubPlugin = {
name: 'harness-stubs',
setup(build) {
for (const stub of STUBS) {
build.onResolve({ filter: stub.filter }, () => ({ path: path.join(here, stub.file) }))
}
},
}
const result = await esbuild.build({
entryPoints: [path.join(here, 'entry.jsx')],
outfile: path.join(out, 'harness.js'),
@@ -37,6 +54,7 @@ const result = await esbuild.build({
platform: 'browser',
jsx: 'automatic',
external: ['/fonts/*'],
plugins: [stubPlugin],
define: { 'process.env.NODE_ENV': '"development"' },
logLevel: 'warning',
metafile: true,