didvan-app/lib/pages/home/profile/widgets/menu_item.dart

59 lines
1.6 KiB
Dart

import 'package:didvan/config/theme_data.dart';
import 'package:didvan/constants/app_icons.dart';
import 'package:didvan/widgets/didvan/text.dart';
import 'package:flutter/material.dart';
class MenuItem extends StatelessWidget {
final String title;
final IconData? icon;
final String? suffix;
final VoidCallback onTap;
final Widget? trailing;
final Color? color;
const MenuItem({
Key? key,
required this.title,
this.icon,
this.suffix,
required this.onTap,
this.color,
this.trailing,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
child: Container(
color: Colors.transparent,
child: Row(
children: [
if (icon != null) Icon(icon, size: 18, color: color),
if (icon != null) const SizedBox(width: 4),
DidvanText(
title,
color: color ?? Theme.of(context).colorScheme.title,
),
const Spacer(),
if (suffix != null)
DidvanText(
suffix!,
style: Theme.of(context)
.textTheme
.subtitle2!
.copyWith(fontWeight: FontWeight.w400),
color: Theme.of(context).colorScheme.primary,
),
trailing ??
Icon(
DidvanIcons.angle_left_regular,
size: 18,
color: color ?? Theme.of(context).colorScheme.title,
),
],
),
),
);
}
}