Files
mileograph_flutter/lib/app.dart
Pete Gregory 950978b021
All checks were successful
Release / meta (push) Successful in 12s
Release / linux-build (push) Successful in 7m42s
Release / android-build (push) Successful in 16m34s
Release / release-dev (push) Successful in 38s
Release / release-master (push) Successful in 37s
new settings panel for url pickup
2025-12-22 22:45:33 +00:00

38 lines
1.3 KiB
Dart

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<EndpointService>(
create: (_) => EndpointService(),
),
ProxyProvider<EndpointService, ApiService>(
update: (_, endpoint, api) {
final service = api ?? ApiService(baseUrl: endpoint.baseUrl);
service.setBaseUrl(endpoint.baseUrl);
return service;
},
create: (_) => ApiService(baseUrl: EndpointService.defaultBaseUrl),
),
ChangeNotifierProvider<AuthService>(
create: (context) => AuthService(api: context.read<ApiService>()),
),
ChangeNotifierProvider<DataService>(
create: (context) => DataService(api: context.read<ApiService>()),
),
],
child: const MyApp(),
);
}
}