tractatus/public/js
TheFlow efab76e13c 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
..
admin fix(submissions): extract data from API response wrappers 2025-10-24 16:35:10 +13:00
components feat(crm): implement unified contact form system 2025-10-24 16:56:21 +13:00
demos fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
utils fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
blog-post.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
blog.js fix(csrf): enable newsletter subscription from mobile 2025-10-24 16:42:56 +13:00
case-submission.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
check-version.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
docs-app.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
docs-search-enhanced.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
docs-viewer-app.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
faq.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
i18n-simple.js chore(frontend): update cache-busting versions and i18n 2025-10-23 10:57:32 +13:00
koha-donation.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
koha-success.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
koha-transparency.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
leader-page.js feat(leader): WCAG accessibility with 9 accordions, keyboard navigation 2025-10-23 00:19:23 +13:00
media-inquiry.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
media-triage-transparency.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
page-transitions.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
researcher-page.js feat(researcher): WCAG compliance, Berlin/Weil foundations, fixed footer i18n 2025-10-22 23:56:37 +13:00
scroll-animations.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00
version-manager.js fix(submissions): restructure Economist package and fix article display 2025-10-24 08:47:42 +13:00