# Testimony Submission Enhancements ## 1. Text Testimony Form Update the "Share a Testimony" form with the following fields: | Field | Required | Notes | | ----------------- | -------- | -------------------------------------------------------------------------------------------------------------------- | | Full Name | Yes | | | Email Address | Yes | Valid email format | | Phone Number | No | Country code dropdown + phone number | | Location | Yes | | | Profile Picture | No | Drag-and-drop upload. Accept only JPG, JPEG, PNG, and WEBP formats. Maximum file size: 2 MB. Only one image allowed. | | Testimony Message | Yes | | ### Validation & User Experience * Display inline validation messages beside the relevant field or near the Submit button. * Do not use toast notifications for validation errors. * When the Submit button is clicked: * Show a progress/loading indicator similar to the Contact Form submission process. * Prevent duplicate submissions while processing. * Remove all existing toast messages. * After successful submission: * Display a confirmation message similar to the Contact Form success message. * Provide a **"Submit Another Testimony"** button. --- ## 2. Testimony Status Workflow Introduce the following status values for both Text and Video Testimonies: * Submitted * In Review * Published * Rejected Default status upon submission: * Submitted --- ## 3. Video Testimony Submission Update the Video Testimony submission process as follows: ### Form Fields * Full Name (Mandatory) * Email Address (Mandatory) * Phone Number (Optional) * Location (Mandatory) * YouTube URL (Mandatory) ### Validation * Accept only valid YouTube URLs. * Display inline validation messages. * No toast notifications. ### Workflow * Video testimonies must follow the same approval process and status workflow as Text Testimonies: * Submitted * In Review * Published * Rejected --- ## 4. Email Notifications Send email notifications whenever: 1. A testimony is initially submitted. 2. The testimony status changes. ### Submission Email * Use the existing Contact Form email template as the base template. * Include the submitted testimony details in the email. * Send to the submitter's email address. * BCC the configured ministry email address. ### Status Change Emails Send an email whenever the status changes to: * In Review * Published * Rejected Requirements: * Use the same email template styling. * Include an appropriate status-specific message. * Do not include the full testimony details in these emails. * BCC the ministry email address. --- ## 5. Website Pagination ### Published Text Testimonies When more than 12 published testimonies exist: * Enable pagination. * Display 12 testimonies per page. ### Published Video Testimonies When more than 12 published video testimonies exist: * Enable pagination. * Display 12 testimonies per page. ### Pagination Controls Provide: * First * Previous * Next * Last Ensure pagination is responsive and user-friendly. --- ## 6. Admin Panel Pagination Add pagination to both: * Text Testimonies * Video Testimonies ### Requirements * Default page size: 20 records * Support: * First * Previous * Next * Last * Display total record count and current page information if supported by existing admin grids. --- ## 7. General Requirements * Maintain consistency with the existing Contact Form design and behavior. * Reuse existing email infrastructure and templates wherever possible. * Ensure all validation occurs both client-side and server-side. * Follow existing soft-delete, audit, and security standards used throughout the application.
Similar category and model suggestions.