didvan-app/lib/services/app_initalizer.dart

45 lines
1.4 KiB
Dart

import 'package:didvan/models/settings_data.dart';
import 'package:didvan/services/storage/storage.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:permission_handler/permission_handler.dart';
class AppInitializer {
static Future<void> setupServices() async {
// late final Directory appDir;
// late final Directory appTempsDir;
// if (!kIsWeb) {
await Hive.initFlutter();
// appDir = await getApplicationDocumentsDirectory();
// appTempsDir = await getApplicationDocumentsDirectory();
// }
// Hive.init(appDir.path);
// StorageService.appDocsDir = appDir.path;
// StorageService.appTempsDir = appTempsDir.path;
}
static Future<ThemeMode> initilizeSettings() async {
final bool settingsBoxExists = await StorageService.boxExists(
boxName: 'settings',
);
if (settingsBoxExists) {
final String brightness =
await StorageService.getValue(key: 'brightness', boxName: 'settings');
return brightness == 'dark' ? ThemeMode.dark : ThemeMode.light;
} else {
final SettingsData settingsData = SettingsData(
'light',
['00:00', '23:59'],
'Dana-FA',
1,
);
await StorageService.setBoxData(
data: settingsData.toJson(),
boxName: 'settings',
);
return ThemeMode.light;
}
}
}