Skip to content

Conversation

@apoorvajainrp21
Copy link
Contributor

@apoorvajainrp21 apoorvajainrp21 commented Dec 4, 2025

Description

This PR implements comprehensive UI/UX improvements for the Email Management system, specifically focusing on the EmailOutbox component's modal layout and batch information display. The changes address critical usability issues where email information and batch details were being cut off or not displaying properly.

Implements: Email Management System Enhancement - EmailOutbox Modal & Batch Display Improvements

Related PRS (if any):

NEW VERSION OF THIS IS #4731

This frontend PR is related to Chaitanya's backend PR for email management PR1945
To test this frontend PR, you may need to checkout Chaitanya's backend PR if the /api/email-outbox/:emailId endpoint is not yet merged to the main backend.

Main changes explained:

EmailOutbox.jsx - Complete Modal & Batch Display Overhaul

Modal Layout Fixes:

  • Updated Modal component: Changed from centered prop to custom top-aligned positioning with style={{ maxWidth: '95%', margin: '1.75rem auto' }} to maximize visible space
  • Removed maxHeight restrictions from ModalBody to prevent content truncation
  • Increased modal width from default xl to 95% viewport width to accommodate all content without horizontal scrolling

Email Information Section Restructure:

  • Redesigned from single-column to 2-column grid layout using Bootstrap's row and col-md-6 classes
  • Added 6 new fields that were previously missing:
    • Email ID with word-break styling to prevent overflow
    • Started timestamp (green text when available, "N/A" when null)
    • Completed timestamp (green text when available, "N/A" when null)
    • Total Batches count (blue bold)
    • Sent Recipients count (green bold)
    • Failed Recipients count (red bold)
  • Updated field labels from "Created At"/"Updated At" to "Created"/"Last Updated" for consistency
  • Applied color coding: Blue for IDs/counts, Green for success timestamps/counts, Red for failures

Batch Information Table Implementation:

  • Created complete batch table with dark header (table-dark) and striped rows (striped hover)
  • Implemented 5-column structure:
    1. Email Batch column: Shows batch number and recipient count with responsive mobile fallback
    2. Status column: Displays status badge with corresponding icon (checkmark, clock, warning)
    3. Attempts column: Shows attempt count with last attempted timestamp (hidden on mobile)
    4. Timing column: Displays sent/failed timestamps with icons and created date (hidden on small screens)
    5. Actions column: Contains "View" button to display recipients list
  • Added mobile-responsive design: Timing and attempts data appears inline for batch name on small screens
  • Implemented error display: Shows last error message for failed batches with truncation for long errors
  • Added empty state: Displays friendly message with envelope icon when no batches exist

API Integration Updates:

  • Changed API endpoint from /api/emails/${emailId}/batches to /api/email-outbox/${emailId} to match backend structure
  • Updated response parsing from response.data.emailBatches to response.data.data.batches to match backend response format
  • Added validation check for response.data.success && response.data.data before accessing batches
  • Improved error handling: Gracefully handles missing batches with console.log instead of toast notifications

Button System Enhancement:

  • Replaced outline buttons with solid colored buttons:
    • Details button: Changed from outline-primary to primary (solid blue)
    • Retry button: Changed from outline-danger to danger (solid red)
    • Resend button: Changed from outline-warning to warning (solid yellow)
  • Added white text color to icons on blue and red buttons for better contrast
  • Added dark text color to icon on yellow button for readability
  • Updated button visibility logic:
    • Details button: Always visible
    • Retry button: Only visible for emails with status FAILED or PROCESSED
    • Resend button: Always visible

Retry Functionality Implementation:

  • Created handleRetryEmail function that calls /api/emails/${emailId}/retry endpoint
  • Added requestor authentication by passing currentUser.userid and role in request body
  • Implemented success feedback: Shows toast with count of failed batches retried
  • Added data refresh: Automatically refreshes email list after successful retry
  • Added error handling: Displays user-friendly error messages on failure

Status System Enhancement:

  • Updated getStatusBadge function to handle all 5 email statuses:
    • PENDING → warning (yellow)
    • SENDING → info (blue with spinner)
    • SENT → success (green)
    • PROCESSED → warning (yellow - for mixed results)
    • FAILED → danger (red)
  • Updated getStatusIcon function with appropriate icons for each status:
    • PENDING → Clock icon
    • SENDING → Spinning sync icon
    • SENT → Checkmark circle
    • PROCESSED → Warning triangle (mixed results)
    • FAILED → Warning triangle (red)

Performance Optimization:

  • Added isActive prop to component signature with default value true for backward compatibility
  • Disabled automatic data fetching on mount by commenting out the initial useEffect(() => fetchData())
  • Created new conditional useEffect that only fetches data when isActive prop is true
  • Added dependency array [isActive, fetchData] to re-fetch when tab becomes active
  • Prevents unnecessary API calls when component is mounted but not visible (e.g., on Send Email tab)

IntegratedEmailSender.jsx - Variable Type & Preview Improvements

Variable Type Badge Display Fix:

  • Updated Badge display logic in VariableRow component (line 127)
  • Changed from simple type display {variable.type} to conditional logic
  • Added name-based detection: Checks if variable.name.toLowerCase().includes('video')
  • Shows "VIDEO" badge for variables with "video" in the name (videoUrl, videoLink, etc.)
  • Shows uppercase type for all other variables (TEXT, IMAGE, URL, NUMBER, etc.)
  • Maintains tooltip showing actual variable type for reference

Invalid Image/Video Preview Enhancement:

  • Updated error state styling for better visibility (lines 181-182)
  • Changed background color from grey (#f8f9fa) to white (#fff) for cleaner appearance
  • Changed border color from grey (#dee2e6) to red (#dc3545) to clearly indicate error
  • Kept error icon and text (❌ "Invalid Image") for clear feedback
  • Maintains YouTube thumbnail extraction with quality fallback (maxresdefault → sddefault → hqdefault → mqdefault → default)
  • Shows error state only after all thumbnail qualities fail, not on initial load

Formatting and Code Quality:

  • Applied Prettier formatting to src/components/Announcements/index.jsx, src/components/Announcements/platforms/email/index.jsx, src/routes.jsx
  • Fixed indentation inconsistencies for better code readability
  • Removed trailing spaces and normalized line endings
  • Ensured consistent spacing around operators and function parameters

Files Modified:

  • ✏️ src/components/Announcements/platforms/email/emailOutbox/EmailOutbox.jsx - Major overhaul (modal, batch table, buttons, API, status system)
  • ✏️ src/components/Announcements/platforms/email/send/IntegratedEmailSender.jsx - Badge display and preview improvements
  • ✏️ src/components/Announcements/index.jsx - Prettier formatting
  • ✏️ src/components/Announcements/platforms/email/index.jsx - Prettier formatting
  • ✏️ src/routes.jsx - Prettier formatting

How to test:

Setup:

  1. Check out branch apoorva/email-management-ui-improvements
  2. Run npm install to ensure all dependencies are up to date
  3. Clear site data/cache (Ctrl+Shift+Delete or Cmd+Shift+Delete)
  4. Run npm start to start the development server
  5. Log in as a user with sendEmails permission (admin or appropriate role)

Test 1: Email Templates

  1. Navigate to Announcements → Email → Templates
  2. Verify template list displays correctly with all templates
  3. Click "Create Template" button
  4. Verify template editor opens with:
    • Template Name field
    • Subject field
    • HTML content editor (TinyMCE)
    • Variables section with "Auto Extract" button
  5. Create a test template with variables including:
    • Regular text variable (e.g., {{firstName}})
    • Image/video variable (e.g., {{videoUrl}})
  6. Click "Auto Extract" and verify variables are detected
  7. Select variable types (ensure videoUrl is set as "image" type)
  8. Click "Preview" and verify preview shows correctly
  9. Click "Save & Continue" and verify template is saved
  10. Go back to template list and verify new template appears
  11. Click "Edit" on the saved template
  12. Verify all fields and variables load correctly
  13. Make changes and save again
  14. Verify changes are persisted

Test 2: Send Email (IntegratedEmailSender)

  1. Navigate to Announcements → Email → Send Email
  2. Verify mode selector shows: Templates | Custom buttons
  3. Test Template Mode:
    • Click "Templates" mode
    • Select the template you created (with videoUrl variable)
    • Verify variable table displays with:
      • Variable name column
      • Type column showing "VIDEO" badge for videoUrl (not "IMAGE")
      • Value input column
    • Enter a valid YouTube URL in videoUrl field
    • Verify thumbnail preview appears
    • Enter an invalid YouTube URL (e.g., incomplete link)
    • Verify preview shows white background with red border and "Invalid Image" text (NOT grey)
    • Fill in all required variables
    • Select "Specific Recipients" distribution
    • Enter test email addresses
    • Click "Preview & Send"
    • Verify preview modal shows correctly with subject and content
    • Click "Send Email"
    • Verify success toast appears
  4. Test Custom Mode:
    • Click "Custom" mode
    • Enter subject and content using TinyMCE editor
    • Select "Select Recipients
    • Click "Preview & Send"
    • Verify preview shows correctly
    • Send email

Test 3: Email Outbox (Main Focus)

  1. Navigate to Announcements → Email → Outbox
  2. Verify Outbox Table:
    • Table shows all sent emails with columns: Subject, Status, Recipients, Created, Actions
    • Status badges display correctly for all types: PENDING, SENDING, SENT, PROCESSED, FAILED
    • Stat cards at top show counts for each status
    • Filter by clicking stat cards works
  3. Test Details Modal:
    • Click "Details" button (blue) on any email
    • Verify modal is wide (95% width) with NO content cutoff
    • Verify Email Information section shows all 12 fields in 6 rows:
      • Row 1: Email ID (blue, word-wrapped) | Subject
      • Row 2: Status (badge) | Created By
      • Row 3: Created (timestamp) | Started (green timestamp or N/A)
      • Row 4: Completed (green timestamp or N/A) | Last Updated
      • Row 5: Total Batches (blue bold) | Total Recipients (blue bold)
      • Row 6: Sent Recipients (green bold) | Failed Recipients (red bold)
    • Verify Email Batches section shows:
      • Header: "Email Batches (X)" with count
      • Table with dark header and striped rows
      • 5 columns: Email Batch #, Status, Attempts, Timing, Actions
      • Each batch row shows recipient count
      • Status badges with icons
      • Attempts count and last attempt date
      • Sent/Failed timestamps with checkmarks/X icons
      • "View" button to see recipients
    • Click "View" button on a batch
    • Verify recipient list displays
    • Close modal
  4. Test Action Buttons:
    • Verify "Details" button is always BLUE (not outline)
    • For FAILED or PROCESSED emails:
      • Verify "Retry" button appears in RED (not outline)
      • Click "Retry" button
      • Verify toast notification appears
      • Verify email status updates after retry
    • Verify "Resend" button is always YELLOW (not outline)
    • Click "Resend" button
    • Verify resend modal opens with options (all/specific/same recipients)
    • Test resending to specific recipients
  5. Test API Call Optimization:
    • With browser DevTools Network tab open
    • Start on "Send Email" tab
    • Verify NO /api/email-outbox calls are made while on Send tab
    • Switch to "Outbox" tab
    • Verify /api/email-outbox call is made ONLY when switching to Outbox tab
    • Switch back to Send tab
    • Switch to Outbox again
    • Verify API is called again (refresh behavior)
  6. Test Refresh Functionality:
    • Click manual refresh button in Outbox
    • Verify loading indicator appears
    • Verify data refreshes
    • Verify auto-refresh countdown works (if enabled)
  7. Test Process Pending/Stuck Emails:
    • If there are stuck emails (SENDING status for too long)
    • Click settings dropdown
    • Click "Process Pending & Stuck Emails"
    • Verify confirmation and processing happens

Test 4: Dark Mode Compatibility

  1. Switch to dark mode
  2. Repeat all tests above (Templates, Send Email, Outbox)
  3. Verify all colors, contrasts, and UI elements are visible and properly styled
  4. Verify buttons remain colored (blue/red/yellow) in dark mode
  5. Verify modals, badges, and tables display correctly

Test 5: Responsive Design

  1. Test on different screen sizes (desktop, tablet, mobile)
  2. Verify modal remains readable at 95% width on smaller screens
  3. Verify batch table columns adapt responsively (some columns hide on mobile)
  4. Verify buttons stack properly on mobile

Test 6: Error Handling

  1. Disconnect internet or stop backend
  2. Try to load Outbox
  3. Verify error message appears
  4. Try to send email
  5. Verify appropriate error messages display
  6. Reconnect and verify retry works

Screenshots or videos of changes:

SendEmail_UI_Iprovment EmailTemplate_UI_Improvement FilterBy_Sent Pending_StuckEmailNotificationFix ResponsiveDesign_Demo1 ResponsiveDesign_Demo2 SettingMenu image

Summary of Changes

Fixed Issues:

  • ✅ Fixed recipient count calculations from batches
  • ✅ Fixed view recipients display formatting
  • ✅ Fixed resend email parameter passing
  • ✅ Fixed retry button endpoint correction
  • ✅ Fixed auto-refresh countdown timer reset
  • ✅ Implemented form state persistence with offline/online detection
  • ✅ Fixed dark mode dropdown visibility
  • ✅ Added toast notification auto-close timers
  • ✅ Enhanced light/dark mode card styling with blue borders and colored icons
  • ✅ Failed emails showing retry button
  • ✅ Dark mode invalid.image visibility
  • ✅ Content visibility behind images
  • Video URL labeled as "Image"
Counter_On_Off_Functionality.mp4
Resend_Functionality.mp4
Retry_Functionality.mp4
Template_Restore_NetworkIssue.mp4
Screenshot 2025-12-09 164814 Screenshot 2025-12-09 164839 Screenshot 2025-12-10 003633 Screenshot 2025-12-10 003641 Screenshot 2025-12-10 181208 Screenshot 2025-12-10 181325

NEW CHANGES : 01/07/2026:

Issues Fixed

Issue 1: VIDEO Variable Type Not Supported ✅

Problem: The videoUrl variable was displaying a "URL" badge instead of "VIDEO" badge because the video type wasn't recognized.
Files Changed:

  • src/components/EmailManagement/template-management/templates/EmailTemplateEditor.jsx

Issue 2: Clear Draft Button Not Working ✅

Problem: Clicking "Clear Draft" showed a success toast notification but the form data remained visible in the UI. Only localStorage was cleared, not the component state.
Files Changed:

  • src/components/EmailManagement/email-sender/IntegratedEmailSender.jsx

Issue 3: Offline Alert Banner Not Dismissing ✅

Problem: When internet connection was lost and then restored, the yellow "You are offline" Alert banner remained visible even though the connection was back.
Files Changed:

  • src/components/EmailManagement/email-sender/IntegratedEmailSender.jsx

Issue 4: Large Preview Images Hiding Extracted Content ✅

Problem: When preview emails contained large images, the images would overflow and hide the extracted text content below them, making it difficult to see the full email preview.
Files Changed:

  • src/components/EmailManagement/email-sender/IntegratedEmailSender.css

Enhancement: Automatic HTML Wrapping for Images and Videos ✅

Problem: Users had to manually write HTML tags (<img> and <a> tags) in their email templates to display images and videos properly in the preview.
Files Changed:

  • src/components/EmailManagement/email-sender/utils.js

Testing

All issues have been tested locally:

  • ✅ VIDEO badge displays correctly for video-type variables
  • ✅ Clear Draft completely resets the form UI
  • ✅ Offline alert banner auto-dismisses when connection is restored
  • ✅ Large images in preview are properly constrained and don't hide content
  • ✅ Images and videos render automatically in preview without manual HTML

Screenshots or videos of changes:

AlertBanner_Fixed_Issue3.mp4
ClearDraft_Fixed_Issue2.mp4
Network_Alert_Disappearing.mp4
VideoTag_Issue1

csk731 and others added 23 commits September 27, 2025 21:44
…mponents; refactor EmailPanel to use new template structure for improved email functionality.
…components to enhance email functionality and styling; implement fullscreen mode and modal for email settings. Update template data structure for improved link handling.
…ject input and improving link handling; update email sending actions to include subject in payload. Refactor toast notifications for consistency in styling and error handling.
…ermission checks; enhance error handling in NewsletterTemplateEditor with improved toast notifications. Update template data for consistent styling in footer content.
…nt with URL-based tab management

- Introduced a new route for Email Template Management accessible to specific user roles.
- Enhanced the Announcements component to manage active tabs based on URL query parameters, improving user navigation.
- Updated EmailPanel to support dynamic view switching between sending emails and managing templates, with URL synchronization.
- Integrated modal for sending emails with templates in the NewsletterTemplateEditor, enhancing user experience.
…s and improving success notifications. Update requestor information in payload for permission checks and remove redundant success message display logic.
… for auto-refresh, and improved filter functionality. Added email preview feature and refined UI elements for better user experience.
…anual retry functionality, and enhance UI elements. Updated styles for loading and error states, and optimized template data handling in EmailTemplateList and EmailTemplateEditor.
- Introduced actions for fetching email batch and item audit trails, along with audit statistics.
- Enhanced EmailBatchDashboard component to include buttons for viewing audit trails.
- Updated reducer to manage loading states and errors for audit actions.
- Added AuditTrailModal for displaying audit details, improving user experience and data visibility.
- Added a new protected route for viewing email announcements.
- Refactored email batch actions to focus on parent Email records, including renaming actions and updating API endpoints.
- Updated EmailBatchDashboard to manage emails instead of batches, improving clarity and functionality.
- Enhanced AuditTrailModal and EmailTemplate components for better user experience and error handling.
- Removed deprecated email sending functionality from templates, streamlining the process to utilize emailController endpoints.
- Improved loading states and UI elements across various components for consistency and better user feedback.
- Changed the logic to check for full template data before fetching additional content.
- Updated the API call to fetch full template data only when necessary, enhancing performance and user experience.
- Improved error handling during the fetch process to ensure continuity in case of failures.
- Deleted emailBatchActions.js to streamline email management, focusing on parent Email records.
- Updated emailTemplateActions.js to include new actions for previewing and validating email templates, while removing deprecated email sending actions.
- Refactored EmailBatchDashboard and related components to utilize EmailOutbox for improved email management.
- Enhanced error handling and loading states across various components for better user experience.
- Removed unused styles and components related to the previous email batch dashboard, optimizing the codebase.
- Fixed EmailOutbox stat card alignment and added clickable filter functionality
- Improved responsive design for mobile/tablet/desktop compatibility
- Standardized button sizes across all components
- Added EmailManagementShared.css for consistent styling
- Created LoadingSpinner component for unified loading states
- Fixed image preview overflow issues in IntegratedEmailSender
- Implemented smart processing logic for pending emails (excludes failed)
- Cleaned up ESLint warnings and replaced alerts with toast notifications
- Fixed import paths and added proper error handling
- Added WeeklyUpdateComposer and email constants
@netlify
Copy link

netlify bot commented Dec 4, 2025

Deploy Preview for highestgoodnetwork-dev ready!

Name Link
🔨 Latest commit fc9af16
🔍 Latest deploy log https://app.netlify.com/projects/highestgoodnetwork-dev/deploys/693f3c8176689500070c2875
😎 Deploy Preview https://deploy-preview-4492--highestgoodnetwork-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@one-community one-community added the High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible label Dec 7, 2025
Copy link

@Anusha-Gali Anusha-Gali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Apoorva,

I have tested your PR locally and so far i have completed test 1 and test 2 and have observed the following issues.
Issue 1 - the point 3 c(2) and 7 aren't the same on frontend compared to what is mentioned over here.
image

3 c(2) - doesn't say VIDEO as mentioned in description
image
hence causes the video url to be sent as image instead of url
Screenshot 2025-12-08 at 12 26 06 AM
as mentioned in test 1 i did select "Image" type for videourl
Screenshot 2025-12-08 at 12 30 04 AM

7 - not sure if you meant red caption instead of red border
image
Issue 2 - Also as we had discussed over email - the broadcast to all subscribers - i can see that you have updated the description. Thank you.

Issue 3 - Row 5: Total Batches (blue bold) | Total Recipients (blue bold) - count 0 when count should be 3
Row 6: Sent Recipients (green bold) - count 0 when count should be 3 | Failed Recipients (red bold) - 0 (based over our discussion on email - that chain had 2 failed recipients and the count is not shown.
Screenshot 2025-12-08 at 12 34 21 AM
image
image
image

Issue 4 - "View" button to see recipients - the recipient are not listed
Screenshot 2025-12-08 at 12 35 26 AM

Issue 5 - I gave an incorrect mail id - yet i do not see a fail option
Screenshot 2025-12-08 at 1 09 59 AM
Screenshot 2025-12-08 at 1 09 23 AM

Issue 6 - resend email option - even though same/specific is selected it throws the toast error notification
Screenshot 2025-12-08 at 1 16 04 AM
Screenshot 2025-12-08 at 1 16 07 AM
Screenshot 2025-12-08 at 1 18 15 AM
Screenshot 2025-12-08 at 1 18 10 AM

Issue 7 - even retry option does not work even after the backend issue is fixed which cause the failed status , i have even tried by refreshing the entire page.
Screenshot 2025-12-08 at 1 19 19 AM

Issue 8 - Test Refresh Functionality - if we off and on the "Auto-Refresh" button in settings - the auto-refresh countdown stops and 0 and doesn't refresh unless we load the page and the test that feature again.
https://github.com/user-attachments/assets/7c323d6b-207c-4c78-89d0-466549bf3b3f

Issue 9 - Error Handling - though the error messages work as required i do not see a fail/retry option in outbox when the network is in offline and in send - once internet is connected, the preview and send modal doesn't refresh automatically unless selected again and even then i get error reasonably since variables are not present, but unless i select some other template and then my template again - the variable do not get updated or unless i do a refresh of the entire page by which i loose my current process.
https://github.com/user-attachments/assets/4d613939-49b9-4861-a06e-f7f56d352327

Issue 10 - Dark Mode - the invalid.image is not visible enough and the Email Outbox test is not visible
Screenshot 2025-12-08 at 1 23 22 AM
Screenshot 2025-12-08 at 1 25 46 AM

Issue 11 - Dark Mode - Settings dropdown content is not visible in dark mode
Screenshot 2025-12-08 at 1 35 19 AM

Issue 12 - issue in both light and dark mode is the extracted from content is not visible if the preview image is larger in size
Screenshot 2025-12-08 at 1 24 43 AM

Issue 13 - Some of the toast notifications stay on screen and do not disappear, as you can see in many of my above screenshots, do check base on this issue as well.

Note: Do let me or Jae know if any of the issues pointed out are out of scope, also will try to update again on issue 6,7 with a new OAUTH access token

Copy link

@VijayAnirudh VijayAnirudh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A test case is failing! Backend is working fine! Please mention the details that you wanted to include on the env file in the description.
image

@apoorvajainrp21
Copy link
Contributor Author

A test case is failing! Backend is working fine! Please mention the details that you wanted to include on the env file in the description. image

Please pull latest changes. Nothing is different in frontend setup.

@apoorvajainrp21
Copy link
Contributor Author

Hi Apoorva,

I have tested your PR locally and so far i have completed test 1 and test 2 and have observed the following issues. Issue 1 - the point 3 c(2) and 7 aren't the same on frontend compared to what is mentioned over here. image

3 c(2) - doesn't say VIDEO as mentioned in description image hence causes the video url to be sent as image instead of url Screenshot 2025-12-08 at 12 26 06 AM as mentioned in test 1 i did select "Image" type for videourl Screenshot 2025-12-08 at 12 30 04 AM

7 - not sure if you meant red caption instead of red border image Issue 2 - Also as we had discussed over email - the broadcast to all subscribers - i can see that you have updated the description. Thank you.

Issue 3 - Row 5: Total Batches (blue bold) | Total Recipients (blue bold) - count 0 when count should be 3 Row 6: Sent Recipients (green bold) - count 0 when count should be 3 | Failed Recipients (red bold) - 0 (based over our discussion on email - that chain had 2 failed recipients and the count is not shown. Screenshot 2025-12-08 at 12 34 21 AM image image image

Issue 4 - "View" button to see recipients - the recipient are not listed Screenshot 2025-12-08 at 12 35 26 AM

Issue 5 - I gave an incorrect mail id - yet i do not see a fail option Screenshot 2025-12-08 at 1 09 59 AM Screenshot 2025-12-08 at 1 09 23 AM

Issue 6 - resend email option - even though same/specific is selected it throws the toast error notification Screenshot 2025-12-08 at 1 16 04 AM Screenshot 2025-12-08 at 1 16 07 AM Screenshot 2025-12-08 at 1 18 15 AM Screenshot 2025-12-08 at 1 18 10 AM

Issue 7 - even retry option does not work even after the backend issue is fixed which cause the failed status , i have even tried by refreshing the entire page. Screenshot 2025-12-08 at 1 19 19 AM

Issue 8 - Test Refresh Functionality - if we off and on the "Auto-Refresh" button in settings - the auto-refresh countdown stops and 0 and doesn't refresh unless we load the page and the test that feature again. https://github.com/user-attachments/assets/7c323d6b-207c-4c78-89d0-466549bf3b3f

Issue 9 - Error Handling - though the error messages work as required i do not see a fail/retry option in outbox when the network is in offline and in send - once internet is connected, the preview and send modal doesn't refresh automatically unless selected again and even then i get error reasonably since variables are not present, but unless i select some other template and then my template again - the variable do not get updated or unless i do a refresh of the entire page by which i loose my current process. https://github.com/user-attachments/assets/4d613939-49b9-4861-a06e-f7f56d352327

Issue 10 - Dark Mode - the invalid.image is not visible enough and the Email Outbox test is not visible Screenshot 2025-12-08 at 1 23 22 AM Screenshot 2025-12-08 at 1 25 46 AM

Issue 11 - Dark Mode - Settings dropdown content is not visible in dark mode Screenshot 2025-12-08 at 1 35 19 AM

Issue 12 - issue in both light and dark mode is the extracted from content is not visible if the preview image is larger in size Screenshot 2025-12-08 at 1 24 43 AM

Issue 13 - Some of the toast notifications stay on screen and do not disappear, as you can see in many of my above screenshots, do check base on this issue as well.

Note: Do let me or Jae know if any of the issues pointed out are out of scope, also will try to update again on issue 6,7 with a new OAUTH access token

The image tag is what you have selected in the template. I have changed it to video URL. The tags appear same as your choice in the template. I have addressed all the other issues. Please pull the latest code and test again. Thanks!

Copy link

@Anusha-Gali Anusha-Gali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Apoorva,

Thank you for looking into my feedback and fixing most of the errors, though there are a few that require your attention.

Issue 1: As you can see below, i did follow all instructions mentioned but do not see a
Type column showing "VIDEO" badge for videoUrl , it still shows image. But when i did custom email it worked since we keep the actual url. You can also see in previewe it shows .jpg
Screenshot 2025-12-17 at 11 11 55 PM
Screenshot 2025-12-17 at 11 12 01 PM
Screenshot 2025-12-17 at 11 15 23 PM
Screenshot 2025-12-17 at 11 19 52 PM
Screenshot 2025-12-17 at 11 20 17 PM
Screenshot 2025-12-17 at 11 22 19 PM
Screenshot 2025-12-17 at 11 22 34 PM

Not an issue (need clarification) - I hope this is what Chaitanya was trying to say when he explained about the not delivered part as to why it does not count under failed reciepent at OneCommunityGlobal/HGNRest#1945 (comment)
Screenshot 2025-12-17 at 11 23 46 PM
Screenshot 2025-12-17 at 11 24 37 PM
Screenshot 2025-12-17 at 11 25 21 PM
Screenshot 2025-12-17 at 11 25 45 PM
Screenshot 2025-12-17 at 11 25 50 PM

Issue 2: Even though i click on clear draft, the draft does not get deleted
Screenshot 2025-12-17 at 11 39 30 PM
Screenshot 2025-12-17 at 11 39 33 PM

Issue 3: Even when the connection is restored, the toast notification does not go away
Screenshot 2025-12-17 at 11 40 43 PM
Screenshot 2025-12-17 at 11 41 12 PM

Issue 4: The extracted from content is not visible if the preview image is larger in size
Screenshot 2025-12-18 at 12 08 37 AM

@apoorvajainrp21
Copy link
Contributor Author

changes pushed:

Hi Apoorva,

Thank you for looking into my feedback and fixing most of the errors, though there are a few that require your attention.

Issue 1: As you can see below, i did follow all instructions mentioned but do not see a Type column showing "VIDEO" badge for videoUrl , it still shows image. But when i did custom email it worked since we keep the actual url. You can also see in previewe it shows .jpg Screenshot 2025-12-17 at 11 11 55 PM Screenshot 2025-12-17 at 11 12 01 PM Screenshot 2025-12-17 at 11 15 23 PM Screenshot 2025-12-17 at 11 19 52 PM Screenshot 2025-12-17 at 11 20 17 PM Screenshot 2025-12-17 at 11 22 19 PM Screenshot 2025-12-17 at 11 22 34 PM

Not an issue (need clarification) - I hope this is what Chaitanya was trying to say when he explained about the not delivered part as to why it does not count under failed reciepent at OneCommunityGlobal/HGNRest#1945 (comment) Screenshot 2025-12-17 at 11 23 46 PM Screenshot 2025-12-17 at 11 24 37 PM Screenshot 2025-12-17 at 11 25 21 PM Screenshot 2025-12-17 at 11 25 45 PM Screenshot 2025-12-17 at 11 25 50 PM

Issue 2: Even though i click on clear draft, the draft does not get deleted Screenshot 2025-12-17 at 11 39 30 PM Screenshot 2025-12-17 at 11 39 33 PM

Issue 3: Even when the connection is restored, the toast notification does not go away Screenshot 2025-12-17 at 11 40 43 PM Screenshot 2025-12-17 at 11 41 12 PM

Issue 4: The extracted from content is not visible if the preview image is larger in size Screenshot 2025-12-18 at 12 08 37 AM

Hi Anusha, Please check out pushed changes.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 7, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
4 Security Hotspots
D Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@one-community one-community changed the title Apoorva/email management UI improvements Apoorva - Redo of email management UI improvements PR#4670 Jan 7, 2026
@Anusha-Gali
Copy link

changes pushed:

Hi Apoorva,
Thank you for looking into my feedback and fixing most of the errors, though there are a few that require your attention.
Issue 1: As you can see below, i did follow all instructions mentioned but do not see a Type column showing "VIDEO" badge for videoUrl , it still shows image. But when i did custom email it worked since we keep the actual url. You can also see in previewe it shows .jpg Screenshot 2025-12-17 at 11 11 55 PM Screenshot 2025-12-17 at 11 12 01 PM Screenshot 2025-12-17 at 11 15 23 PM Screenshot 2025-12-17 at 11 19 52 PM Screenshot 2025-12-17 at 11 20 17 PM Screenshot 2025-12-17 at 11 22 19 PM Screenshot 2025-12-17 at 11 22 34 PM
Not an issue (need clarification) - I hope this is what Chaitanya was trying to say when he explained about the not delivered part as to why it does not count under failed reciepent at OneCommunityGlobal/HGNRest#1945 (comment) Screenshot 2025-12-17 at 11 23 46 PM Screenshot 2025-12-17 at 11 24 37 PM Screenshot 2025-12-17 at 11 25 21 PM Screenshot 2025-12-17 at 11 25 45 PM Screenshot 2025-12-17 at 11 25 50 PM
Issue 2: Even though i click on clear draft, the draft does not get deleted Screenshot 2025-12-17 at 11 39 30 PM Screenshot 2025-12-17 at 11 39 33 PM
Issue 3: Even when the connection is restored, the toast notification does not go away Screenshot 2025-12-17 at 11 40 43 PM Screenshot 2025-12-17 at 11 41 12 PM
Issue 4: The extracted from content is not visible if the preview image is larger in size Screenshot 2025-12-18 at 12 08 37 AM

Hi Anusha, Please check out pushed changes.

Hi Apoorva,

Are you sure that the commits got pushed as all the issues I had mentioned still exist.
Screenshot 2026-01-07 at 6 20 22 PM
Screenshot 2026-01-07 at 6 20 28 PM
Screenshot 2026-01-07 at 6 26 29 PM
Screenshot 2026-01-07 at 6 26 35 PM
Screenshot 2026-01-07 at 6 26 59 PM
Screenshot 2026-01-07 at 6 29 03 PM
Screenshot 2026-01-07 at 6 29 05 PM

@apoorvajainrp21
Copy link
Contributor Author

@Anusha-Gali Are you on branch 4492 frontend and 1945 on backend?

@Anusha-Gali
Copy link

Anusha-Gali commented Jan 9, 2026

@Anusha-Gali Are you on branch 4492 frontend and 1945 on backend?

Yes Apoorva, I was on the stated branches. Also if i scroll through the history here, i do not see any commits done on this branch either.

@csk731
Copy link
Contributor

csk731 commented Jan 17, 2026

Hi Apoorva, Here is my end-to-end feedback on your PR. This document includes all the issues I noticed during testing.

Mail Chimp Replacement UI Feedback_20260117_180711.pdf

I’m attaching this as a document to make it easier for you to navigate through the feedback, since the page already contains a lot of content.

@one-community one-community changed the title Apoorva - Redo of email management UI improvements PR#4670 Chaitanya taking over for Apoorva - Redo of email management UI improvements PR#4670 Jan 22, 2026
@one-community one-community changed the title Chaitanya taking over for Apoorva - Redo of email management UI improvements PR#4670 Apoorva - Redo of email management UI improvements PR#4670 Jan 22, 2026
@one-community one-community changed the title Apoorva - Redo of email management UI improvements PR#4670 Sai Shravan Neelamsetty taking over for Apoorva - Redo of email management UI improvements PR#4670 Jan 22, 2026
Shravan-neelamsetty pushed a commit that referenced this pull request Jan 23, 2026
- Email template management with CRUD operations
- Integrated email sender with template support
- Email outbox with batch tracking and status monitoring
- Retry and resend functionality for failed emails
- Dark mode support throughout
- Responsive design for all components
- Fixed CSS files to use CSS Modules (.module.css)

Taking over from Apoorva (PR #4492 and #4731)
Note: CSS duplicates will be cleaned in next commit
Shravan-neelamsetty pushed a commit that referenced this pull request Jan 23, 2026
Issue 2 - Search UX in Templates:
- Keep search bar, sort dropdown, and create button visible during loading
- Only show loading spinner in template list area
- Disable controls during loading to prevent rapid changes

Issue 3 - Variable Labels in Preview:
- Remove 'No Label' text from variable preview modal
- Show variable icon + name only
- Add tooltip showing variable type on hover

Other fixes:
- Add missing useEffect import in Announcements component
- Fix CSS syntax errors in EmailTemplateEditor
- Add URL routing foundation (WIP for Issue 1)

Taking over from Apoorva PR #4492
Based on Chaitanya's feedback
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants