import "package:flutter/material.dart"; import "package:flutter_riverpod/flutter_riverpod.dart"; import "package:hive_flutter/hive_flutter.dart"; import "package:path_provider/path_provider.dart"; import "package:smol_mail/data/providers/providers.dart"; import "package:smol_mail/smol/config.dart"; import "package:smol_mail/smol/store.dart"; import "package:smol_mail/presentation/app_widget.dart"; void main() async { WidgetsFlutterBinding.ensureInitialized(); // Hive.initFlutter() defaults to getApplicationDocumentsDirectory(), which // on Linux resolves to the user's actual ~/Documents folder (XDG_DOCUMENTS_DIR) // rather than app-private storage — getApplicationSupportDirectory() is the // one that's actually sandboxed per-app on every platform. final dataDir = await getApplicationSupportDirectory(); Hive.init(dataDir.path); final store = await SmolStore.open(dbPath: "${dataDir.path}/smol-mail.db"); applyPresetServer(store); runApp( ProviderScope( overrides: [storeProvider.overrideWithValue(store)], child: const AppWidget(), ), ); }