import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:test_sa/controllers/localization/localization.dart'; import 'package:test_sa/controllers/providers/api/service_requests_provider.dart'; import 'package:test_sa/controllers/providers/api/user_provider.dart'; import 'package:test_sa/controllers/providers/settings/setting_provider.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/app_loading.dart'; import 'package:test_sa/views/widgets/loaders/failed_loading.dart'; class FutureRequestServiceDetails extends StatefulWidget { static final String id = "/service-request-details"; @override _FutureRequestServiceDetailsState createState() => _FutureRequestServiceDetailsState(); } class _FutureRequestServiceDetailsState extends State { UserProvider _userProvider; SettingProvider _settingProvider; @override Widget build(BuildContext context) { _userProvider = Provider.of(context); _settingProvider = Provider.of(context); String requestId = ModalRoute.of(context).settings.arguments; Subtitle _subtitle = AppLocalization.of(context).subtitle; return Scaffold( body: FutureBuilder( future: ServiceRequestsProvider().getSingleServiceRequest( requestId: requestId, user: _userProvider.user, host: _settingProvider.host, subtitle: _subtitle ), builder: (BuildContext context, AsyncSnapshot snapshot){ if(snapshot.hasError) return FailedLoading( message: snapshot.error.toString(), onReload: (){setState(() {});}, ); if(snapshot.hasData){ return RequestDetailsPage( serviceRequest: snapshot.data, ); } return Center(child: ALoading()); }, ), ); } }