import 'package:flutter/material.dart'; import 'package:lucide_icons_flutter/lucide_icons.dart'; import '../../../../core/theme/app_theme.dart'; /// 单行菜单项:图标 + 标题 + 尾部 class MenuRow extends StatelessWidget { final IconData icon; final Color iconColor; final String title; final Widget? trailing; final VoidCallback? onTap; const MenuRow({ super.key, required this.icon, required this.iconColor, required this.title, this.trailing, this.onTap, }); @override Widget build(BuildContext context) { final colorScheme = Theme.of(context).colorScheme; return InkWell( onTap: onTap, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14), child: Row( children: [ Icon(icon, size: 18, color: iconColor), const SizedBox(width: 10), Expanded( child: Text( title, style: AppTextStyles.bodyLarge(context).copyWith( fontWeight: FontWeight.w500, ), ), ), if (trailing != null) trailing!, if (trailing == null) Icon( LucideIcons.chevronRight, size: 16, color: colorScheme.onSurfaceVariant, ), ], ), ), ); } }