Scrum4Me/components/shared
Janpeter Visser 31dc429b61
feat(M13 PBI-31 T-519b/T-520b): NavBar stand-by badge + quota-check runbook (#119)
* feat(M13 T-519b): SSE worker_heartbeat + NavBar stand-by badge

Aanvulling op scrum4me-mcp PR #25 (worker_heartbeat MCP-tool).

- app/api/realtime/solo/route.ts: WorkerHeartbeatPayload type +
  isWorkerHeartbeatPayload guard + shouldEmit-routing op user_id.
- stores/solo-store.ts: workerQuotaPct + workerQuotaCheckAt state +
  setWorkerQuota action. Reset bij decrementWorkers naar 0.
- lib/realtime/use-solo-realtime.ts: handle worker_heartbeat-event,
  roep setWorkerQuota.
- components/solo/nav-status-indicators.tsx: stand-by badge wanneer
  workerQuotaPct < minQuotaPct + tooltip met drempel.
- components/shared/nav-bar.tsx + app/(app)/layout.tsx: minQuotaPct
  prop plumbing van User.min_quota_pct naar NavStatusIndicators.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(M13 T-520b): pre-flight quota-check sectie in mcp-integration

Documenteert de batch-loop-uitbreiding:
1. get_worker_settings → min_quota_pct
2. bin/worker-quota-probe.sh → pct + reset
3. worker_heartbeat naar server (NavBar stand-by-badge)
4. Sleep tot reset bij low quota; anders wait_for_job

Verwijst naar bin/worker-quota-probe.sh in scrum4me-docker (zie
PR daar).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 04:34:48 +02:00
..
activate-product-button.tsx M12 / ST-1110: Demo gebruiker read-only (#17) 2026-04-29 18:44:14 +02:00
alert-toast.tsx feat(M9): active product backlog — persistent active PB, NavBar splits, sprint card styling (#10) 2026-04-27 20:25:13 +02:00
app-icon.tsx chore: documentatie naar docs/, iconen bijgewerkt, theme.css verplaatst 2026-04-24 22:51:42 +02:00
code-badge.tsx feat(ST-507): add code-helpers and CodeBadge component 2026-04-26 20:36:33 +02:00
demo-tooltip.tsx feat: ST-601-ST-612 M6 polish, beveiliging en launch-ready 2026-04-24 12:36:23 +02:00
entity-dialog-layout.ts feat(ST-1133): entityDialogContentClasses → full-screen op <640px (T-316/T-317/T-318) 2026-05-04 10:06:21 +02:00
job-status.ts feat(T-572): map SKIPPED in lib/job-status + alle terminal-checks 2026-05-05 23:10:14 +02:00
min-width-banner.tsx feat: ST-601-ST-612 M6 polish, beveiliging en launch-ready 2026-04-24 12:36:23 +02:00
nav-bar.tsx feat(M13 PBI-31 T-519b/T-520b): NavBar stand-by badge + quota-check runbook (#119) 2026-05-06 04:34:48 +02:00
notifications-bell.tsx fix(m12): user can answer idea-questions — inline + bell support 2026-05-05 13:05:39 +02:00
panel-nav-bar.tsx feat: ST-101-ST-110 M1 producten, PBI backlog, iconen en PWA manifest 2026-04-24 11:33:47 +02:00
pbi-status-select.tsx M12 / ST-1109: PBI krijgt een status (Ready / Blocked / Done) (#16) 2026-04-29 17:52:34 +02:00
priority-select.tsx feat(ST-108/ST-208): replace inline forms with PBI and story dialogs 2026-04-25 22:53:26 +02:00
set-current-product.tsx feat: show active product name in navbar, links to product page 2026-04-26 17:56:50 +02:00
status-bar.tsx feat: demo-gebruiker krijgt read-only toegang tot actieve sprint 2026-04-24 17:17:41 +02:00
story-log.tsx feat: ST-401-ST-410 M4 REST API, tokenbeleer en activiteitenlog 2026-04-24 11:56:29 +02:00
use-dialog-submit-shortcut.ts feat(dialogs): gedeelde primitives — useDirtyCloseGuard, useDialogSubmitShortcut, layout-classes 2026-05-04 07:14:07 +02:00
use-dirty-close-guard.tsx feat(dialogs): gedeelde primitives — useDirtyCloseGuard, useDialogSubmitShortcut, layout-classes 2026-05-04 07:14:07 +02:00
user-avatar.tsx feat(ST-351): add UserAvatar component and /api/users/[id]/avatar route 2026-04-26 16:15:56 +02:00
user-menu.tsx fix: admin-navigatie zichtbaar voor ADMIN-rol gebruikers 2026-05-05 20:46:27 +02:00