Files
Tracker/lib/main.dart
2025-12-19 22:47:27 -06:00

54 lines
1.6 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:google_fonts/google_fonts.dart';
import 'theme/app_theme.dart';
import 'screens/splash_screen.dart';
import 'models/user_profile.dart';
import 'models/cycle_entry.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// Initialize Hive for local storage
await Hive.initFlutter();
// Register Hive adapters
Hive.registerAdapter(UserProfileAdapter());
Hive.registerAdapter(CycleEntryAdapter());
Hive.registerAdapter(RelationshipStatusAdapter());
Hive.registerAdapter(FertilityGoalAdapter());
Hive.registerAdapter(MoodLevelAdapter());
Hive.registerAdapter(FlowIntensityAdapter());
Hive.registerAdapter(CervicalMucusTypeAdapter());
Hive.registerAdapter(CyclePhaseAdapter());
Hive.registerAdapter(UserRoleAdapter());
<<<<<<< HEAD
=======
Hive.registerAdapter(BibleTranslationAdapter());
>>>>>>> 6742220 (Your commit message here)
// Open boxes
await Hive.openBox<UserProfile>('user_profile');
await Hive.openBox<CycleEntry>('cycle_entries');
runApp(const ProviderScope(child: ChristianPeriodTrackerApp()));
}
class ChristianPeriodTrackerApp extends StatelessWidget {
const ChristianPeriodTrackerApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Christian Period Tracker',
debugShowCheckedModeBanner: false,
theme: AppTheme.lightTheme,
darkTheme: AppTheme.darkTheme,
themeMode: ThemeMode.system,
home: const SplashScreen(),
);
}
}