mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-24 02:31:12 -05:00
Refactor code structure and remove redundant changes
This commit is contained in:
79
migration/PHASE_11_CONTACT_REPORTS.md
Normal file
79
migration/PHASE_11_CONTACT_REPORTS.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# PHASE 11: Contact & Reports
|
||||
|
||||
**Status:** ⬜ Not Started
|
||||
**Estimated Time:** 4-6 hours
|
||||
**Priority:** MEDIUM
|
||||
**Depends On:** Phase 1 (Foundation)
|
||||
**Blocks:** Phase 12 (Pages Migration)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Goal
|
||||
|
||||
Complete migration of contact form and reports system to Django (reports already partially migrated).
|
||||
|
||||
---
|
||||
|
||||
## 📋 Tasks
|
||||
|
||||
### Task 11.1: Contact Service (2 hours)
|
||||
|
||||
```typescript
|
||||
class ContactService extends BaseService {
|
||||
// POST /contact/
|
||||
async submitContact(data: ContactFormData): Promise<ContactSubmission>
|
||||
|
||||
// GET /contact/ (moderators only)
|
||||
async getContactSubmissions(filters?: ContactFilters): Promise<ContactSubmission[]>
|
||||
|
||||
// PATCH /contact/{id}/status/ (moderators only)
|
||||
async updateContactStatus(id: string, status: string, notes?: string): Promise<ContactSubmission>
|
||||
}
|
||||
```
|
||||
|
||||
- [ ] Create `src/services/contact/contactService.ts`
|
||||
- [ ] Create types and mappers
|
||||
|
||||
### Task 11.2: Update Contact Form (1 hour)
|
||||
|
||||
**File:** `src/components/contact/ContactForm.tsx`
|
||||
|
||||
- [ ] Replace `supabase.from('contact_submissions')` with `contactService`
|
||||
- [ ] Update form submission
|
||||
- [ ] Test contact form
|
||||
- [ ] Verify confirmation emails
|
||||
|
||||
### Task 11.3: Verify Reports Service (1 hour)
|
||||
|
||||
**Note:** Reports service was already created in earlier work, but verify it's complete.
|
||||
|
||||
- [ ] Verify `src/services/reports/reportsService.ts` is complete
|
||||
- [ ] Verify `src/components/moderation/ReportButton.tsx` uses service
|
||||
- [ ] Verify `src/components/moderation/ReportsQueue.tsx` uses service
|
||||
- [ ] Test report submission
|
||||
- [ ] Test report management
|
||||
|
||||
### Task 11.4: Final Contact/Reports Testing (1-2 hours)
|
||||
|
||||
- [ ] Test contact form submission
|
||||
- [ ] Test contact admin management
|
||||
- [ ] Test report submission
|
||||
- [ ] Test report moderation
|
||||
- [ ] Verify emails are sent
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Success Criteria
|
||||
|
||||
- [ ] Contact form works
|
||||
- [ ] Contact emails sent
|
||||
- [ ] Reports fully functional
|
||||
- [ ] Admin can manage contacts/reports
|
||||
- [ ] Zero `supabase.from('contact_submissions')` calls
|
||||
- [ ] Zero `supabase.from('reports')` calls
|
||||
|
||||
---
|
||||
|
||||
## ⏭️ Next Phase
|
||||
|
||||
**Phase 12:** Pages Migration - THE BIG ONE
|
||||
Reference in New Issue
Block a user