import 'package:amplify_api/amplify_api.dart'; import 'package:amplify_datastore/amplify_datastore.dart'; import 'package:amplify_storage_s3/amplify_storage_s3.dart'; import 'package:amplify_trips_planner/models/ModelProvider.dart'; import 'package:amplify_trips_planner/trips_planner_app.dart'; import 'package:flutter/material.dart'; import 'package:amplify_flutter/amplify_flutter.dart'; import 'package:amplify_auth_cognito/amplify_auth_cognito.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'amplifyconfiguration.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); bool isAmplifySuccessfullyConfigured = false; try { await _configureAmplify(); isAmplifySuccessfullyConfigured = true; } on AmplifyAlreadyConfiguredException { debugPrint('Amplify configuration failed.'); } runApp( ProviderScope( child: TripsPlannerApp( isAmplifySuccessfullyConfigured: isAmplifySuccessfullyConfigured, ), ), ); } Future<void> _configureAmplify() async { await Amplify.addPlugins([ AmplifyAuthCognito(), AmplifyDataStore(modelProvider: ModelProvider.instance), AmplifyAPI(), AmplifyStorageS3() ]); await Amplify.configure(amplifyconfig); }