mobile_adaptive_learning/lib/features/settings/widgets/menu_item.dart

65 lines
1.7 KiB
Dart
Raw Permalink Normal View History

import 'package:english_learning/core/utils/styles/theme.dart';
import 'package:flutter/material.dart';
class MenuItem extends StatelessWidget {
final IconData icon;
final String text;
final VoidCallback onPressed;
final Color iconColor;
final Color textColor;
final bool isFirst;
final bool isLast;
const MenuItem({
super.key,
required this.icon,
required this.text,
required this.onPressed,
this.iconColor = AppColors.blackColor,
this.textColor = AppColors.blackColor,
this.isFirst = false, // Menandakan apakah ini item pertama
this.isLast = false,
});
@override
Widget build(BuildContext context) {
return ElevatedButton(
onPressed: onPressed,
style: ElevatedButton.styleFrom(
backgroundColor: Colors.transparent,
shadowColor: Colors.transparent,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: isFirst ? const Radius.circular(12) : Radius.zero,
topRight: isFirst ? const Radius.circular(12) : Radius.zero,
bottomLeft: isLast ? const Radius.circular(12) : Radius.zero,
bottomRight: isLast ? const Radius.circular(12) : Radius.zero,
),
),
padding: const EdgeInsets.symmetric(
vertical: 18.0,
horizontal: 16.0,
),
),
child: Row(
children: [
Icon(
icon,
size: 18,
color: iconColor,
),
const SizedBox(width: 8),
Text(
text,
style: AppTextStyles.blackTextStyle.copyWith(
fontSize: 14,
fontWeight: FontWeight.w500,
color: textColor,
),
),
],
),
);
}
}