didvan-app/lib/services/app_initalizer.dart

34 lines
975 B
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';
class AppInitializer {
static Future<void> setupServices() async {
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;
}
}
}