70 lines
1.8 KiB
Dart
Raw Normal View History

2025-07-30 22:38:44 +07:00
import 'package:flutter/material.dart';
import '../../../core/components/spaces.dart';
import '../../../core/constants/colors.dart';
class ReportMenu extends StatelessWidget {
final String label;
2025-08-01 18:27:40 +07:00
final String subtitle;
final IconData icon;
2025-07-30 22:38:44 +07:00
final VoidCallback onPressed;
final bool isActive;
const ReportMenu({
super.key,
required this.label,
required this.onPressed,
required this.isActive,
2025-08-01 18:27:40 +07:00
required this.subtitle,
required this.icon,
2025-07-30 22:38:44 +07:00
});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onPressed,
child: Container(
2025-08-01 18:27:40 +07:00
padding: const EdgeInsets.all(12.0),
2025-07-30 22:38:44 +07:00
decoration: BoxDecoration(
2025-08-01 18:27:40 +07:00
border: Border(
right: BorderSide(
color: isActive ? AppColors.primary : Colors.transparent,
width: 4.0,
),
2025-07-30 22:38:44 +07:00
),
),
2025-08-01 18:27:40 +07:00
child: Row(
2025-07-30 22:38:44 +07:00
children: [
2025-08-01 18:27:40 +07:00
Icon(
icon,
size: 24.0,
color: isActive ? AppColors.primary : AppColors.grey,
2025-07-30 22:38:44 +07:00
),
2025-08-01 18:27:40 +07:00
const SpaceWidth(12),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
label,
style: const TextStyle(
fontSize: 16.0,
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 4.0),
Text(
subtitle,
style:
const TextStyle(fontSize: 14.0, color: AppColors.grey),
),
],
2025-07-30 22:38:44 +07:00
),
),
],
),
),
);
}
}