feat: adds RDA for intake of vitamins and certain elements based on

canada health values
This commit is contained in:
2025-08-28 15:29:20 +02:00
parent 6524e625d8
commit 31e04fe260
24 changed files with 2542 additions and 369 deletions

View File

@@ -3,16 +3,23 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'providers/settings_provider.dart';
import 'providers/supplement_provider.dart';
import 'providers/simple_sync_provider.dart';
import 'providers/supplement_provider.dart';
import 'screens/home_screen.dart';
import 'screens/profile_setup_screen.dart';
void main() {
runApp(const MyApp());
void main() async {
WidgetsFlutterBinding.ensureInitialized();
final settingsProvider = SettingsProvider();
await settingsProvider.initialize();
runApp(MyApp(settingsProvider: settingsProvider));
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
final SettingsProvider settingsProvider;
const MyApp({super.key, required this.settingsProvider});
@override
Widget build(BuildContext context) {
@@ -21,8 +28,8 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(
create: (context) => SupplementProvider()..initialize(),
),
ChangeNotifierProvider(
create: (context) => SettingsProvider()..initialize(),
ChangeNotifierProvider.value(
value: settingsProvider,
),
ChangeNotifierProvider(
create: (context) => SimpleSyncProvider(),
@@ -34,7 +41,7 @@ class MyApp extends StatelessWidget {
// and initialize auto-sync integration
WidgetsBinding.instance.addPostFrameCallback((_) {
final supplementProvider = context.read<SupplementProvider>();
// Set up sync completion callback
syncProvider.setOnSyncCompleteCallback(() async {
if (kDebugMode) {
@@ -46,10 +53,10 @@ class MyApp extends StatelessWidget {
print('SupplementsLog: UI data refreshed after sync');
}
});
// Initialize auto-sync service
syncProvider.initializeAutoSync(settingsProvider);
// Set up auto-sync callback for data changes
supplementProvider.setOnDataChangedCallback(() {
syncProvider.triggerAutoSyncIfEnabled();
@@ -73,7 +80,9 @@ class MyApp extends StatelessWidget {
useMaterial3: true,
),
themeMode: settingsProvider.themeMode,
home: const HomeScreen(),
home: (settingsProvider.age == null || settingsProvider.gender == null)
? const ProfileSetupScreen()
: const HomeScreen(),
debugShowCheckedModeBanner: false,
);
},