didvan-app/lib/services/app_initalizer.dart

38 lines
1.1 KiB
Dart

import 'dart:io';
import 'package:didvan/models/settings_data.dart';
import 'package:didvan/services/storage/storage.dart';
import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
import 'package:path_provider/path_provider.dart';
class AppInitializer {
static Future<void> setupServices() async {
final Directory appDir = await getApplicationDocumentsDirectory();
Hive.init(appDir.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;
}
}
}