import 'package:flutter/material.dart';

class BackgroundLoadingIndicator extends StatelessWidget {
  final bool visible;
  const BackgroundLoadingIndicator({required this.visible, super.key});

  final Duration animationDuration = const Duration(milliseconds: 200);

  @override
  Widget build(BuildContext context) => AnimatedSwitcher(
      duration: animationDuration,
      transitionBuilder: (Widget child, Animation<double> animation) => SlideTransition(
        position: Tween<Offset>(
          begin: const Offset(0.0, -1.0),
          end: Offset.zero,
        ).animate(animation),
        child: child,
      ),
      child: visible ? const LinearProgressIndicator() : const SizedBox.shrink(),
    );
}