--- id: TASK-5 title: Implement campaign configuration and scheduling controls status: To Do assignee: [] created_date: '2026-06-03 19:12' labels: - mvp - campaigns - forms dependencies: - TASK-4 references: - PRD.md priority: high ordinal: 5000 --- ## Description Build the campaign management UI and backend mutations for reusable local search campaigns. Campaigns are configured with German postal code, radius, category or custom niche, run cadence, lead limits, audit limits, and active/paused state. ## Acceptance Criteria - [ ] #1 Campaign create/edit forms use React Hook Form, Zod, and shadcn form components - [ ] #2 Campaigns support predefined categories plus Anderes with a required custom input - [ ] #3 Campaigns store PLZ, radius, cadence, max new leads, max audits, active/paused state, and Germany-only context - [ ] #4 Each campaign has a Jetzt ausführen action and shows last run, next run, and current run status - [ ] #5 Form validation gives clear German error messages for invalid PLZ, radius, cadence, and limits ## Implementation Plan 1. Define campaign Zod schemas and German validation messages. 2. Build campaign list, create, edit, pause, and resume UI. 3. Add Convex mutations/queries for campaign persistence. 4. Add run metadata fields for last run, next run, and current status. 5. Verify campaign forms and dashboard state transitions.