import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:stackwallet/utilities/assets.dart'; class LivingStackIcon extends StatefulWidget { const LivingStackIcon({Key? key, this.onPressed,}) : super(key: key); final VoidCallback? onPressed; @override State createState() => _LivingStackIconState(); } class _LivingStackIconState extends State { bool _hovering = false; late final VoidCallback? onPressed; @override void initState() { onPressed = widget.onPressed; super.initState(); } @override Widget build(BuildContext context) { return SizedBox( height: 76, child: MouseRegion( cursor: SystemMouseCursors.click, onEnter: (_) { setState(() { _hovering = true; }); }, onExit: (_) { setState(() { _hovering = false; }); }, child: GestureDetector( onTap: () => onPressed?.call(), child: AnimatedScale( duration: const Duration(milliseconds: 200), scale: _hovering ? 1.2 : 1, child: SvgPicture.asset( Assets.svg.stackIcon(context), ), ), ), ), ); } }