import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:hive_ce_flutter/hive_flutter.dart'; import 'app.dart'; import 'core/di/service_locator.dart'; /// Main entry point of the application void main() async { // Ensure Flutter binding is initialized WidgetsFlutterBinding.ensureInitialized(); // Initialize Hive await Hive.initFlutter(); // Register Hive adapters // TODO: Register adapters after running code generation // Hive.registerAdapter(ProductModelAdapter()); // Hive.registerAdapter(CategoryModelAdapter()); // Hive.registerAdapter(CartItemModelAdapter()); // Hive.registerAdapter(AppSettingsModelAdapter()); // Open Hive boxes // TODO: Open boxes after registering adapters // await Hive.openBox(StorageConstants.productsBox); // await Hive.openBox(StorageConstants.categoriesBox); // await Hive.openBox(StorageConstants.cartBox); // await Hive.openBox(StorageConstants.settingsBox); // Setup dependency injection await setupServiceLocator(); // Run the app runApp( const ProviderScope( child: RetailApp(), ), ); }