part of '../widgets.dart'; class EnhancedCarouselView extends StatelessWidget { final Future> Function() generateItems; final void Function(T, BuildContext) filter; final Widget Function(T? item) itemBuilder; const EnhancedCarouselView({ super.key, required this.generateItems, required this.filter, required this.itemBuilder, }); @override Widget build(BuildContext context) { return SizedBox( height: 120, child: FutureBuilder>( future: generateItems(), builder: (context, snapshot) { if (!snapshot.hasData) return SizedBox(); return CarouselView( itemExtent: 100, onTap: (index) => filter(snapshot.data![index] as T, context), children: snapshot.data!.map((item) => itemBuilder(item)).toList(), ); }), ); } }