37 lines
1.2 KiB
Dart
37 lines
1.2 KiB
Dart
import 'package:didvan/models/settings_data.dart';
|
|
import 'package:didvan/services/storage/storage.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:hive_flutter/hive_flutter.dart';
|
|
import 'package:path_provider/path_provider.dart';
|
|
|
|
class AppInitializer {
|
|
static Future<void> setupServices() async {
|
|
StorageService.appDocsDir = (await getApplicationDocumentsDirectory()).path;
|
|
StorageService.appTempsDir = (await getTemporaryDirectory()).path;
|
|
await Hive.initFlutter();
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
}
|