package ted import ( "fmt" "strings" "time" ) // FileProcessingEmailTemplateData represents the data needed for the file processing email template type FileProcessingEmailTemplateData struct { OJS string ProcessedCount int SuccessCount int Errors []string ProcessedAt int64 CompanyName string CompanyLogo string CompanyURL string SupportEmail string } // GenerateFileProcessingEmailTemplate generates a beautiful HTML email template for file processing results func GenerateFileProcessingEmailTemplate(data *FileProcessingEmailTemplateData) string { // Format the processing date processedAt := time.Unix(data.ProcessedAt, 0).Format("January 2, 2006 at 3:04 PM") // Calculate success rate successRate := 0.0 if data.ProcessedCount > 0 { successRate = float64(data.SuccessCount) / float64(data.ProcessedCount) * 100 } // Determine status color and message var statusColor, statusMessage string if len(data.Errors) == 0 && data.ProcessedCount > 0 { statusColor = "#10b981" // Green statusMessage = "All files processed successfully" } else if data.SuccessCount > 0 { statusColor = "#f59e0b" // Amber statusMessage = "Partial success with some errors" } else { statusColor = "#ef4444" // Red statusMessage = "Processing failed" } // Generate errors section var errorsHTML string if len(data.Errors) > 0 { errorsHTML = `
Automated processing results from the TED scraper system