feat: Phase 3 campaign management

Campaign CRUD API with cascading delete across all campaign-scoped
tables, a systems endpoint to seed the create-campaign form, active
campaign state wired to the sidebar chaos factor, and a campaign
management view for creating/switching/deleting campaigns.
This commit is contained in:
claudecode
2026-06-30 23:22:34 -04:00
parent 2faa168847
commit 3a7340975f
9 changed files with 438 additions and 13 deletions
+3
View File
@@ -28,6 +28,8 @@
</button>
</div>
<div class="sidebar-active-campaign" id="activeCampaignName">No active campaign</div>
<nav class="sidebar-nav">
<div class="nav-section">
<div class="nav-section-label">Oracle</div>
@@ -147,4 +149,5 @@
</div>
</body>
<script src="js/app.js" type="module"></script>
<script src="js/campaigns.js" type="module"></script>
</html>