feat: Multi-email ticketing system with platform email addresses
- Add PlatformEmailAddress model for managing platform-level email addresses - Add TicketEmailAddress model for tenant-level email addresses - Create MailServerService for IMAP integration with mail.talova.net - Implement PlatformEmailReceiver for processing incoming platform emails - Add email autoconfiguration for Mozilla, Microsoft, and Apple clients - Add configurable email polling interval in platform settings - Add "Check Emails" button on support page for manual refresh - Add ticket counts to status tabs on support page - Add platform email addresses management page - Add Privacy Policy and Terms of Service pages - Add robots.txt for SEO - Restrict email addresses to smoothschedule.com domain only 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -224,6 +224,11 @@ const Tickets: React.FC = () => {
|
||||
key={ticket.id}
|
||||
onClick={() => openTicketModal(ticket)}
|
||||
className="bg-white dark:bg-gray-700/50 border border-gray-200 dark:border-gray-600 rounded-lg p-4 hover:border-brand-300 dark:hover:border-brand-600 hover:shadow-md transition-all cursor-pointer group"
|
||||
style={{
|
||||
borderLeft: ticket.source_email_address
|
||||
? `4px solid ${ticket.source_email_address.color}`
|
||||
: undefined
|
||||
}}
|
||||
>
|
||||
<div className="flex items-start justify-between gap-4">
|
||||
<div className="flex-1 min-w-0">
|
||||
@@ -247,6 +252,15 @@ const Tickets: React.FC = () => {
|
||||
</span>
|
||||
)}
|
||||
|
||||
{ticket.source_email_address && (
|
||||
<span
|
||||
className="inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-white text-xs font-medium"
|
||||
style={{ backgroundColor: ticket.source_email_address.color }}
|
||||
>
|
||||
{ticket.source_email_address.display_name}
|
||||
</span>
|
||||
)}
|
||||
|
||||
<span className="flex items-center gap-1 text-gray-500 dark:text-gray-400">
|
||||
<User size={12} />
|
||||
{ticket.creatorFullName || ticket.creatorEmail}
|
||||
|
||||
Reference in New Issue
Block a user