Files
mobile-app/lib/features/auth/presentation/widgets/social_login_buttons.dart

88 lines
2.1 KiB
Dart
Raw Normal View History

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),
),
);
}
}