favoriteMorph method
Widget
favoriteMorph({
- double size = 24,
- Color? activeColor,
- Color? inactiveColor,
- IconMorphStyle style = IconMorphStyle.scale,
Create a favorite toggle icon morph.
Implementation
Widget favoriteMorph({
double size = 24,
Color? activeColor,
Color? inactiveColor,
IconMorphStyle style = IconMorphStyle.scale,
}) {
return NeuronAtomBuilder<bool>(
atom: this,
builder: (ctx, isFavorite, _) {
return AnimatedSwitcher(
duration: const Duration(milliseconds: 300),
transitionBuilder: (child, animation) {
return ScaleTransition(
scale: animation,
child: child,
);
},
child: Icon(
isFavorite ? Icons.favorite : Icons.favorite_border,
key: ValueKey(isFavorite),
size: size,
color: isFavorite ? (activeColor ?? Colors.red) : inactiveColor,
),
);
},
);
}