import 'package:flutter/material.dart'; import 'package:test_sa/controllers/localization/localization.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/models/service_request/service_request.dart'; import 'package:test_sa/models/subtitle.dart'; import 'package:test_sa/views/pages/user/requests/request_details.dart'; import 'package:test_sa/views/widgets/loaders/lazy_loading.dart'; import 'package:test_sa/views/widgets/loaders/no_item_found.dart'; import 'package:test_sa/views/widgets/requests/service_request_item.dart'; class ServiceRequestsList extends StatelessWidget { final List requests; final bool nextPage; final Future Function() onLazyLoad; const ServiceRequestsList({Key key, this.requests, this.nextPage, this.onLazyLoad}) : super(key: key); @override Widget build(BuildContext context) { if (requests.length == 0) { return NoItemFound( message: context.translation.noServiceRequestFound, ); } return LazyLoading( nextPage: nextPage, onLazyLoad: onLazyLoad, child: ListView.separated( //physics: BouncingScrollPhysics(), itemCount: requests.length, padding: const EdgeInsets.all(16), separatorBuilder: (cxt, index) => 8.height, itemBuilder: (context, itemIndex) { return ServiceRequestItem( index: itemIndex, request: requests[itemIndex], onPressed: (request) { Navigator.of(context).push(MaterialPageRoute( builder: (_) => RequestDetailsPage( serviceRequest: request, ))); }, ); }), ); } }