TIF_NGANJUK_E41212036/lib/presentation/screens/home/component/card_seat.dart

54 lines
1.4 KiB
Dart

import 'package:e_porter/_core/constants/typography.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:zoom_tap_animation/zoom_tap_animation.dart';
import '../../../../_core/constants/colors.dart';
class CardSeat extends StatelessWidget {
final bool isTaken;
final bool isSelected;
final String seatLabel;
final VoidCallback? onTap;
const CardSeat({
Key? key,
required this.isTaken,
required this.isSelected,
required this.seatLabel,
this.onTap,
});
@override
Widget build(BuildContext context) {
Color backgroundColor;
Border? border;
if (isTaken) {
backgroundColor = const Color(0xFFD9D9D9);
} else if (isSelected) {
backgroundColor = PrimaryColors.primary800;
} else {
backgroundColor = Colors.white;
border = Border.all(width: 1.w, color: PrimaryColors.primary800);
}
return ZoomTapAnimation(
child: GestureDetector(
onTap: onTap,
child: Container(
width: 40.w,
height: 40.h,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6.r),
border: border,
color: backgroundColor,
),
child: Center(
child: TypographyStyles.body(seatLabel, color: Colors.white, fontWeight: FontWeight.w500),
),
),
),
);
}
}