mirror of
https://github.com/jagandeepbrar/lunasea.git
synced 2026-08-31 04:32:32 +00:00
Tautulli is now feature-complete (for now)! There will be no additional functionality in the remaining 4.0.0 TestFlights, with this release being considered the first release candidate. NEW - [Tautulli] Implemented media details page - [Tautulli] Implemented IP address details page - [Tautulli] Implemented libraries & library details page - [Tautulli] Implemented search page to search libraries - [Tautulli/Global Settings] Option to trigger deletion of temporary sessions - [Tautulli/Activity Details] AppBar button to jump to user details - [Tautulli/History Details] AppBar button to jump to user details - [Tautulli/History Details] AppBar button to jump to media details - [Tautulli/More] Tiles for Libraries & Search - [Settings/Tautulli] Ability to set the default page for all pages with bottom navigation bars - [Settings/Calendar] Ability to set how many days in the past and future to fetch calendar entries for TWEAKS - [Tautulli] Navigation index state is no longer remembered - [Tautulli] Small tweaks to make UI more consistent - [Calendar] Default past and future days is now 14 days for each FIXES - [iOS 14] Fix text looking "squished" on iOS 14 devices
64 lines
3.0 KiB
Dart
64 lines
3.0 KiB
Dart
import 'package:hive/hive.dart';
|
|
import 'package:lunasea/core/database/database.dart';
|
|
import './adapters.dart';
|
|
|
|
class HomeDatabase {
|
|
HomeDatabase._();
|
|
|
|
static void registerAdapters() {
|
|
Hive.registerAdapter(CalendarStartingDayAdapter());
|
|
Hive.registerAdapter(CalendarStartingSizeAdapter());
|
|
Hive.registerAdapter(CalendarStartingTypeAdapter());
|
|
}
|
|
}
|
|
|
|
enum HomeDatabaseValue {
|
|
NAVIGATION_INDEX,
|
|
CALENDAR_STARTING_DAY,
|
|
CALENDAR_STARTING_SIZE,
|
|
CALENDAR_STARTING_TYPE,
|
|
CALENDAR_ENABLE_LIDARR,
|
|
CALENDAR_ENABLE_RADARR,
|
|
CALENDAR_ENABLE_SONARR,
|
|
MODULES_BRAND_COLOURS,
|
|
CALENDAR_DAYS_PAST,
|
|
CALENDAR_DAYS_FUTURE,
|
|
}
|
|
|
|
extension HomeDatabaseValueExtension on HomeDatabaseValue {
|
|
String get key {
|
|
switch(this) {
|
|
case HomeDatabaseValue.NAVIGATION_INDEX: return 'HOME_NAVIGATION_INDEX';
|
|
case HomeDatabaseValue.CALENDAR_STARTING_DAY: return 'HOME_CALENDAR_STARTING_DAY';
|
|
case HomeDatabaseValue.CALENDAR_STARTING_SIZE: return 'HOME_CALENDAR_STARTING_SIZE';
|
|
case HomeDatabaseValue.CALENDAR_STARTING_TYPE: return 'HOME_CALENDAR_STARTING_TYPE';
|
|
case HomeDatabaseValue.CALENDAR_ENABLE_LIDARR: return 'HOME_CALENDAR_ENABLE_LIDARR';
|
|
case HomeDatabaseValue.CALENDAR_ENABLE_RADARR: return 'HOME_CALENDAR_ENABLE_RADARR';
|
|
case HomeDatabaseValue.CALENDAR_ENABLE_SONARR: return 'HOME_CALENDAR_ENABLE_SONARR';
|
|
case HomeDatabaseValue.MODULES_BRAND_COLOURS: return 'HOME_MODULES_BRAND_COLOURS';
|
|
case HomeDatabaseValue.CALENDAR_DAYS_PAST: return 'HOME_CALENDAR_DAYS_PAST';
|
|
case HomeDatabaseValue.CALENDAR_DAYS_FUTURE: return 'HOME_CALENDAR_DAYS_FUTURE';
|
|
}
|
|
throw Exception('key not found');
|
|
}
|
|
|
|
dynamic get data {
|
|
final _box = Database.lunaSeaBox;
|
|
switch(this) {
|
|
case HomeDatabaseValue.NAVIGATION_INDEX: return _box.get(this.key, defaultValue: 0);
|
|
case HomeDatabaseValue.CALENDAR_STARTING_DAY: return _box.get(this.key, defaultValue: CalendarStartingDay.MONDAY);
|
|
case HomeDatabaseValue.CALENDAR_STARTING_SIZE: return _box.get(this.key, defaultValue: CalendarStartingSize.ONE_WEEK);
|
|
case HomeDatabaseValue.CALENDAR_STARTING_TYPE: return _box.get(this.key, defaultValue: CalendarStartingType.CALENDAR);
|
|
case HomeDatabaseValue.CALENDAR_ENABLE_LIDARR: return _box.get(this.key, defaultValue: true);
|
|
case HomeDatabaseValue.CALENDAR_ENABLE_RADARR: return _box.get(this.key, defaultValue: true);
|
|
case HomeDatabaseValue.CALENDAR_ENABLE_SONARR: return _box.get(this.key, defaultValue: true);
|
|
case HomeDatabaseValue.MODULES_BRAND_COLOURS: return _box.get(this.key, defaultValue: false);
|
|
case HomeDatabaseValue.CALENDAR_DAYS_PAST: return _box.get(this.key, defaultValue: 14);
|
|
case HomeDatabaseValue.CALENDAR_DAYS_FUTURE: return _box.get(this.key, defaultValue: 14);
|
|
}
|
|
throw Exception('data not found');
|
|
}
|
|
|
|
void put(dynamic value) => Database.lunaSeaBox.put(this.key, value);
|
|
}
|