tractatus/public
TheFlow fe3035913e feat(crm): implement unified contact form system
Complete CRM foundation with contact modal in footer

Backend:
- Contact.model.js: Full CRUD model with statistics tracking
- contact.controller.js: Submit, list, assign, respond, update, delete
- contact.routes.js: Public submission + admin management endpoints
- routes/index.js: Mount contact routes at /api/contact

Frontend:
- footer.js: Replace mailto link with Contact Us modal button
- Contact modal: Form with type, name, email, org, subject, message
- CSRF protection: Extracts token from cookie (like newsletter)
- Rate limiting: formRateLimiter (5/min)
- Validation: Input sanitization + required fields
- UX: Success/error messages, auto-close on success

Admin UI:
- navbar-admin.js: New 'CRM & Communications' section
- Links: Contact Management, Case Submissions, Media Inquiries

Foundation for multi-project CRM across tractatus, family-history, sydigital

Next: Build /admin/contact-management.html page
2025-10-24 16:56:21 +13:00
..
.well-known fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
about fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
admin feat(admin): add Editorial Guidelines Manager page 2025-10-24 13:05:47 +13:00
css fix(css): correct justify-center syntax error in loading overlay 2025-10-24 12:41:53 +13:00
demos fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
docs fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
downloads fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
fonts fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
images fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
js feat(crm): implement unified contact form system 2025-10-24 16:56:21 +13:00
koha fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
locales fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
about.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
api-reference.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
architecture.html fix(website): governance compliance fixes from pre-Economist audit 2025-10-23 10:56:06 +13:00
blog-post.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
blog.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
case-submission.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
check-version.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
docs-viewer.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
docs.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
faq.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
favicon-new.svg fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
favicon.ico fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
favicon.svg fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
implementer.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
implementer.html.backup fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
index.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
koha.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
leader.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
manifest.json fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
media-inquiry.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
media-triage-transparency.html fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
privacy.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
researcher.html chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00
service-worker.js fix(cache): standardize cache version across all HTML files 2025-10-24 12:34:39 +13:00
test-pressure-chart.html fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
version.json chore: bump cache version for CSRF fix deployment 2025-10-24 16:44:40 +13:00