kirakira/lib/main.dart

29 lines
1.1 KiB
Dart

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(),
),
);
}