Sharang Parnerkar
0125199c76
refactor(admin): split controls, training, control-provenance, iace/verification pages
Each page.tsx exceeded the 500-LOC hard cap. Extracted components and hooks into
colocated _components/ and _hooks/ directories; page.tsx is now a thin orchestrator.
- controls/page.tsx: 944 → 180 LOC; extracted ControlCard, AddControlForm,
LoadingSkeleton, TransitionErrorBanner, StatsCards, FilterBar, RAGPanel into
_components/ and useControlsData, useRAGSuggestions into _hooks/; types into _types.ts
- training/page.tsx: 780 → 288 LOC; extracted ContentTab (inline content generator tab)
into _components/ContentTab.tsx
- control-provenance/page.tsx: 739 → 122 LOC; extracted MarkdownRenderer, UsageBadge,
PermBadge, LicenseMatrix, SourceRegistry into _components/; PROVENANCE_SECTIONS
static data into _data/provenance-sections.ts
- iace/[projectId]/verification/page.tsx: 673 → 196 LOC; extracted StatusBadge,
VerificationForm, CompleteModal, SuggestEvidenceModal, VerificationTable into _components/
Zero behavior changes; logic relocated verbatim.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 22:50:15 +02:00
..
2026-03-04 11:43:00 +01:00
2026-03-10 23:43:56 +01:00
2026-03-05 08:42:40 +01:00
2026-03-04 11:43:00 +01:00
2026-03-08 13:31:16 +01:00
2026-03-20 09:12:11 +01:00
2026-03-23 17:15:45 +01:00
2026-03-26 10:32:08 +01:00
2026-03-04 11:43:00 +01:00
2026-03-07 09:45:56 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 14:35:52 +01:00
2026-03-08 14:25:41 +01:00
2026-03-11 08:50:28 +01:00
2026-03-23 17:15:45 +01:00
2026-03-11 14:58:29 +01:00
2026-03-04 11:43:00 +01:00
2026-03-05 00:36:24 +01:00
2026-04-16 22:47:16 +02:00
2026-04-16 22:50:15 +02:00
2026-04-16 22:50:15 +02:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-19 23:27:25 +01:00
2026-03-04 11:43:00 +01:00
2026-03-05 17:24:15 +01:00
2026-03-04 11:43:00 +01:00
2026-03-06 18:21:43 +01:00
2026-03-04 11:43:00 +01:00
2026-03-07 19:00:33 +01:00
2026-03-04 11:43:00 +01:00
2026-03-23 17:15:45 +01:00
2026-03-04 11:43:00 +01:00
2026-04-16 22:50:15 +02:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-07 15:13:19 +01:00
2026-03-20 06:57:01 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-20 06:57:01 +01:00
2026-03-08 14:30:38 +01:00
2026-03-14 21:03:04 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-07 09:45:56 +01:00
2026-03-04 22:41:05 +01:00
2026-03-05 15:11:10 +01:00
2026-03-04 11:43:00 +01:00
2026-03-08 14:38:46 +01:00
2026-03-05 12:07:01 +01:00
2026-03-20 09:12:11 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 17:43:29 +01:00
2026-03-04 11:43:00 +01:00
2026-03-20 06:57:01 +01:00
2026-03-04 11:43:00 +01:00
2026-04-16 22:50:15 +02:00
2026-03-10 23:43:56 +01:00
2026-03-04 11:43:00 +01:00
2026-03-20 06:57:01 +01:00
2026-03-15 00:23:19 +01:00
2026-03-09 20:43:23 +01:00
2026-03-04 11:43:00 +01:00
2026-03-08 14:30:38 +01:00
2026-03-09 15:24:17 +01:00
2026-03-09 17:48:02 +01:00