All checks were successful
Release / meta (push) Successful in 8s
Release / linux-build (push) Successful in 56s
Release / web-build (push) Successful in 2m15s
Release / android-build (push) Successful in 6m47s
Release / release-master (push) Successful in 19s
Release / release-dev (push) Successful in 21s
59 lines
2.2 KiB
Dart
59 lines
2.2 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/accent_color_service.dart';
|
|
import 'package:mileograph_flutter/services/distance_unit_service.dart';
|
|
import 'package:mileograph_flutter/services/endpoint_service.dart';
|
|
import 'package:mileograph_flutter/services/theme_mode_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(),
|
|
),
|
|
ChangeNotifierProvider<AccentColorService>(
|
|
create: (_) => AccentColorService(),
|
|
),
|
|
ChangeNotifierProvider<DistanceUnitService>(
|
|
create: (_) => DistanceUnitService(),
|
|
),
|
|
ChangeNotifierProvider<ThemeModeService>(
|
|
create: (_) => ThemeModeService(),
|
|
),
|
|
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>()),
|
|
),
|
|
ChangeNotifierProxyProvider<AuthService, DataService>(
|
|
create: (context) => DataService(api: context.read<ApiService>()),
|
|
update: (context, auth, data) {
|
|
data ??= DataService(api: context.read<ApiService>());
|
|
data.handleAuthChanged(
|
|
auth.userId,
|
|
entriesVisibility: auth.entriesVisibility,
|
|
mileageVisibility: auth.mileageVisibility,
|
|
);
|
|
return data;
|
|
},
|
|
),
|
|
],
|
|
child: const MyApp(),
|
|
);
|
|
}
|
|
}
|