import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'app.dart'; import 'core/api.dart'; import 'core/config.dart'; import 'core/format.dart'; import 'core/http_api.dart'; import 'core/providers.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); if (AppConfig.unconfigured) debugPrint('SRS: ${AppConfig.setupHint}'); final Api api = HttpApi( baseUrl: AppConfig.apiBaseUrl, prefs: await SharedPreferences.getInstance(), ); final user = await api.restore(); final start = user == null ? dateOnly(api.now) : await _latestOrToday(api); runApp( ProviderScope( overrides: [ apiProvider.overrideWithValue(api), startDateProvider.overrideWithValue(start), sessionProvider.overrideWith(() => SessionNotifier(user)), ], child: const SrsApp(), ), ); } Future _latestOrToday(Api api) async { try { return await api.latestDrawDate(); } on ApiException { return dateOnly(api.now); } }