feature: Improved banners, made banner settings easier to understand. (#71)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2024-10-24 23:02:10 +02:00 committed by GitHub
parent 11e0e106d3
commit 476bdc130e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
29 changed files with 916 additions and 666 deletions

View file

@ -23,8 +23,12 @@ mixin _$SessionInfoModel {
String? get playbackModel => throw _privateConstructorUsedError;
TranscodingInfo? get transCodeInfo => throw _privateConstructorUsedError;
/// Serializes this SessionInfoModel to a JSON map.
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
@JsonKey(ignore: true)
/// Create a copy of SessionInfoModel
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
$SessionInfoModelCopyWith<SessionInfoModel> get copyWith =>
throw _privateConstructorUsedError;
}
@ -48,6 +52,8 @@ class _$SessionInfoModelCopyWithImpl<$Res, $Val extends SessionInfoModel>
// ignore: unused_field
final $Res Function($Val) _then;
/// Create a copy of SessionInfoModel
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
@ -86,6 +92,8 @@ class __$$SessionInfoModelImplCopyWithImpl<$Res>
$Res Function(_$SessionInfoModelImpl) _then)
: super(_value, _then);
/// Create a copy of SessionInfoModel
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
@ -134,11 +142,13 @@ class _$SessionInfoModelImpl extends _SessionInfoModel {
other.transCodeInfo == transCodeInfo));
}
@JsonKey(ignore: true)
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType, playbackModel, transCodeInfo);
@JsonKey(ignore: true)
/// Create a copy of SessionInfoModel
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@override
@pragma('vm:prefer-inline')
_$$SessionInfoModelImplCopyWith<_$SessionInfoModelImpl> get copyWith =>
@ -166,8 +176,11 @@ abstract class _SessionInfoModel extends SessionInfoModel {
String? get playbackModel;
@override
TranscodingInfo? get transCodeInfo;
/// Create a copy of SessionInfoModel
/// with the given fields replaced by the non-null parameter values.
@override
@JsonKey(ignore: true)
@JsonKey(includeFromJson: false, includeToJson: false)
_$$SessionInfoModelImplCopyWith<_$SessionInfoModelImpl> get copyWith =>
throw _privateConstructorUsedError;
}

View file

@ -1,6 +1,7 @@
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:fladder/models/settings/home_settings_model.dart';
import 'package:fladder/providers/shared_provider.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
final homeSettingsProvider = StateNotifierProvider<HomeSettingsNotifier, HomeSettingsModel>((ref) {
return HomeSettingsNotifier(ref);

View file

@ -1,6 +1,9 @@
import 'dart:convert';
import 'dart:developer';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:fladder/models/account_model.dart';
import 'package:fladder/models/settings/client_settings_model.dart';
import 'package:fladder/models/settings/home_settings_model.dart';
@ -15,8 +18,6 @@ import 'package:fladder/providers/settings/photo_view_settings_provider.dart';
import 'package:fladder/providers/settings/subtitle_settings_provider.dart';
import 'package:fladder/providers/settings/video_player_settings_provider.dart';
import 'package:fladder/providers/user_provider.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
final sharedPreferencesProvider = Provider<SharedPreferences>((ref) {
throw UnimplementedError();
@ -116,14 +117,15 @@ class SharedUtility {
HomeSettingsModel get homeSettings {
try {
return HomeSettingsModel.fromJson(sharedPreferences.getString(_homeSettingsKey) ?? "");
return HomeSettingsModel.fromJson(jsonDecode(sharedPreferences.getString(_homeSettingsKey) ?? ""));
} catch (e) {
log(e.toString());
return HomeSettingsModel();
}
}
set homeSettings(HomeSettingsModel settings) => sharedPreferences.setString(_homeSettingsKey, settings.toJson());
set homeSettings(HomeSettingsModel settings) =>
sharedPreferences.setString(_homeSettingsKey, jsonEncode(settings.toJson()));
BookViewerSettingsModel get bookViewSettings {
try {