74 lines
2.3 KiB
Dart
Raw Normal View History

2025-10-26 22:57:22 +07:00
import 'package:flutter/material.dart';
import '../../../common/theme/theme.dart';
import '../../../domain/customer/customer.dart';
class CustomerCard extends StatelessWidget {
final Customer customer;
final bool isActive;
final Function() onTap;
const CustomerCard({
super.key,
required this.customer,
required this.isActive,
required this.onTap,
});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
child: Container(
margin: const EdgeInsets.symmetric(horizontal: 16).copyWith(bottom: 16),
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: isActive ? AppColor.primary.withOpacity(0.1) : AppColor.white,
border: Border.all(
color: isActive ? AppColor.primary : AppColor.border,
),
borderRadius: BorderRadius.circular(8),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
CircleAvatar(
radius: 22,
backgroundColor: AppColor.primary,
child: Icon(Icons.person, color: Colors.white),
),
const SizedBox(width: 12),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
customer.name,
style: const TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
),
),
Text(
customer.email.isNotEmpty ? customer.email : '-',
style: const TextStyle(
fontSize: 12,
fontWeight: FontWeight.w400,
),
),
],
),
),
],
),
],
),
),
);
}
}