cb_prestige_qr/lib/core/widgets/NavItem.dart

49 lines
1.3 KiB
Dart
Raw Permalink Normal View History

2026-04-09 06:47:03 +00:00
import 'package:flutter/material.dart';
class NavItem extends StatelessWidget {
final IconData icon;
final bool isActive;
final VoidCallback onTap;
const NavItem({
super.key,
required this.icon,
required this.isActive,
required this.onTap,
});
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
return InkWell(
onTap: onTap,
borderRadius: BorderRadius.circular(20),
splashColor: theme.colorScheme.primary.withAlpha(26),
child: AnimatedContainer(
duration: const Duration(milliseconds: 250),
margin: const EdgeInsets.symmetric(horizontal: 6, vertical: 10),
decoration: BoxDecoration(
color: isActive
? theme.colorScheme.primary.withAlpha(31)
: Colors.transparent,
borderRadius: BorderRadius.circular(20),
),
child: Center(
child: AnimatedScale(
duration: const Duration(milliseconds: 200),
scale: isActive ? 1.2 : 1.0,
child: Icon(
icon,
size: 26,
color: isActive
? theme.colorScheme.primary
: theme.colorScheme.onSurfaceVariant,
),
),
),
),
);
}
}