Fladder/lib/widgets/shared/animated_visibility.dart
PartyDonut 092836328f
feat: Sync offline/online playback when able (#431)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
2025-08-03 13:35:56 +02:00

24 lines
622 B
Dart

import 'package:flutter/material.dart';
class AnimatedVisibility extends StatelessWidget {
final Widget? child;
final bool visible;
final Duration duration;
const AnimatedVisibility(
{required this.child, required this.visible, this.duration = const Duration(milliseconds: 250), super.key});
@override
Widget build(BuildContext context) {
return AnimatedOpacity(
duration: duration,
opacity: visible ? 1 : 0,
child: IgnorePointer(
ignoring: !visible,
child: SizedBox(
height: visible ? null : 16,
child: child,
),
),
);
}
}