"""
Signals for user-related events
"""
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.core.mail import send_mail
from django.conf import settings
from .models import User


@receiver(post_save, sender=User)
def send_welcome_email(sender, instance, created, **kwargs):
    """Send welcome email to new users"""
    if created and instance.email:
        try:
            send_mail(
                subject='Welcome to AiBiMagics E-commerce!',
                message=f'Hello {instance.first_name or "User"},\n\n'
                        f'Welcome to AiBiMagics! Thank you for registering.\n\n'
                        f'Best regards,\nAiBiMagics Team',
                from_email=settings.DEFAULT_FROM_EMAIL,
                recipient_list=[instance.email],
                fail_silently=True,
            )
        except Exception as e:
            print(f"Error sending welcome email: {e}")
