from allauth.socialaccount.signals import social_account_added
from allauth.account.signals import user_logged_in
from django.dispatch import receiver
from store.models import Cart

@receiver(user_logged_in)
def merge_cart_on_social_login(sender, request, user, **kwargs):
    # Same logic — session key is still valid at signal time
    session_key = request.session.get('_session_key_before_login')
    if session_key:
        from users.views import merge_session_cart
        merge_session_cart(session_key, user)
        

@receiver(user_logged_in)
def merge_cart_on_social_login(sender, request, user, **kwargs):
    session_key = request.session.get('_pre_login_key')
    if session_key:
        from users.views import merge_session_cart
        merge_session_cart(session_key, user)