spotube/lib/components/Shared/Waypoint.dart
Kingkor Roy Tirtho c77b0e198b feat: smoother list using fl_query and waypoint
fix(theme): remove splash effect
feat(artists-albums): horizontal paginated list instead of grid view page
2022-10-02 11:04:27 +06:00

30 lines
708 B
Dart

import 'package:flutter/cupertino.dart';
import 'package:visibility_detector/visibility_detector.dart';
class Waypoint extends StatelessWidget {
final void Function()? onEnter;
final void Function()? onLeave;
final Widget? child;
const Waypoint({
Key? key,
this.onEnter,
this.onLeave,
this.child,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return VisibilityDetector(
key: const Key("waypoint"),
onVisibilityChanged: (info) {
if (info.visibleFraction == 0) {
onLeave?.call();
} else if (info.visibleFraction > 0) {
onEnter?.call();
}
},
child: child ?? Container(),
);
}
}