TIF_E41221079/lib/features/home/widgets/profile_class_card.dart

63 lines
2.2 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:smpn1_lengkong/core/constants/app_colors.dart';
class ProfileClassCard extends StatelessWidget {
final String className;
final String academicYear;
final bool isSelected;
final bool isCurrent;
final VoidCallback onTap;
const ProfileClassCard({
super.key,
required this.className,
required this.academicYear,
required this.isSelected,
required this.onTap,
this.isCurrent = false,
});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
child: Container(
margin: EdgeInsets.only(bottom: 12.h),
padding: EdgeInsets.all(16.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(12.r),
border: Border.all(color: isSelected ? AppColors.primaryBlue : Colors.grey.shade200, width: isSelected ? 2 : 1),
),
child: Row(
children: [
Container(
padding: EdgeInsets.all(8.w),
decoration: BoxDecoration(
color: isCurrent ? AppColors.successGreen.withOpacity(0.1) : AppColors.primaryBlue.withOpacity(0.1),
borderRadius: BorderRadius.circular(8.r),
),
child: Icon(
isCurrent ? Icons.star_rounded : Icons.history_edu_rounded,
color: isCurrent ? AppColors.successGreen : AppColors.primaryBlue,
size: 20.sp,
),
),
SizedBox(width: 16.w),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Kelas $className", style: const TextStyle(fontWeight: FontWeight.bold)),
Text("TA $academicYear", style: const TextStyle(color: Colors.grey, fontSize: 12)),
],
),
),
if (isSelected) const Icon(Icons.check_circle, color: AppColors.primaryBlue) else const Icon(Icons.arrow_forward_ios, size: 14, color: Colors.grey),
],
),
),
);
}
}