feat(operations-ui): BURST toggle + deadline dialog for the halacha drain #238
Reference in New Issue
Block a user
Delete Branch "worktree-halacha-burst-ops"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
מה
ה-UI לבקרת ה-burst ב-/operations — מימוש ה-mockup שאושר ב-Claude Design (
02b-operations-burst.html).⚡ הפעל BURSTבשורתlegal-halacha-drain→ פותח דיאלוג בחירת-מועד (datetime-local, ברירת-מחדל שבת 18:00 הקרובה, chips: שבת 18:00 / עוד 5 שעות / חצות).⚡ BURST · עד <מועד>+ כפתורעצור BURST.קבצים
operations.ts:burst_untilב-OpsService+ hookuseDrainBurst(POST…/burst).page.tsx: רכיבBurstControl, מגודר ל-legal-halacha-drain.types.ts: רוענן (npm run api:types) — ה-route החדש (+63/-0, אפס drift).איכות
tsc --noEmitנקי ·eslintנקי (exit 0). active נגזר מנוכחותburst_until(המתזמר מנקה אותו במועד; snapshot מרענן כל 5ש') — בליDate.now()טמא ב-render.Invariants
G1/G2 — בקרה יחידה מגובת-DB (
drain_controls.burst_until), משותפת עם המתזמר במארח; אין מסלול מקביל.🤖 Generated with Claude Code
Implements the chair-approved Claude Design mockup (02b-operations-burst): a single gold "⚡ הפעל BURST" button on the legal-halacha-drain row that opens a deadline dialog (datetime-local, default the upcoming Saturday 18:00, quick chips for Sat 18:00 / +5h / midnight). While a burst is active the row shows a gold pill with the deadline + an "עצור BURST" stop button. Manual only. - operations.ts: burst_until on OpsService + useDrainBurst hook (POST .../burst). - page.tsx: BurstControl component, gated to legal-halacha-drain. - types.ts: regenerated (npm run api:types) — the new burst route. Active-state is derived from burst_until presence (the supervisor NULLs it at the deadline, snapshot refetches every 5s) — no impure Date.now() in render. Invariants: G1/G2 — single DB-backed control (drain_controls.burst_until), shared with the host supervisor; no parallel path. UI passed the Claude Design gate.