import 'package:flutter/material.dart'; class PrimaryLoadingIndicator extends StatelessWidget { final bool visible; const PrimaryLoadingIndicator({required this.visible, super.key}); final Duration animationDuration = const Duration(milliseconds: 200); @override Widget build(BuildContext context) => AnimatedOpacity( opacity: visible ? 1.0 : 0.0, duration: animationDuration, curve: Curves.easeInOut, child: const Center(child: CircularProgressIndicator()), ); }