import 'package:flutter/material.dart'; import 'package:mileograph_flutter/services/api_service.dart'; import 'package:mileograph_flutter/services/authservice.dart'; import 'package:mileograph_flutter/services/data_service.dart'; import 'package:mileograph_flutter/services/endpoint_service.dart'; import 'package:mileograph_flutter/ui/app_shell.dart'; import 'package:provider/provider.dart'; class App extends StatelessWidget { const App({super.key}); @override Widget build(BuildContext context) { return MultiProvider( providers: [ ChangeNotifierProvider( create: (_) => EndpointService(), ), ProxyProvider( update: (_, endpoint, api) { final service = api ?? ApiService(baseUrl: endpoint.baseUrl); service.setBaseUrl(endpoint.baseUrl); return service; }, create: (_) => ApiService(baseUrl: EndpointService.defaultBaseUrl), ), ChangeNotifierProvider( create: (context) => AuthService(api: context.read()), ), ChangeNotifierProvider( create: (context) => DataService(api: context.read()), ), ], child: const MyApp(), ); } }