import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:real_estate_mobile/core/constants/app_colors.dart';

class SocialLoginButtons extends StatelessWidget {
  const SocialLoginButtons({super.key});

  void _showComingSoon(BuildContext context) {
    ScaffoldMessenger.of(context).showSnackBar(
      const SnackBar(
        content: Text('Coming soon'),
        duration: Duration(seconds: 1),
        behavior: SnackBarBehavior.floating,
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Row(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        // Apple
        _SocialButton(
          onTap: () => _showComingSoon(context),
          child: const Icon(
            Icons.apple,
            size: 28,
            color: AppColors.primaryDark,
          ),
        ),
        const SizedBox(width: 32),
        // Google
        _SocialButton(
          onTap: () => _showComingSoon(context),
          child: SvgPicture.asset(
            'assets/icons/google.svg',
            width: 24,
            height: 24,
          ),
        ),
        const SizedBox(width: 32),
        // X (Twitter)
        _SocialButton(
          onTap: () => _showComingSoon(context),
          child: SvgPicture.asset(
            'assets/icons/x.svg',
            width: 24,
            height: 24,
          ),
        ),
        const SizedBox(width: 32),
        // Facebook
        _SocialButton(
          onTap: () => _showComingSoon(context),
          child: SvgPicture.asset(
            'assets/icons/facebook.svg',
            width: 24,
            height: 24,
          ),
        ),
      ],
    );
  }
}

class _SocialButton extends StatelessWidget {
  final VoidCallback onTap;
  final Widget child;

  const _SocialButton({
    required this.onTap,
    required this.child,
  });

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: onTap,
      child: SizedBox(
        width: 40,
        height: 40,
        child: Center(child: child),
      ),
    );
  }
}
