mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-07 13:38:13 -08:00
chore: Update dependencies (#372)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
4220c68ca3
commit
34c9c5bd9c
65 changed files with 431 additions and 1910 deletions
2
.fvmrc
2
.fvmrc
|
|
@ -1,3 +1,3 @@
|
|||
{
|
||||
"flutter": "3.29.2"
|
||||
"flutter": "3.32.1"
|
||||
}
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -75,3 +75,6 @@ local.properties
|
|||
|
||||
# Inno Setup builds
|
||||
Output
|
||||
|
||||
# Generated localizations
|
||||
lib/l10n/generated
|
||||
|
|
|
|||
6
.vscode/launch.json
vendored
6
.vscode/launch.json
vendored
|
|
@ -80,7 +80,8 @@
|
|||
"deviceId": "chrome",
|
||||
"args": [
|
||||
"--web-port",
|
||||
"9090"
|
||||
"9090",
|
||||
"--web-experimental-hot-reload"
|
||||
],
|
||||
},
|
||||
{
|
||||
|
|
@ -91,7 +92,8 @@
|
|||
"flutterMode": "release",
|
||||
"args": [
|
||||
"--web-port",
|
||||
"9090"
|
||||
"9090",
|
||||
"--web-experimental-hot-reload"
|
||||
],
|
||||
},
|
||||
],
|
||||
|
|
|
|||
12
.vscode/settings.json
vendored
12
.vscode/settings.json
vendored
|
|
@ -7,7 +7,7 @@
|
|||
"LTWH",
|
||||
"outro"
|
||||
],
|
||||
"dart.flutterSdkPath": ".fvm/versions/3.29.2",
|
||||
"dart.flutterSdkPath": ".fvm/versions/3.32.1",
|
||||
"search.exclude": {
|
||||
"**/.fvm": true
|
||||
},
|
||||
|
|
@ -15,5 +15,13 @@
|
|||
"**/.fvm": true
|
||||
},
|
||||
"editor.detectIndentation": true,
|
||||
"dart.lineLength": 120
|
||||
"dart.lineLength": 120,
|
||||
"dart.analysisExcludedFolders": [
|
||||
"build",
|
||||
".dart_tool",
|
||||
".fvm",
|
||||
"packages",
|
||||
"lib/jellyfin",
|
||||
"lib/l10n"
|
||||
]
|
||||
}
|
||||
|
|
@ -3,12 +3,15 @@ include: package:lints/recommended.yaml
|
|||
analyzer:
|
||||
exclude:
|
||||
- build/**
|
||||
- .dart_tool/**
|
||||
- .fvm/**
|
||||
- pubspec.yaml
|
||||
- packages/**
|
||||
- lib/jellyfin/**
|
||||
- lib/**/**.g.dart
|
||||
- lib/**/**.freezed.dart
|
||||
- lib/**/**.mapped.dart
|
||||
- packages/**
|
||||
- pubspec.yaml
|
||||
- lib/l10n/**
|
||||
strong-mode:
|
||||
implicit-casts: false
|
||||
implicit-dynamic: false
|
||||
|
|
|
|||
|
|
@ -27,6 +27,9 @@ targets:
|
|||
- "**/**_page.dart"
|
||||
freezed|freezed:
|
||||
options:
|
||||
copy_with: false
|
||||
equal: false
|
||||
tostring:
|
||||
generate_for:
|
||||
- "**/**.f.dart"
|
||||
- "**/**.g.dart"
|
||||
|
|
@ -34,7 +37,7 @@ targets:
|
|||
options:
|
||||
ignoreNull: true
|
||||
discriminatorKey: type
|
||||
generateMethods: [decode, encode, copy, stringify]
|
||||
generateMethods: [copy]
|
||||
chopper_generator:
|
||||
options:
|
||||
header: "//Generated jellyfin api code"
|
||||
|
|
|
|||
|
|
@ -2,3 +2,5 @@ arb-dir: lib/l10n
|
|||
template-arb-file: app_en.arb
|
||||
output-localization-file: app_localizations.dart
|
||||
nullable-getter: false
|
||||
synthetic-package: false
|
||||
output-dir: lib/l10n/generated
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import 'package:flutter/material.dart';
|
|||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:dynamic_color/dynamic_color.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:package_info_plus/package_info_plus.dart';
|
||||
|
|
@ -18,6 +17,7 @@ import 'package:smtc_windows/smtc_windows.dart' if (dart.library.html) 'package:
|
|||
import 'package:universal_html/html.dart' as html;
|
||||
import 'package:window_manager/window_manager.dart';
|
||||
|
||||
import 'package:fladder/l10n/generated/app_localizations.dart';
|
||||
import 'package:fladder/models/account_model.dart';
|
||||
import 'package:fladder/models/settings/arguments_model.dart';
|
||||
import 'package:fladder/models/syncing/i_synced_item.dart';
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
import 'package:fladder/models/credentials_model.dart';
|
||||
|
|
@ -16,7 +16,7 @@ import 'package:fladder/util/localization_helper.dart';
|
|||
part 'account_model.freezed.dart';
|
||||
part 'account_model.g.dart';
|
||||
|
||||
@freezed
|
||||
@Freezed(copyWith: true)
|
||||
class AccountModel with _$AccountModel {
|
||||
const AccountModel._();
|
||||
|
||||
|
|
|
|||
|
|
@ -395,56 +395,6 @@ class _$AccountModelImpl extends _AccountModel with DiagnosticableTreeMixin {
|
|||
..add(DiagnosticsProperty('userConfiguration', userConfiguration));
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$AccountModelImpl &&
|
||||
(identical(other.name, name) || other.name == name) &&
|
||||
(identical(other.id, id) || other.id == id) &&
|
||||
(identical(other.avatar, avatar) || other.avatar == avatar) &&
|
||||
(identical(other.lastUsed, lastUsed) ||
|
||||
other.lastUsed == lastUsed) &&
|
||||
(identical(other.authMethod, authMethod) ||
|
||||
other.authMethod == authMethod) &&
|
||||
(identical(other.localPin, localPin) ||
|
||||
other.localPin == localPin) &&
|
||||
(identical(other.credentials, credentials) ||
|
||||
other.credentials == credentials) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._latestItemsExcludes, _latestItemsExcludes) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._searchQueryHistory, _searchQueryHistory) &&
|
||||
(identical(other.quickConnectState, quickConnectState) ||
|
||||
other.quickConnectState == quickConnectState) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._savedFilters, _savedFilters) &&
|
||||
(identical(other.policy, policy) || other.policy == policy) &&
|
||||
(identical(other.serverConfiguration, serverConfiguration) ||
|
||||
other.serverConfiguration == serverConfiguration) &&
|
||||
(identical(other.userConfiguration, userConfiguration) ||
|
||||
other.userConfiguration == userConfiguration));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
name,
|
||||
id,
|
||||
avatar,
|
||||
lastUsed,
|
||||
authMethod,
|
||||
localPin,
|
||||
credentials,
|
||||
const DeepCollectionEquality().hash(_latestItemsExcludes),
|
||||
const DeepCollectionEquality().hash(_searchQueryHistory),
|
||||
quickConnectState,
|
||||
const DeepCollectionEquality().hash(_savedFilters),
|
||||
policy,
|
||||
serverConfiguration,
|
||||
userConfiguration);
|
||||
|
||||
/// Create a copy of AccountModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
|
|
|
|||
|
|
@ -108,34 +108,11 @@ class BoxSetModelMapper extends SubClassMapperBase<BoxSetModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static BoxSetModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<BoxSetModel>(map);
|
||||
}
|
||||
|
||||
static BoxSetModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<BoxSetModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin BoxSetModelMappable {
|
||||
String toJson() {
|
||||
return BoxSetModelMapper.ensureInitialized()
|
||||
.encodeJson<BoxSetModel>(this as BoxSetModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return BoxSetModelMapper.ensureInitialized()
|
||||
.encodeMap<BoxSetModel>(this as BoxSetModel);
|
||||
}
|
||||
|
||||
BoxSetModelCopyWith<BoxSetModel, BoxSetModel, BoxSetModel> get copyWith =>
|
||||
_BoxSetModelCopyWithImpl(this as BoxSetModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return BoxSetModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as BoxSetModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension BoxSetModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -93,35 +93,12 @@ class ItemBaseModelMapper extends ClassMapperBase<ItemBaseModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static ItemBaseModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<ItemBaseModel>(map);
|
||||
}
|
||||
|
||||
static ItemBaseModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<ItemBaseModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin ItemBaseModelMappable {
|
||||
String toJson() {
|
||||
return ItemBaseModelMapper.ensureInitialized()
|
||||
.encodeJson<ItemBaseModel>(this as ItemBaseModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return ItemBaseModelMapper.ensureInitialized()
|
||||
.encodeMap<ItemBaseModel>(this as ItemBaseModel);
|
||||
}
|
||||
|
||||
ItemBaseModelCopyWith<ItemBaseModel, ItemBaseModel, ItemBaseModel>
|
||||
get copyWith => _ItemBaseModelCopyWithImpl(
|
||||
this as ItemBaseModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return ItemBaseModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as ItemBaseModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension ItemBaseModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -141,34 +141,11 @@ class EpisodeModelMapper extends SubClassMapperBase<EpisodeModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static EpisodeModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<EpisodeModel>(map);
|
||||
}
|
||||
|
||||
static EpisodeModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<EpisodeModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin EpisodeModelMappable {
|
||||
String toJson() {
|
||||
return EpisodeModelMapper.ensureInitialized()
|
||||
.encodeJson<EpisodeModel>(this as EpisodeModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return EpisodeModelMapper.ensureInitialized()
|
||||
.encodeMap<EpisodeModel>(this as EpisodeModel);
|
||||
}
|
||||
|
||||
EpisodeModelCopyWith<EpisodeModel, EpisodeModel, EpisodeModel> get copyWith =>
|
||||
_EpisodeModelCopyWithImpl(this as EpisodeModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return EpisodeModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as EpisodeModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension EpisodeModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -108,34 +108,11 @@ class FolderModelMapper extends SubClassMapperBase<FolderModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static FolderModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<FolderModel>(map);
|
||||
}
|
||||
|
||||
static FolderModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<FolderModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin FolderModelMappable {
|
||||
String toJson() {
|
||||
return FolderModelMapper.ensureInitialized()
|
||||
.encodeJson<FolderModel>(this as FolderModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return FolderModelMapper.ensureInitialized()
|
||||
.encodeMap<FolderModel>(this as FolderModel);
|
||||
}
|
||||
|
||||
FolderModelCopyWith<FolderModel, FolderModel, FolderModel> get copyWith =>
|
||||
_FolderModelCopyWithImpl(this as FolderModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return FolderModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as FolderModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension FolderModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -18,92 +18,6 @@ final _privateConstructorUsedError = UnsupportedError(
|
|||
mixin _$ItemPropertiesModel {
|
||||
bool get canDelete => throw _privateConstructorUsedError;
|
||||
bool get canDownload => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of ItemPropertiesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$ItemPropertiesModelCopyWith<ItemPropertiesModel> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $ItemPropertiesModelCopyWith<$Res> {
|
||||
factory $ItemPropertiesModelCopyWith(
|
||||
ItemPropertiesModel value, $Res Function(ItemPropertiesModel) then) =
|
||||
_$ItemPropertiesModelCopyWithImpl<$Res, ItemPropertiesModel>;
|
||||
@useResult
|
||||
$Res call({bool canDelete, bool canDownload});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$ItemPropertiesModelCopyWithImpl<$Res, $Val extends ItemPropertiesModel>
|
||||
implements $ItemPropertiesModelCopyWith<$Res> {
|
||||
_$ItemPropertiesModelCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of ItemPropertiesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? canDelete = null,
|
||||
Object? canDownload = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
canDelete: null == canDelete
|
||||
? _value.canDelete
|
||||
: canDelete // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
canDownload: null == canDownload
|
||||
? _value.canDownload
|
||||
: canDownload // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$ItemPropertiesModelImplCopyWith<$Res>
|
||||
implements $ItemPropertiesModelCopyWith<$Res> {
|
||||
factory _$$ItemPropertiesModelImplCopyWith(_$ItemPropertiesModelImpl value,
|
||||
$Res Function(_$ItemPropertiesModelImpl) then) =
|
||||
__$$ItemPropertiesModelImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({bool canDelete, bool canDownload});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$ItemPropertiesModelImplCopyWithImpl<$Res>
|
||||
extends _$ItemPropertiesModelCopyWithImpl<$Res, _$ItemPropertiesModelImpl>
|
||||
implements _$$ItemPropertiesModelImplCopyWith<$Res> {
|
||||
__$$ItemPropertiesModelImplCopyWithImpl(_$ItemPropertiesModelImpl _value,
|
||||
$Res Function(_$ItemPropertiesModelImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of ItemPropertiesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? canDelete = null,
|
||||
Object? canDownload = null,
|
||||
}) {
|
||||
return _then(_$ItemPropertiesModelImpl(
|
||||
canDelete: null == canDelete
|
||||
? _value.canDelete
|
||||
: canDelete // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
canDownload: null == canDownload
|
||||
? _value.canDownload
|
||||
: canDownload // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
|
@ -122,29 +36,6 @@ class _$ItemPropertiesModelImpl extends _ItemPropertiesModel {
|
|||
String toString() {
|
||||
return 'ItemPropertiesModel._internal(canDelete: $canDelete, canDownload: $canDownload)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$ItemPropertiesModelImpl &&
|
||||
(identical(other.canDelete, canDelete) ||
|
||||
other.canDelete == canDelete) &&
|
||||
(identical(other.canDownload, canDownload) ||
|
||||
other.canDownload == canDownload));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, canDelete, canDownload);
|
||||
|
||||
/// Create a copy of ItemPropertiesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$ItemPropertiesModelImplCopyWith<_$ItemPropertiesModelImpl> get copyWith =>
|
||||
__$$ItemPropertiesModelImplCopyWithImpl<_$ItemPropertiesModelImpl>(
|
||||
this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _ItemPropertiesModel extends ItemPropertiesModel {
|
||||
|
|
@ -157,11 +48,4 @@ abstract class _ItemPropertiesModel extends ItemPropertiesModel {
|
|||
bool get canDelete;
|
||||
@override
|
||||
bool get canDownload;
|
||||
|
||||
/// Create a copy of ItemPropertiesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$ItemPropertiesModelImplCopyWith<_$ItemPropertiesModelImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import 'package:fladder/models/items/images_models.dart';
|
|||
|
||||
part 'item_shared_models.mapper.dart';
|
||||
|
||||
@MappableClass()
|
||||
@MappableClass(generateMethods: GenerateMethods.encode | GenerateMethods.decode | GenerateMethods.copy)
|
||||
class UserData with UserDataMappable {
|
||||
final bool isFavourite;
|
||||
final int playCount;
|
||||
|
|
|
|||
|
|
@ -92,10 +92,6 @@ mixin UserDataMappable {
|
|||
|
||||
UserDataCopyWith<UserData, UserData, UserData> get copyWith =>
|
||||
_UserDataCopyWithImpl(this as UserData, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return UserDataMapper.ensureInitialized().stringifyValue(this as UserData);
|
||||
}
|
||||
}
|
||||
|
||||
extension UserDataValueCopy<$R, $Out> on ObjectCopyWith<$R, UserData, $Out> {
|
||||
|
|
|
|||
|
|
@ -112,35 +112,12 @@ class ItemStreamModelMapper extends SubClassMapperBase<ItemStreamModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static ItemStreamModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<ItemStreamModel>(map);
|
||||
}
|
||||
|
||||
static ItemStreamModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<ItemStreamModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin ItemStreamModelMappable {
|
||||
String toJson() {
|
||||
return ItemStreamModelMapper.ensureInitialized()
|
||||
.encodeJson<ItemStreamModel>(this as ItemStreamModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return ItemStreamModelMapper.ensureInitialized()
|
||||
.encodeMap<ItemStreamModel>(this as ItemStreamModel);
|
||||
}
|
||||
|
||||
ItemStreamModelCopyWith<ItemStreamModel, ItemStreamModel, ItemStreamModel>
|
||||
get copyWith => _ItemStreamModelCopyWithImpl(
|
||||
this as ItemStreamModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return ItemStreamModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as ItemStreamModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension ItemStreamModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -24,82 +24,6 @@ mixin _$MediaSegmentsModel {
|
|||
|
||||
/// Serializes this MediaSegmentsModel to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of MediaSegmentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$MediaSegmentsModelCopyWith<MediaSegmentsModel> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $MediaSegmentsModelCopyWith<$Res> {
|
||||
factory $MediaSegmentsModelCopyWith(
|
||||
MediaSegmentsModel value, $Res Function(MediaSegmentsModel) then) =
|
||||
_$MediaSegmentsModelCopyWithImpl<$Res, MediaSegmentsModel>;
|
||||
@useResult
|
||||
$Res call({List<MediaSegment> segments});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$MediaSegmentsModelCopyWithImpl<$Res, $Val extends MediaSegmentsModel>
|
||||
implements $MediaSegmentsModelCopyWith<$Res> {
|
||||
_$MediaSegmentsModelCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of MediaSegmentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? segments = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
segments: null == segments
|
||||
? _value.segments
|
||||
: segments // ignore: cast_nullable_to_non_nullable
|
||||
as List<MediaSegment>,
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$MediaSegmentsModelImplCopyWith<$Res>
|
||||
implements $MediaSegmentsModelCopyWith<$Res> {
|
||||
factory _$$MediaSegmentsModelImplCopyWith(_$MediaSegmentsModelImpl value,
|
||||
$Res Function(_$MediaSegmentsModelImpl) then) =
|
||||
__$$MediaSegmentsModelImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({List<MediaSegment> segments});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$MediaSegmentsModelImplCopyWithImpl<$Res>
|
||||
extends _$MediaSegmentsModelCopyWithImpl<$Res, _$MediaSegmentsModelImpl>
|
||||
implements _$$MediaSegmentsModelImplCopyWith<$Res> {
|
||||
__$$MediaSegmentsModelImplCopyWithImpl(_$MediaSegmentsModelImpl _value,
|
||||
$Res Function(_$MediaSegmentsModelImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of MediaSegmentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? segments = null,
|
||||
}) {
|
||||
return _then(_$MediaSegmentsModelImpl(
|
||||
segments: null == segments
|
||||
? _value._segments
|
||||
: segments // ignore: cast_nullable_to_non_nullable
|
||||
as List<MediaSegment>,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
|
@ -126,28 +50,6 @@ class _$MediaSegmentsModelImpl extends _MediaSegmentsModel {
|
|||
return 'MediaSegmentsModel(segments: $segments)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$MediaSegmentsModelImpl &&
|
||||
const DeepCollectionEquality().equals(other._segments, _segments));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode =>
|
||||
Object.hash(runtimeType, const DeepCollectionEquality().hash(_segments));
|
||||
|
||||
/// Create a copy of MediaSegmentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$MediaSegmentsModelImplCopyWith<_$MediaSegmentsModelImpl> get copyWith =>
|
||||
__$$MediaSegmentsModelImplCopyWithImpl<_$MediaSegmentsModelImpl>(
|
||||
this, _$identity);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$MediaSegmentsModelImplToJson(
|
||||
|
|
@ -166,13 +68,6 @@ abstract class _MediaSegmentsModel extends MediaSegmentsModel {
|
|||
|
||||
@override
|
||||
List<MediaSegment> get segments;
|
||||
|
||||
/// Create a copy of MediaSegmentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$MediaSegmentsModelImplCopyWith<_$MediaSegmentsModelImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
MediaSegment _$MediaSegmentFromJson(Map<String, dynamic> json) {
|
||||
|
|
@ -187,102 +82,6 @@ mixin _$MediaSegment {
|
|||
|
||||
/// Serializes this MediaSegment to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of MediaSegment
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$MediaSegmentCopyWith<MediaSegment> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $MediaSegmentCopyWith<$Res> {
|
||||
factory $MediaSegmentCopyWith(
|
||||
MediaSegment value, $Res Function(MediaSegment) then) =
|
||||
_$MediaSegmentCopyWithImpl<$Res, MediaSegment>;
|
||||
@useResult
|
||||
$Res call({MediaSegmentType type, Duration start, Duration end});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$MediaSegmentCopyWithImpl<$Res, $Val extends MediaSegment>
|
||||
implements $MediaSegmentCopyWith<$Res> {
|
||||
_$MediaSegmentCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of MediaSegment
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? type = null,
|
||||
Object? start = null,
|
||||
Object? end = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
type: null == type
|
||||
? _value.type
|
||||
: type // ignore: cast_nullable_to_non_nullable
|
||||
as MediaSegmentType,
|
||||
start: null == start
|
||||
? _value.start
|
||||
: start // ignore: cast_nullable_to_non_nullable
|
||||
as Duration,
|
||||
end: null == end
|
||||
? _value.end
|
||||
: end // ignore: cast_nullable_to_non_nullable
|
||||
as Duration,
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$MediaSegmentImplCopyWith<$Res>
|
||||
implements $MediaSegmentCopyWith<$Res> {
|
||||
factory _$$MediaSegmentImplCopyWith(
|
||||
_$MediaSegmentImpl value, $Res Function(_$MediaSegmentImpl) then) =
|
||||
__$$MediaSegmentImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({MediaSegmentType type, Duration start, Duration end});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$MediaSegmentImplCopyWithImpl<$Res>
|
||||
extends _$MediaSegmentCopyWithImpl<$Res, _$MediaSegmentImpl>
|
||||
implements _$$MediaSegmentImplCopyWith<$Res> {
|
||||
__$$MediaSegmentImplCopyWithImpl(
|
||||
_$MediaSegmentImpl _value, $Res Function(_$MediaSegmentImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of MediaSegment
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? type = null,
|
||||
Object? start = null,
|
||||
Object? end = null,
|
||||
}) {
|
||||
return _then(_$MediaSegmentImpl(
|
||||
type: null == type
|
||||
? _value.type
|
||||
: type // ignore: cast_nullable_to_non_nullable
|
||||
as MediaSegmentType,
|
||||
start: null == start
|
||||
? _value.start
|
||||
: start // ignore: cast_nullable_to_non_nullable
|
||||
as Duration,
|
||||
end: null == end
|
||||
? _value.end
|
||||
: end // ignore: cast_nullable_to_non_nullable
|
||||
as Duration,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
|
@ -307,28 +106,6 @@ class _$MediaSegmentImpl extends _MediaSegment {
|
|||
return 'MediaSegment(type: $type, start: $start, end: $end)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$MediaSegmentImpl &&
|
||||
(identical(other.type, type) || other.type == type) &&
|
||||
(identical(other.start, start) || other.start == start) &&
|
||||
(identical(other.end, end) || other.end == end));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, type, start, end);
|
||||
|
||||
/// Create a copy of MediaSegment
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$MediaSegmentImplCopyWith<_$MediaSegmentImpl> get copyWith =>
|
||||
__$$MediaSegmentImplCopyWithImpl<_$MediaSegmentImpl>(this, _$identity);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$MediaSegmentImplToJson(
|
||||
|
|
@ -353,11 +130,4 @@ abstract class _MediaSegment extends MediaSegment {
|
|||
Duration get start;
|
||||
@override
|
||||
Duration get end;
|
||||
|
||||
/// Create a copy of MediaSegment
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$MediaSegmentImplCopyWith<_$MediaSegmentImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,34 +147,11 @@ class MovieModelMapper extends SubClassMapperBase<MovieModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static MovieModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<MovieModel>(map);
|
||||
}
|
||||
|
||||
static MovieModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<MovieModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin MovieModelMappable {
|
||||
String toJson() {
|
||||
return MovieModelMapper.ensureInitialized()
|
||||
.encodeJson<MovieModel>(this as MovieModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return MovieModelMapper.ensureInitialized()
|
||||
.encodeMap<MovieModel>(this as MovieModel);
|
||||
}
|
||||
|
||||
MovieModelCopyWith<MovieModel, MovieModel, MovieModel> get copyWith =>
|
||||
_MovieModelCopyWithImpl(this as MovieModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return MovieModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as MovieModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension MovieModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
|
|
@ -6,8 +7,6 @@ import 'package:fladder/models/items/item_shared_models.dart';
|
|||
import 'package:fladder/models/items/trick_play_model.dart';
|
||||
import 'package:fladder/util/duration_extensions.dart';
|
||||
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
|
||||
part 'overview_model.mapper.dart';
|
||||
|
||||
@MappableClass()
|
||||
|
|
@ -76,7 +75,4 @@ class OverviewModel with OverviewModelMappable {
|
|||
people: Person.peopleFromDto(item.people ?? [], ref),
|
||||
);
|
||||
}
|
||||
|
||||
factory OverviewModel.fromMap(Map<String, dynamic> map) => OverviewModelMapper.fromMap(map);
|
||||
factory OverviewModel.fromJson(String json) => OverviewModelMapper.fromJson(json);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,35 +114,12 @@ class OverviewModelMapper extends ClassMapperBase<OverviewModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static OverviewModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<OverviewModel>(map);
|
||||
}
|
||||
|
||||
static OverviewModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<OverviewModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin OverviewModelMappable {
|
||||
String toJson() {
|
||||
return OverviewModelMapper.ensureInitialized()
|
||||
.encodeJson<OverviewModel>(this as OverviewModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return OverviewModelMapper.ensureInitialized()
|
||||
.encodeMap<OverviewModel>(this as OverviewModel);
|
||||
}
|
||||
|
||||
OverviewModelCopyWith<OverviewModel, OverviewModel, OverviewModel>
|
||||
get copyWith => _OverviewModelCopyWithImpl(
|
||||
this as OverviewModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return OverviewModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as OverviewModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension OverviewModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -124,34 +124,11 @@ class PersonModelMapper extends SubClassMapperBase<PersonModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static PersonModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<PersonModel>(map);
|
||||
}
|
||||
|
||||
static PersonModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<PersonModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin PersonModelMappable {
|
||||
String toJson() {
|
||||
return PersonModelMapper.ensureInitialized()
|
||||
.encodeJson<PersonModel>(this as PersonModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return PersonModelMapper.ensureInitialized()
|
||||
.encodeMap<PersonModel>(this as PersonModel);
|
||||
}
|
||||
|
||||
PersonModelCopyWith<PersonModel, PersonModel, PersonModel> get copyWith =>
|
||||
_PersonModelCopyWithImpl(this as PersonModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return PersonModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as PersonModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension PersonModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -108,35 +108,12 @@ class PhotoAlbumModelMapper extends SubClassMapperBase<PhotoAlbumModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static PhotoAlbumModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<PhotoAlbumModel>(map);
|
||||
}
|
||||
|
||||
static PhotoAlbumModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<PhotoAlbumModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin PhotoAlbumModelMappable {
|
||||
String toJson() {
|
||||
return PhotoAlbumModelMapper.ensureInitialized()
|
||||
.encodeJson<PhotoAlbumModel>(this as PhotoAlbumModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return PhotoAlbumModelMapper.ensureInitialized()
|
||||
.encodeMap<PhotoAlbumModel>(this as PhotoAlbumModel);
|
||||
}
|
||||
|
||||
PhotoAlbumModelCopyWith<PhotoAlbumModel, PhotoAlbumModel, PhotoAlbumModel>
|
||||
get copyWith => _PhotoAlbumModelCopyWithImpl(
|
||||
this as PhotoAlbumModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return PhotoAlbumModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as PhotoAlbumModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension PhotoAlbumModelValueCopy<$R, $Out>
|
||||
|
|
@ -359,34 +336,11 @@ class PhotoModelMapper extends SubClassMapperBase<PhotoModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static PhotoModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<PhotoModel>(map);
|
||||
}
|
||||
|
||||
static PhotoModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<PhotoModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin PhotoModelMappable {
|
||||
String toJson() {
|
||||
return PhotoModelMapper.ensureInitialized()
|
||||
.encodeJson<PhotoModel>(this as PhotoModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return PhotoModelMapper.ensureInitialized()
|
||||
.encodeMap<PhotoModel>(this as PhotoModel);
|
||||
}
|
||||
|
||||
PhotoModelCopyWith<PhotoModel, PhotoModel, PhotoModel> get copyWith =>
|
||||
_PhotoModelCopyWithImpl(this as PhotoModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return PhotoModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as PhotoModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension PhotoModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -137,34 +137,11 @@ class SeasonModelMapper extends SubClassMapperBase<SeasonModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static SeasonModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<SeasonModel>(map);
|
||||
}
|
||||
|
||||
static SeasonModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<SeasonModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin SeasonModelMappable {
|
||||
String toJson() {
|
||||
return SeasonModelMapper.ensureInitialized()
|
||||
.encodeJson<SeasonModel>(this as SeasonModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return SeasonModelMapper.ensureInitialized()
|
||||
.encodeMap<SeasonModel>(this as SeasonModel);
|
||||
}
|
||||
|
||||
SeasonModelCopyWith<SeasonModel, SeasonModel, SeasonModel> get copyWith =>
|
||||
_SeasonModelCopyWithImpl(this as SeasonModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return SeasonModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as SeasonModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension SeasonModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -135,34 +135,11 @@ class SeriesModelMapper extends SubClassMapperBase<SeriesModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static SeriesModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<SeriesModel>(map);
|
||||
}
|
||||
|
||||
static SeriesModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<SeriesModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin SeriesModelMappable {
|
||||
String toJson() {
|
||||
return SeriesModelMapper.ensureInitialized()
|
||||
.encodeJson<SeriesModel>(this as SeriesModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return SeriesModelMapper.ensureInitialized()
|
||||
.encodeMap<SeriesModel>(this as SeriesModel);
|
||||
}
|
||||
|
||||
SeriesModelCopyWith<SeriesModel, SeriesModel, SeriesModel> get copyWith =>
|
||||
_SeriesModelCopyWithImpl(this as SeriesModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return SeriesModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as SeriesModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension SeriesModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import 'package:freezed_annotation/freezed_annotation.dart';
|
|||
part 'trick_play_model.freezed.dart';
|
||||
part 'trick_play_model.g.dart';
|
||||
|
||||
@freezed
|
||||
@Freezed(copyWith: true)
|
||||
class TrickPlayModel with _$TrickPlayModel {
|
||||
factory TrickPlayModel({
|
||||
required int width,
|
||||
|
|
|
|||
|
|
@ -225,36 +225,6 @@ class _$TrickPlayModelImpl extends _TrickPlayModel {
|
|||
return 'TrickPlayModel(width: $width, height: $height, tileWidth: $tileWidth, tileHeight: $tileHeight, thumbnailCount: $thumbnailCount, interval: $interval, images: $images)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$TrickPlayModelImpl &&
|
||||
(identical(other.width, width) || other.width == width) &&
|
||||
(identical(other.height, height) || other.height == height) &&
|
||||
(identical(other.tileWidth, tileWidth) ||
|
||||
other.tileWidth == tileWidth) &&
|
||||
(identical(other.tileHeight, tileHeight) ||
|
||||
other.tileHeight == tileHeight) &&
|
||||
(identical(other.thumbnailCount, thumbnailCount) ||
|
||||
other.thumbnailCount == thumbnailCount) &&
|
||||
(identical(other.interval, interval) ||
|
||||
other.interval == interval) &&
|
||||
const DeepCollectionEquality().equals(other._images, _images));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
width,
|
||||
height,
|
||||
tileWidth,
|
||||
tileHeight,
|
||||
thumbnailCount,
|
||||
interval,
|
||||
const DeepCollectionEquality().hash(_images));
|
||||
|
||||
/// Create a copy of TrickPlayModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import 'package:fladder/util/map_bool_helper.dart';
|
|||
part 'library_filters_model.freezed.dart';
|
||||
part 'library_filters_model.g.dart';
|
||||
|
||||
@freezed
|
||||
@Freezed(copyWith: true)
|
||||
class LibraryFiltersModel with _$LibraryFiltersModel {
|
||||
const LibraryFiltersModel._();
|
||||
|
||||
|
|
@ -40,11 +40,16 @@ class LibraryFiltersModel with _$LibraryFiltersModel {
|
|||
|
||||
factory LibraryFiltersModel.fromJson(Map<String, dynamic> json) => _$LibraryFiltersModelFromJson(json);
|
||||
|
||||
factory LibraryFiltersModel.fromLibrarySearch(String name, LibrarySearchModel searchModel) {
|
||||
factory LibraryFiltersModel.fromLibrarySearch(
|
||||
String name,
|
||||
LibrarySearchModel searchModel, {
|
||||
bool? isFavourite,
|
||||
String? id,
|
||||
}) {
|
||||
return LibraryFiltersModel._internal(
|
||||
id: Xid().toString(),
|
||||
id: id ?? Xid().toString(),
|
||||
name: name,
|
||||
isFavourite: false,
|
||||
isFavourite: isFavourite ?? false,
|
||||
ids: searchModel.views.included.map((e) => e.id).toList(),
|
||||
genres: searchModel.genres,
|
||||
filters: searchModel.filters,
|
||||
|
|
|
|||
|
|
@ -436,59 +436,6 @@ class _$LibraryFiltersModelImpl extends _LibraryFiltersModel {
|
|||
return 'LibraryFiltersModel._internal(id: $id, name: $name, isFavourite: $isFavourite, ids: $ids, genres: $genres, filters: $filters, studios: $studios, tags: $tags, years: $years, officialRatings: $officialRatings, types: $types, sortingOption: $sortingOption, sortOrder: $sortOrder, favourites: $favourites, hideEmptyShows: $hideEmptyShows, recursive: $recursive, groupBy: $groupBy)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$LibraryFiltersModelImpl &&
|
||||
(identical(other.id, id) || other.id == id) &&
|
||||
(identical(other.name, name) || other.name == name) &&
|
||||
(identical(other.isFavourite, isFavourite) ||
|
||||
other.isFavourite == isFavourite) &&
|
||||
const DeepCollectionEquality().equals(other._ids, _ids) &&
|
||||
const DeepCollectionEquality().equals(other._genres, _genres) &&
|
||||
const DeepCollectionEquality().equals(other._filters, _filters) &&
|
||||
const DeepCollectionEquality().equals(other._studios, _studios) &&
|
||||
const DeepCollectionEquality().equals(other._tags, _tags) &&
|
||||
const DeepCollectionEquality().equals(other._years, _years) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._officialRatings, _officialRatings) &&
|
||||
const DeepCollectionEquality().equals(other._types, _types) &&
|
||||
(identical(other.sortingOption, sortingOption) ||
|
||||
other.sortingOption == sortingOption) &&
|
||||
(identical(other.sortOrder, sortOrder) ||
|
||||
other.sortOrder == sortOrder) &&
|
||||
(identical(other.favourites, favourites) ||
|
||||
other.favourites == favourites) &&
|
||||
(identical(other.hideEmptyShows, hideEmptyShows) ||
|
||||
other.hideEmptyShows == hideEmptyShows) &&
|
||||
(identical(other.recursive, recursive) ||
|
||||
other.recursive == recursive) &&
|
||||
(identical(other.groupBy, groupBy) || other.groupBy == groupBy));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
id,
|
||||
name,
|
||||
isFavourite,
|
||||
const DeepCollectionEquality().hash(_ids),
|
||||
const DeepCollectionEquality().hash(_genres),
|
||||
const DeepCollectionEquality().hash(_filters),
|
||||
const DeepCollectionEquality().hash(_studios),
|
||||
const DeepCollectionEquality().hash(_tags),
|
||||
const DeepCollectionEquality().hash(_years),
|
||||
const DeepCollectionEquality().hash(_officialRatings),
|
||||
const DeepCollectionEquality().hash(_types),
|
||||
sortingOption,
|
||||
sortOrder,
|
||||
favourites,
|
||||
hideEmptyShows,
|
||||
recursive,
|
||||
groupBy);
|
||||
|
||||
/// Create a copy of LibraryFiltersModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
|
|
|
|||
|
|
@ -177,36 +177,13 @@ class LibrarySearchModelMapper extends ClassMapperBase<LibrarySearchModel> {
|
|||
|
||||
@override
|
||||
final Function instantiate = _instantiate;
|
||||
|
||||
static LibrarySearchModel fromMap(Map<String, dynamic> map) {
|
||||
return ensureInitialized().decodeMap<LibrarySearchModel>(map);
|
||||
}
|
||||
|
||||
static LibrarySearchModel fromJson(String json) {
|
||||
return ensureInitialized().decodeJson<LibrarySearchModel>(json);
|
||||
}
|
||||
}
|
||||
|
||||
mixin LibrarySearchModelMappable {
|
||||
String toJson() {
|
||||
return LibrarySearchModelMapper.ensureInitialized()
|
||||
.encodeJson<LibrarySearchModel>(this as LibrarySearchModel);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return LibrarySearchModelMapper.ensureInitialized()
|
||||
.encodeMap<LibrarySearchModel>(this as LibrarySearchModel);
|
||||
}
|
||||
|
||||
LibrarySearchModelCopyWith<LibrarySearchModel, LibrarySearchModel,
|
||||
LibrarySearchModel>
|
||||
get copyWith => _LibrarySearchModelCopyWithImpl(
|
||||
this as LibrarySearchModel, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return LibrarySearchModelMapper.ensureInitialized()
|
||||
.stringifyValue(this as LibrarySearchModel);
|
||||
}
|
||||
}
|
||||
|
||||
extension LibrarySearchModelValueCopy<$R, $Out>
|
||||
|
|
|
|||
|
|
@ -17,82 +17,6 @@ final _privateConstructorUsedError = UnsupportedError(
|
|||
/// @nodoc
|
||||
mixin _$ArgumentsModel {
|
||||
bool get htpcMode => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of ArgumentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$ArgumentsModelCopyWith<ArgumentsModel> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $ArgumentsModelCopyWith<$Res> {
|
||||
factory $ArgumentsModelCopyWith(
|
||||
ArgumentsModel value, $Res Function(ArgumentsModel) then) =
|
||||
_$ArgumentsModelCopyWithImpl<$Res, ArgumentsModel>;
|
||||
@useResult
|
||||
$Res call({bool htpcMode});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$ArgumentsModelCopyWithImpl<$Res, $Val extends ArgumentsModel>
|
||||
implements $ArgumentsModelCopyWith<$Res> {
|
||||
_$ArgumentsModelCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of ArgumentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? htpcMode = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
htpcMode: null == htpcMode
|
||||
? _value.htpcMode
|
||||
: htpcMode // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$ArgumentsModelImplCopyWith<$Res>
|
||||
implements $ArgumentsModelCopyWith<$Res> {
|
||||
factory _$$ArgumentsModelImplCopyWith(_$ArgumentsModelImpl value,
|
||||
$Res Function(_$ArgumentsModelImpl) then) =
|
||||
__$$ArgumentsModelImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({bool htpcMode});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$ArgumentsModelImplCopyWithImpl<$Res>
|
||||
extends _$ArgumentsModelCopyWithImpl<$Res, _$ArgumentsModelImpl>
|
||||
implements _$$ArgumentsModelImplCopyWith<$Res> {
|
||||
__$$ArgumentsModelImplCopyWithImpl(
|
||||
_$ArgumentsModelImpl _value, $Res Function(_$ArgumentsModelImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of ArgumentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? htpcMode = null,
|
||||
}) {
|
||||
return _then(_$ArgumentsModelImpl(
|
||||
htpcMode: null == htpcMode
|
||||
? _value.htpcMode
|
||||
: htpcMode // ignore: cast_nullable_to_non_nullable
|
||||
as bool,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
|
@ -108,27 +32,6 @@ class _$ArgumentsModelImpl extends _ArgumentsModel {
|
|||
String toString() {
|
||||
return 'ArgumentsModel(htpcMode: $htpcMode)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$ArgumentsModelImpl &&
|
||||
(identical(other.htpcMode, htpcMode) ||
|
||||
other.htpcMode == htpcMode));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, htpcMode);
|
||||
|
||||
/// Create a copy of ArgumentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$ArgumentsModelImplCopyWith<_$ArgumentsModelImpl> get copyWith =>
|
||||
__$$ArgumentsModelImplCopyWithImpl<_$ArgumentsModelImpl>(
|
||||
this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _ArgumentsModel extends ArgumentsModel {
|
||||
|
|
@ -137,11 +40,4 @@ abstract class _ArgumentsModel extends ArgumentsModel {
|
|||
|
||||
@override
|
||||
bool get htpcMode;
|
||||
|
||||
/// Create a copy of ArgumentsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$ArgumentsModelImplCopyWith<_$ArgumentsModelImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import 'package:fladder/util/custom_color_themes.dart';
|
|||
part 'client_settings_model.freezed.dart';
|
||||
part 'client_settings_model.g.dart';
|
||||
|
||||
@freezed
|
||||
@Freezed(copyWith: true)
|
||||
class ClientSettingsModel with _$ClientSettingsModel {
|
||||
const ClientSettingsModel._();
|
||||
factory ClientSettingsModel({
|
||||
|
|
|
|||
|
|
@ -508,83 +508,6 @@ class _$ClientSettingsModelImpl extends _ClientSettingsModel
|
|||
..add(DiagnosticsProperty('libraryPageSize', libraryPageSize));
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$ClientSettingsModelImpl &&
|
||||
(identical(other.syncPath, syncPath) ||
|
||||
other.syncPath == syncPath) &&
|
||||
(identical(other.position, position) ||
|
||||
other.position == position) &&
|
||||
(identical(other.size, size) || other.size == size) &&
|
||||
(identical(other.timeOut, timeOut) || other.timeOut == timeOut) &&
|
||||
(identical(other.nextUpDateCutoff, nextUpDateCutoff) ||
|
||||
other.nextUpDateCutoff == nextUpDateCutoff) &&
|
||||
(identical(other.themeMode, themeMode) ||
|
||||
other.themeMode == themeMode) &&
|
||||
(identical(other.themeColor, themeColor) ||
|
||||
other.themeColor == themeColor) &&
|
||||
(identical(other.amoledBlack, amoledBlack) ||
|
||||
other.amoledBlack == amoledBlack) &&
|
||||
(identical(other.blurPlaceHolders, blurPlaceHolders) ||
|
||||
other.blurPlaceHolders == blurPlaceHolders) &&
|
||||
(identical(other.blurUpcomingEpisodes, blurUpcomingEpisodes) ||
|
||||
other.blurUpcomingEpisodes == blurUpcomingEpisodes) &&
|
||||
(identical(other.selectedLocale, selectedLocale) ||
|
||||
other.selectedLocale == selectedLocale) &&
|
||||
(identical(other.enableMediaKeys, enableMediaKeys) ||
|
||||
other.enableMediaKeys == enableMediaKeys) &&
|
||||
(identical(other.posterSize, posterSize) ||
|
||||
other.posterSize == posterSize) &&
|
||||
(identical(other.pinchPosterZoom, pinchPosterZoom) ||
|
||||
other.pinchPosterZoom == pinchPosterZoom) &&
|
||||
(identical(other.mouseDragSupport, mouseDragSupport) ||
|
||||
other.mouseDragSupport == mouseDragSupport) &&
|
||||
(identical(other.requireWifi, requireWifi) ||
|
||||
other.requireWifi == requireWifi) &&
|
||||
(identical(other.showAllCollectionTypes, showAllCollectionTypes) ||
|
||||
other.showAllCollectionTypes == showAllCollectionTypes) &&
|
||||
(identical(other.maxConcurrentDownloads, maxConcurrentDownloads) ||
|
||||
other.maxConcurrentDownloads == maxConcurrentDownloads) &&
|
||||
(identical(other.schemeVariant, schemeVariant) ||
|
||||
other.schemeVariant == schemeVariant) &&
|
||||
(identical(other.checkForUpdates, checkForUpdates) ||
|
||||
other.checkForUpdates == checkForUpdates) &&
|
||||
(identical(other.lastViewedUpdate, lastViewedUpdate) ||
|
||||
other.lastViewedUpdate == lastViewedUpdate) &&
|
||||
(identical(other.libraryPageSize, libraryPageSize) ||
|
||||
other.libraryPageSize == libraryPageSize));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hashAll([
|
||||
runtimeType,
|
||||
syncPath,
|
||||
position,
|
||||
size,
|
||||
timeOut,
|
||||
nextUpDateCutoff,
|
||||
themeMode,
|
||||
themeColor,
|
||||
amoledBlack,
|
||||
blurPlaceHolders,
|
||||
blurUpcomingEpisodes,
|
||||
selectedLocale,
|
||||
enableMediaKeys,
|
||||
posterSize,
|
||||
pinchPosterZoom,
|
||||
mouseDragSupport,
|
||||
requireWifi,
|
||||
showAllCollectionTypes,
|
||||
maxConcurrentDownloads,
|
||||
schemeVariant,
|
||||
checkForUpdates,
|
||||
lastViewedUpdate,
|
||||
libraryPageSize
|
||||
]);
|
||||
|
||||
/// Create a copy of ClientSettingsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import 'package:fladder/util/localization_helper.dart';
|
|||
part 'home_settings_model.freezed.dart';
|
||||
part 'home_settings_model.g.dart';
|
||||
|
||||
@freezed
|
||||
@Freezed(copyWith: true)
|
||||
class HomeSettingsModel with _$HomeSettingsModel {
|
||||
factory HomeSettingsModel({
|
||||
@Default({...LayoutMode.values}) Set<LayoutMode> screenLayouts,
|
||||
|
|
|
|||
|
|
@ -205,32 +205,6 @@ class _$HomeSettingsModelImpl implements _HomeSettingsModel {
|
|||
return 'HomeSettingsModel(screenLayouts: $screenLayouts, layoutStates: $layoutStates, homeBanner: $homeBanner, carouselSettings: $carouselSettings, nextUp: $nextUp)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$HomeSettingsModelImpl &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._screenLayouts, _screenLayouts) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._layoutStates, _layoutStates) &&
|
||||
(identical(other.homeBanner, homeBanner) ||
|
||||
other.homeBanner == homeBanner) &&
|
||||
(identical(other.carouselSettings, carouselSettings) ||
|
||||
other.carouselSettings == carouselSettings) &&
|
||||
(identical(other.nextUp, nextUp) || other.nextUp == nextUp));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
const DeepCollectionEquality().hash(_screenLayouts),
|
||||
const DeepCollectionEquality().hash(_layoutStates),
|
||||
homeBanner,
|
||||
carouselSettings,
|
||||
nextUp);
|
||||
|
||||
/// Create a copy of HomeSettingsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import 'package:fladder/util/localization_helper.dart';
|
|||
part 'video_player_settings.freezed.dart';
|
||||
part 'video_player_settings.g.dart';
|
||||
|
||||
@freezed
|
||||
@Freezed(copyWith: true)
|
||||
class VideoPlayerSettingsModel with _$VideoPlayerSettingsModel {
|
||||
const VideoPlayerSettingsModel._();
|
||||
|
||||
|
|
@ -43,7 +43,10 @@ class VideoPlayerSettingsModel with _$VideoPlayerSettingsModel {
|
|||
PlayerOptions get wantedPlayer => playerOptions ?? PlayerOptions.platformDefaults;
|
||||
|
||||
bool playerSame(VideoPlayerSettingsModel other) {
|
||||
return other.hardwareAccel == hardwareAccel && other.useLibass == useLibass && other.bufferSize == bufferSize && other.wantedPlayer == wantedPlayer;
|
||||
return other.hardwareAccel == hardwareAccel &&
|
||||
other.useLibass == useLibass &&
|
||||
other.bufferSize == bufferSize &&
|
||||
other.wantedPlayer == wantedPlayer;
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
|
|||
|
|
@ -4,17 +4,17 @@ import 'dart:io';
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:background_downloader/background_downloader.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:iconsax_plus/iconsax_plus.dart';
|
||||
import 'package:path/path.dart';
|
||||
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
import 'package:fladder/models/item_base_model.dart';
|
||||
import 'package:fladder/models/items/chapters_model.dart';
|
||||
import 'package:fladder/models/items/images_models.dart';
|
||||
import 'package:fladder/models/items/media_segments_model.dart';
|
||||
import 'package:fladder/models/items/item_shared_models.dart';
|
||||
import 'package:fladder/models/items/media_segments_model.dart';
|
||||
import 'package:fladder/models/items/media_streams_model.dart';
|
||||
import 'package:fladder/models/items/trick_play_model.dart';
|
||||
import 'package:fladder/models/syncing/i_synced_item.dart';
|
||||
|
|
@ -24,7 +24,7 @@ import 'package:fladder/util/localization_helper.dart';
|
|||
|
||||
part 'sync_item.freezed.dart';
|
||||
|
||||
@freezed
|
||||
@Freezed(copyWith: true)
|
||||
class SyncedItem with _$SyncedItem {
|
||||
const SyncedItem._();
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@ abstract class $SyncedItemCopyWith<$Res> {
|
|||
List<SubStreamModel> subtitles,
|
||||
@UserDataJsonSerializer() UserData? userData});
|
||||
|
||||
$MediaSegmentsModelCopyWith<$Res>? get mediaSegments;
|
||||
$TrickPlayModelCopyWith<$Res>? get fTrickPlayModel;
|
||||
}
|
||||
|
||||
|
|
@ -162,20 +161,6 @@ class _$SyncedItemCopyWithImpl<$Res, $Val extends SyncedItem>
|
|||
) as $Val);
|
||||
}
|
||||
|
||||
/// Create a copy of SyncedItem
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
$MediaSegmentsModelCopyWith<$Res>? get mediaSegments {
|
||||
if (_value.mediaSegments == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $MediaSegmentsModelCopyWith<$Res>(_value.mediaSegments!, (value) {
|
||||
return _then(_value.copyWith(mediaSegments: value) as $Val);
|
||||
});
|
||||
}
|
||||
|
||||
/// Create a copy of SyncedItem
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
|
|
@ -216,8 +201,6 @@ abstract class _$$SyncItemImplCopyWith<$Res>
|
|||
List<SubStreamModel> subtitles,
|
||||
@UserDataJsonSerializer() UserData? userData});
|
||||
|
||||
@override
|
||||
$MediaSegmentsModelCopyWith<$Res>? get mediaSegments;
|
||||
@override
|
||||
$TrickPlayModelCopyWith<$Res>? get fTrickPlayModel;
|
||||
}
|
||||
|
|
@ -392,57 +375,6 @@ class _$SyncItemImpl extends _SyncItem {
|
|||
return 'SyncedItem(id: $id, syncing: $syncing, parentId: $parentId, userId: $userId, path: $path, markedForDelete: $markedForDelete, sortName: $sortName, fileSize: $fileSize, videoFileName: $videoFileName, mediaSegments: $mediaSegments, fTrickPlayModel: $fTrickPlayModel, fImages: $fImages, fChapters: $fChapters, subtitles: $subtitles, userData: $userData)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$SyncItemImpl &&
|
||||
(identical(other.id, id) || other.id == id) &&
|
||||
(identical(other.syncing, syncing) || other.syncing == syncing) &&
|
||||
(identical(other.parentId, parentId) ||
|
||||
other.parentId == parentId) &&
|
||||
(identical(other.userId, userId) || other.userId == userId) &&
|
||||
(identical(other.path, path) || other.path == path) &&
|
||||
(identical(other.markedForDelete, markedForDelete) ||
|
||||
other.markedForDelete == markedForDelete) &&
|
||||
(identical(other.sortName, sortName) ||
|
||||
other.sortName == sortName) &&
|
||||
(identical(other.fileSize, fileSize) ||
|
||||
other.fileSize == fileSize) &&
|
||||
(identical(other.videoFileName, videoFileName) ||
|
||||
other.videoFileName == videoFileName) &&
|
||||
(identical(other.mediaSegments, mediaSegments) ||
|
||||
other.mediaSegments == mediaSegments) &&
|
||||
(identical(other.fTrickPlayModel, fTrickPlayModel) ||
|
||||
other.fTrickPlayModel == fTrickPlayModel) &&
|
||||
(identical(other.fImages, fImages) || other.fImages == fImages) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._fChapters, _fChapters) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._subtitles, _subtitles) &&
|
||||
(identical(other.userData, userData) ||
|
||||
other.userData == userData));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
id,
|
||||
syncing,
|
||||
parentId,
|
||||
userId,
|
||||
path,
|
||||
markedForDelete,
|
||||
sortName,
|
||||
fileSize,
|
||||
videoFileName,
|
||||
mediaSegments,
|
||||
fTrickPlayModel,
|
||||
fImages,
|
||||
const DeepCollectionEquality().hash(_fChapters),
|
||||
const DeepCollectionEquality().hash(_subtitles),
|
||||
userData);
|
||||
|
||||
/// Create a copy of SyncedItem
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import 'package:fladder/models/syncing/sync_item.dart';
|
|||
|
||||
part 'sync_settings_model.freezed.dart';
|
||||
|
||||
@Freezed(toJson: false, fromJson: false)
|
||||
@Freezed(toJson: false, fromJson: false, copyWith: true)
|
||||
class SyncSettingsModel with _$SyncSettingsModel {
|
||||
const SyncSettingsModel._();
|
||||
|
||||
|
|
|
|||
|
|
@ -116,18 +116,6 @@ class _$SyncSettignsModelImpl extends _SyncSettignsModel {
|
|||
return 'SyncSettingsModel(items: $items)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$SyncSettignsModelImpl &&
|
||||
const DeepCollectionEquality().equals(other._items, _items));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode =>
|
||||
Object.hash(runtimeType, const DeepCollectionEquality().hash(_items));
|
||||
|
||||
/// Create a copy of SyncSettingsModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
|
|
|
|||
|
|
@ -4,9 +4,10 @@ import 'dart:developer';
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
import 'package:fladder/providers/service_provider.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
||||
part 'discovery_provider.g.dart';
|
||||
part 'discovery_provider.mapper.dart';
|
||||
|
|
@ -81,7 +82,7 @@ class ServerDiscovery extends _$ServerDiscovery {
|
|||
}
|
||||
}
|
||||
|
||||
@MappableClass()
|
||||
@MappableClass(generateMethods: GenerateMethods.encode | GenerateMethods.decode)
|
||||
class DiscoveryInfo with DiscoveryInfoMappable {
|
||||
@MappableField(key: 'Id')
|
||||
final String id;
|
||||
|
|
|
|||
|
|
@ -73,58 +73,4 @@ mixin DiscoveryInfoMappable {
|
|||
return DiscoveryInfoMapper.ensureInitialized()
|
||||
.encodeMap<DiscoveryInfo>(this as DiscoveryInfo);
|
||||
}
|
||||
|
||||
DiscoveryInfoCopyWith<DiscoveryInfo, DiscoveryInfo, DiscoveryInfo>
|
||||
get copyWith => _DiscoveryInfoCopyWithImpl(
|
||||
this as DiscoveryInfo, $identity, $identity);
|
||||
@override
|
||||
String toString() {
|
||||
return DiscoveryInfoMapper.ensureInitialized()
|
||||
.stringifyValue(this as DiscoveryInfo);
|
||||
}
|
||||
}
|
||||
|
||||
extension DiscoveryInfoValueCopy<$R, $Out>
|
||||
on ObjectCopyWith<$R, DiscoveryInfo, $Out> {
|
||||
DiscoveryInfoCopyWith<$R, DiscoveryInfo, $Out> get $asDiscoveryInfo =>
|
||||
$base.as((v, t, t2) => _DiscoveryInfoCopyWithImpl(v, t, t2));
|
||||
}
|
||||
|
||||
abstract class DiscoveryInfoCopyWith<$R, $In extends DiscoveryInfo, $Out>
|
||||
implements ClassCopyWith<$R, $In, $Out> {
|
||||
$R call({String? id, String? name, String? address, String? endPointAddress});
|
||||
DiscoveryInfoCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t);
|
||||
}
|
||||
|
||||
class _DiscoveryInfoCopyWithImpl<$R, $Out>
|
||||
extends ClassCopyWithBase<$R, DiscoveryInfo, $Out>
|
||||
implements DiscoveryInfoCopyWith<$R, DiscoveryInfo, $Out> {
|
||||
_DiscoveryInfoCopyWithImpl(super.value, super.then, super.then2);
|
||||
|
||||
@override
|
||||
late final ClassMapperBase<DiscoveryInfo> $mapper =
|
||||
DiscoveryInfoMapper.ensureInitialized();
|
||||
@override
|
||||
$R call(
|
||||
{String? id,
|
||||
String? name,
|
||||
String? address,
|
||||
Object? endPointAddress = $none}) =>
|
||||
$apply(FieldCopyWithData({
|
||||
if (id != null) #id: id,
|
||||
if (name != null) #name: name,
|
||||
if (address != null) #address: address,
|
||||
if (endPointAddress != $none) #endPointAddress: endPointAddress
|
||||
}));
|
||||
@override
|
||||
DiscoveryInfo $make(CopyWithData data) => DiscoveryInfo(
|
||||
id: data.get(#id, or: $value.id),
|
||||
name: data.get(#name, or: $value.name),
|
||||
address: data.get(#address, or: $value.address),
|
||||
endPointAddress: data.get(#endPointAddress, or: $value.endPointAddress));
|
||||
|
||||
@override
|
||||
DiscoveryInfoCopyWith<$R2, DiscoveryInfo, $Out2> $chain<$R2, $Out2>(
|
||||
Then<$Out2, $R2> t) =>
|
||||
_DiscoveryInfoCopyWithImpl($value, $cast, t);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ enum LibraryViewType {
|
|||
};
|
||||
}
|
||||
|
||||
@Freezed(fromJson: false, toJson: false)
|
||||
@Freezed(fromJson: false, toJson: false, copyWith: true)
|
||||
class LibraryScreenModel with _$LibraryScreenModel {
|
||||
factory LibraryScreenModel({
|
||||
@Default([]) List<ViewModel> views,
|
||||
|
|
|
|||
|
|
@ -234,32 +234,6 @@ class _$LibraryScreenModelImpl implements _LibraryScreenModel {
|
|||
return 'LibraryScreenModel(views: $views, selectedViewModel: $selectedViewModel, viewType: $viewType, recommendations: $recommendations, genres: $genres, favourites: $favourites)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$LibraryScreenModelImpl &&
|
||||
const DeepCollectionEquality().equals(other._views, _views) &&
|
||||
(identical(other.selectedViewModel, selectedViewModel) ||
|
||||
other.selectedViewModel == selectedViewModel) &&
|
||||
const DeepCollectionEquality().equals(other._viewType, _viewType) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._recommendations, _recommendations) &&
|
||||
const DeepCollectionEquality().equals(other._genres, _genres) &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._favourites, _favourites));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType,
|
||||
const DeepCollectionEquality().hash(_views),
|
||||
selectedViewModel,
|
||||
const DeepCollectionEquality().hash(_viewType),
|
||||
const DeepCollectionEquality().hash(_recommendations),
|
||||
const DeepCollectionEquality().hash(_genres),
|
||||
const DeepCollectionEquality().hash(_favourites));
|
||||
|
||||
/// Create a copy of LibraryScreenModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
|
|
|
|||
|
|
@ -709,10 +709,14 @@ class LibrarySearchNotifier extends StateNotifier<LibrarySearchModel> {
|
|||
ref.read(filterProvider.notifier).saveFilter(LibraryFiltersModel.fromLibrarySearch(newName, state));
|
||||
|
||||
void updateFilter(LibraryFiltersModel model) {
|
||||
ref.read(filterProvider.notifier).saveFilter(LibraryFiltersModel.fromLibrarySearch(model.name, state).copyWith(
|
||||
ref.read(filterProvider.notifier).saveFilter(
|
||||
LibraryFiltersModel.fromLibrarySearch(
|
||||
model.name,
|
||||
state,
|
||||
isFavourite: model.isFavourite,
|
||||
id: model.id,
|
||||
));
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,92 +25,6 @@ mixin _$SessionInfoModel {
|
|||
|
||||
/// Serializes this SessionInfoModel to a JSON map.
|
||||
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
|
||||
|
||||
/// 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;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $SessionInfoModelCopyWith<$Res> {
|
||||
factory $SessionInfoModelCopyWith(
|
||||
SessionInfoModel value, $Res Function(SessionInfoModel) then) =
|
||||
_$SessionInfoModelCopyWithImpl<$Res, SessionInfoModel>;
|
||||
@useResult
|
||||
$Res call({String? playbackModel, TranscodingInfo? transCodeInfo});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$SessionInfoModelCopyWithImpl<$Res, $Val extends SessionInfoModel>
|
||||
implements $SessionInfoModelCopyWith<$Res> {
|
||||
_$SessionInfoModelCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// 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({
|
||||
Object? playbackModel = freezed,
|
||||
Object? transCodeInfo = freezed,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
playbackModel: freezed == playbackModel
|
||||
? _value.playbackModel
|
||||
: playbackModel // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
transCodeInfo: freezed == transCodeInfo
|
||||
? _value.transCodeInfo
|
||||
: transCodeInfo // ignore: cast_nullable_to_non_nullable
|
||||
as TranscodingInfo?,
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$SessionInfoModelImplCopyWith<$Res>
|
||||
implements $SessionInfoModelCopyWith<$Res> {
|
||||
factory _$$SessionInfoModelImplCopyWith(_$SessionInfoModelImpl value,
|
||||
$Res Function(_$SessionInfoModelImpl) then) =
|
||||
__$$SessionInfoModelImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({String? playbackModel, TranscodingInfo? transCodeInfo});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$SessionInfoModelImplCopyWithImpl<$Res>
|
||||
extends _$SessionInfoModelCopyWithImpl<$Res, _$SessionInfoModelImpl>
|
||||
implements _$$SessionInfoModelImplCopyWith<$Res> {
|
||||
__$$SessionInfoModelImplCopyWithImpl(_$SessionInfoModelImpl _value,
|
||||
$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({
|
||||
Object? playbackModel = freezed,
|
||||
Object? transCodeInfo = freezed,
|
||||
}) {
|
||||
return _then(_$SessionInfoModelImpl(
|
||||
playbackModel: freezed == playbackModel
|
||||
? _value.playbackModel
|
||||
: playbackModel // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
transCodeInfo: freezed == transCodeInfo
|
||||
? _value.transCodeInfo
|
||||
: transCodeInfo // ignore: cast_nullable_to_non_nullable
|
||||
as TranscodingInfo?,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
|
@ -131,30 +45,6 @@ class _$SessionInfoModelImpl extends _SessionInfoModel {
|
|||
return 'SessionInfoModel(playbackModel: $playbackModel, transCodeInfo: $transCodeInfo)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$SessionInfoModelImpl &&
|
||||
(identical(other.playbackModel, playbackModel) ||
|
||||
other.playbackModel == playbackModel) &&
|
||||
(identical(other.transCodeInfo, transCodeInfo) ||
|
||||
other.transCodeInfo == transCodeInfo));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, playbackModel, transCodeInfo);
|
||||
|
||||
/// 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 =>
|
||||
__$$SessionInfoModelImplCopyWithImpl<_$SessionInfoModelImpl>(
|
||||
this, _$identity);
|
||||
|
||||
@override
|
||||
Map<String, dynamic> toJson() {
|
||||
return _$$SessionInfoModelImplToJson(
|
||||
|
|
@ -176,11 +66,4 @@ 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(includeFromJson: false, includeToJson: false)
|
||||
_$$SessionInfoModelImplCopyWith<_$SessionInfoModelImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,9 +12,18 @@ import 'package:fladder/util/update_checker.dart';
|
|||
part 'update_provider.freezed.dart';
|
||||
part 'update_provider.g.dart';
|
||||
|
||||
final hasNewUpdateProvider = Provider<bool>((ref) =>
|
||||
ref.watch(clientSettingsProvider.select((value) => value.lastViewedUpdate)) !=
|
||||
ref.watch(updateProvider.select((value) => value.latestRelease?.version)));
|
||||
final hasNewUpdateProvider = Provider<bool>((ref) {
|
||||
final latestRelease = ref.watch(updateProvider).latestRelease;
|
||||
final lastViewedVersion = ref.watch(clientSettingsProvider.select((value) => value.lastViewedUpdate));
|
||||
|
||||
final latestVersion = latestRelease?.version;
|
||||
|
||||
if (latestVersion == null || lastViewedVersion == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return latestVersion != lastViewedVersion;
|
||||
});
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
class Update extends _$Update {
|
||||
|
|
@ -60,7 +69,7 @@ class Update extends _$Update {
|
|||
|
||||
Future<List<ReleaseInfo>> _fetchLatest() async {
|
||||
final latest = await updateChecker.fetchRecentReleases();
|
||||
state = state.copyWith(
|
||||
state = UpdatesModel(
|
||||
lastRelease: latest,
|
||||
);
|
||||
return latest;
|
||||
|
|
|
|||
|
|
@ -17,82 +17,6 @@ final _privateConstructorUsedError = UnsupportedError(
|
|||
/// @nodoc
|
||||
mixin _$UpdatesModel {
|
||||
List<ReleaseInfo> get lastRelease => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of UpdatesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$UpdatesModelCopyWith<UpdatesModel> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $UpdatesModelCopyWith<$Res> {
|
||||
factory $UpdatesModelCopyWith(
|
||||
UpdatesModel value, $Res Function(UpdatesModel) then) =
|
||||
_$UpdatesModelCopyWithImpl<$Res, UpdatesModel>;
|
||||
@useResult
|
||||
$Res call({List<ReleaseInfo> lastRelease});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$UpdatesModelCopyWithImpl<$Res, $Val extends UpdatesModel>
|
||||
implements $UpdatesModelCopyWith<$Res> {
|
||||
_$UpdatesModelCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of UpdatesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? lastRelease = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
lastRelease: null == lastRelease
|
||||
? _value.lastRelease
|
||||
: lastRelease // ignore: cast_nullable_to_non_nullable
|
||||
as List<ReleaseInfo>,
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$UpdatesModelImplCopyWith<$Res>
|
||||
implements $UpdatesModelCopyWith<$Res> {
|
||||
factory _$$UpdatesModelImplCopyWith(
|
||||
_$UpdatesModelImpl value, $Res Function(_$UpdatesModelImpl) then) =
|
||||
__$$UpdatesModelImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({List<ReleaseInfo> lastRelease});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$UpdatesModelImplCopyWithImpl<$Res>
|
||||
extends _$UpdatesModelCopyWithImpl<$Res, _$UpdatesModelImpl>
|
||||
implements _$$UpdatesModelImplCopyWith<$Res> {
|
||||
__$$UpdatesModelImplCopyWithImpl(
|
||||
_$UpdatesModelImpl _value, $Res Function(_$UpdatesModelImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of UpdatesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? lastRelease = null,
|
||||
}) {
|
||||
return _then(_$UpdatesModelImpl(
|
||||
lastRelease: null == lastRelease
|
||||
? _value._lastRelease
|
||||
: lastRelease // ignore: cast_nullable_to_non_nullable
|
||||
as List<ReleaseInfo>,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
|
@ -123,27 +47,6 @@ class _$UpdatesModelImpl extends _UpdatesModel with DiagnosticableTreeMixin {
|
|||
..add(DiagnosticsProperty('type', 'UpdatesModel'))
|
||||
..add(DiagnosticsProperty('lastRelease', lastRelease));
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$UpdatesModelImpl &&
|
||||
const DeepCollectionEquality()
|
||||
.equals(other._lastRelease, _lastRelease));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(
|
||||
runtimeType, const DeepCollectionEquality().hash(_lastRelease));
|
||||
|
||||
/// Create a copy of UpdatesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$UpdatesModelImplCopyWith<_$UpdatesModelImpl> get copyWith =>
|
||||
__$$UpdatesModelImplCopyWithImpl<_$UpdatesModelImpl>(this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _UpdatesModel extends UpdatesModel {
|
||||
|
|
@ -153,11 +56,4 @@ abstract class _UpdatesModel extends UpdatesModel {
|
|||
|
||||
@override
|
||||
List<ReleaseInfo> get lastRelease;
|
||||
|
||||
/// Create a copy of UpdatesModel
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$UpdatesModelImplCopyWith<_$UpdatesModelImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ part of 'update_provider.dart';
|
|||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$updateHash() => r'97f7aca4e255d654a9295e1e9e019536faf6455e';
|
||||
String _$updateHash() => r'e22205cb13e6b43df1296de90e39059f09bb80a8';
|
||||
|
||||
/// See also [Update].
|
||||
@ProviderFor(Update)
|
||||
|
|
|
|||
|
|
@ -178,7 +178,9 @@ class User extends _$User {
|
|||
if (e.id == model.id) {
|
||||
return model;
|
||||
} else {
|
||||
return e.copyWith(isFavourite: model.isFavourite && model.containsSameIds(e.ids) ? false : e.isFavourite);
|
||||
return e.copyWith(
|
||||
isFavourite: model.isFavourite && model.containsSameIds(e.ids) ? false : e.isFavourite,
|
||||
);
|
||||
}
|
||||
},
|
||||
).toList());
|
||||
|
|
|
|||
|
|
@ -71,26 +71,22 @@ final AutoRoute _dashboardRoute = CustomRoute(
|
|||
page: DashboardRoute.page,
|
||||
transitionsBuilder: TransitionsBuilders.fadeIn,
|
||||
initial: true,
|
||||
maintainState: false,
|
||||
path: 'dashboard',
|
||||
);
|
||||
final AutoRoute _favouritesRoute = CustomRoute(
|
||||
page: FavouritesRoute.page,
|
||||
transitionsBuilder: TransitionsBuilders.fadeIn,
|
||||
maintainState: false,
|
||||
path: 'favourites',
|
||||
);
|
||||
final AutoRoute _syncedRoute = CustomRoute(
|
||||
page: SyncedRoute.page,
|
||||
transitionsBuilder: TransitionsBuilders.fadeIn,
|
||||
maintainState: false,
|
||||
path: 'synced',
|
||||
);
|
||||
|
||||
final AutoRoute _librariesRoute = CustomRoute(
|
||||
page: LibraryRoute.page,
|
||||
transitionsBuilder: TransitionsBuilders.fadeIn,
|
||||
maintainState: false,
|
||||
path: 'libraries',
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -240,8 +240,8 @@ class _LibrarySearchScreenState extends ConsumerState<LibrarySearchScreen> {
|
|||
},
|
||||
refreshOnStart: false,
|
||||
child: CustomScrollView(
|
||||
physics: const AlwaysScrollableNoImplicitScrollPhysics(),
|
||||
controller: scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
slivers: [
|
||||
SliverAppBar(
|
||||
floating: !AdaptiveLayout.of(context).isDesktop,
|
||||
|
|
@ -530,25 +530,6 @@ class _LibrarySearchScreenState extends ConsumerState<LibrarySearchScreen> {
|
|||
}
|
||||
}
|
||||
|
||||
class AlwaysScrollableNoImplicitScrollPhysics extends ScrollPhysics {
|
||||
/// Creates scroll physics that always lets the user scroll.
|
||||
const AlwaysScrollableNoImplicitScrollPhysics({super.parent});
|
||||
|
||||
@override
|
||||
AlwaysScrollableNoImplicitScrollPhysics applyTo(ScrollPhysics? ancestor) {
|
||||
return AlwaysScrollableNoImplicitScrollPhysics(parent: buildParent(ancestor));
|
||||
}
|
||||
|
||||
@override
|
||||
bool get allowImplicitScrolling => false;
|
||||
|
||||
@override
|
||||
bool shouldAcceptUserOffset(ScrollMetrics position) => true;
|
||||
|
||||
@override
|
||||
bool recommendDeferredLoading(double velocity, ScrollMetrics metrics, BuildContext context) => false;
|
||||
}
|
||||
|
||||
class _LibrarySearchBottomBar extends ConsumerWidget {
|
||||
final Key uniqueKey;
|
||||
final ScrollController scrollController;
|
||||
|
|
|
|||
|
|
@ -348,11 +348,11 @@ class _PhotoViewerControllsState extends ConsumerState<PhotoViewerControls> with
|
|||
|
||||
Future<void> sharePhoto() async {
|
||||
final file = await DefaultCacheManager().getSingleFile(widget.photo.downloadPath(ref));
|
||||
await Share.shareXFiles([
|
||||
await SharePlus.instance.share(ShareParams(files: [
|
||||
XFile(
|
||||
file.path,
|
||||
),
|
||||
]);
|
||||
]));
|
||||
await file.delete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import 'package:fladder/l10n/generated/app_localizations.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/providers/settings/client_settings_provider.dart';
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ class _SettingsUpdateInformationState extends ConsumerState<SettingsUpdateInform
|
|||
padding: const EdgeInsets.symmetric(horizontal: 12),
|
||||
child: ListView(
|
||||
shrinkWrap: true,
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
children: [
|
||||
const Divider(),
|
||||
SettingsListTile(
|
||||
|
|
@ -116,6 +117,7 @@ class UpdateInformation extends StatelessWidget {
|
|||
);
|
||||
},
|
||||
),
|
||||
const Divider(),
|
||||
...releaseInfo.otherDownloads.entries.map(
|
||||
(entry) {
|
||||
return ElevatedButton(
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ class FladderTheme {
|
|||
trackHeight: 8,
|
||||
thumbColor: colorScheme?.onSurface,
|
||||
),
|
||||
cardTheme: CardTheme(
|
||||
cardTheme: CardThemeData(
|
||||
elevation: 3,
|
||||
clipBehavior: Clip.antiAlias,
|
||||
margin: EdgeInsets.zero,
|
||||
|
|
@ -95,7 +95,7 @@ class FladderTheme {
|
|||
),
|
||||
),
|
||||
navigationBarTheme: const NavigationBarThemeData(),
|
||||
dialogTheme: DialogTheme(shape: defaultShape),
|
||||
dialogTheme: DialogThemeData(shape: defaultShape),
|
||||
scrollbarTheme: ScrollbarThemeData(
|
||||
radius: const Radius.circular(16),
|
||||
thumbColor: WidgetStateProperty.resolveWith((states) {
|
||||
|
|
|
|||
|
|
@ -20,112 +20,6 @@ mixin _$ApplicationInfo {
|
|||
String get version => throw _privateConstructorUsedError;
|
||||
String get buildNumber => throw _privateConstructorUsedError;
|
||||
String get os => throw _privateConstructorUsedError;
|
||||
|
||||
/// Create a copy of ApplicationInfo
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
$ApplicationInfoCopyWith<ApplicationInfo> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class $ApplicationInfoCopyWith<$Res> {
|
||||
factory $ApplicationInfoCopyWith(
|
||||
ApplicationInfo value, $Res Function(ApplicationInfo) then) =
|
||||
_$ApplicationInfoCopyWithImpl<$Res, ApplicationInfo>;
|
||||
@useResult
|
||||
$Res call({String name, String version, String buildNumber, String os});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class _$ApplicationInfoCopyWithImpl<$Res, $Val extends ApplicationInfo>
|
||||
implements $ApplicationInfoCopyWith<$Res> {
|
||||
_$ApplicationInfoCopyWithImpl(this._value, this._then);
|
||||
|
||||
// ignore: unused_field
|
||||
final $Val _value;
|
||||
// ignore: unused_field
|
||||
final $Res Function($Val) _then;
|
||||
|
||||
/// Create a copy of ApplicationInfo
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? name = null,
|
||||
Object? version = null,
|
||||
Object? buildNumber = null,
|
||||
Object? os = null,
|
||||
}) {
|
||||
return _then(_value.copyWith(
|
||||
name: null == name
|
||||
? _value.name
|
||||
: name // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
version: null == version
|
||||
? _value.version
|
||||
: version // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
buildNumber: null == buildNumber
|
||||
? _value.buildNumber
|
||||
: buildNumber // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
os: null == os
|
||||
? _value.os
|
||||
: os // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
) as $Val);
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
abstract class _$$ApplicationInfoImplCopyWith<$Res>
|
||||
implements $ApplicationInfoCopyWith<$Res> {
|
||||
factory _$$ApplicationInfoImplCopyWith(_$ApplicationInfoImpl value,
|
||||
$Res Function(_$ApplicationInfoImpl) then) =
|
||||
__$$ApplicationInfoImplCopyWithImpl<$Res>;
|
||||
@override
|
||||
@useResult
|
||||
$Res call({String name, String version, String buildNumber, String os});
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
class __$$ApplicationInfoImplCopyWithImpl<$Res>
|
||||
extends _$ApplicationInfoCopyWithImpl<$Res, _$ApplicationInfoImpl>
|
||||
implements _$$ApplicationInfoImplCopyWith<$Res> {
|
||||
__$$ApplicationInfoImplCopyWithImpl(
|
||||
_$ApplicationInfoImpl _value, $Res Function(_$ApplicationInfoImpl) _then)
|
||||
: super(_value, _then);
|
||||
|
||||
/// Create a copy of ApplicationInfo
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline')
|
||||
@override
|
||||
$Res call({
|
||||
Object? name = null,
|
||||
Object? version = null,
|
||||
Object? buildNumber = null,
|
||||
Object? os = null,
|
||||
}) {
|
||||
return _then(_$ApplicationInfoImpl(
|
||||
name: null == name
|
||||
? _value.name
|
||||
: name // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
version: null == version
|
||||
? _value.version
|
||||
: version // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
buildNumber: null == buildNumber
|
||||
? _value.buildNumber
|
||||
: buildNumber // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
os: null == os
|
||||
? _value.os
|
||||
: os // ignore: cast_nullable_to_non_nullable
|
||||
as String,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/// @nodoc
|
||||
|
|
@ -146,30 +40,6 @@ class _$ApplicationInfoImpl extends _ApplicationInfo {
|
|||
final String buildNumber;
|
||||
@override
|
||||
final String os;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) ||
|
||||
(other.runtimeType == runtimeType &&
|
||||
other is _$ApplicationInfoImpl &&
|
||||
(identical(other.name, name) || other.name == name) &&
|
||||
(identical(other.version, version) || other.version == version) &&
|
||||
(identical(other.buildNumber, buildNumber) ||
|
||||
other.buildNumber == buildNumber) &&
|
||||
(identical(other.os, os) || other.os == os));
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, name, version, buildNumber, os);
|
||||
|
||||
/// Create a copy of ApplicationInfo
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
@pragma('vm:prefer-inline')
|
||||
_$$ApplicationInfoImplCopyWith<_$ApplicationInfoImpl> get copyWith =>
|
||||
__$$ApplicationInfoImplCopyWithImpl<_$ApplicationInfoImpl>(
|
||||
this, _$identity);
|
||||
}
|
||||
|
||||
abstract class _ApplicationInfo extends ApplicationInfo {
|
||||
|
|
@ -188,11 +58,4 @@ abstract class _ApplicationInfo extends ApplicationInfo {
|
|||
String get buildNumber;
|
||||
@override
|
||||
String get os;
|
||||
|
||||
/// Create a copy of ApplicationInfo
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
_$$ApplicationInfoImplCopyWith<_$ApplicationInfoImpl> get copyWith =>
|
||||
throw _privateConstructorUsedError;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,14 +41,12 @@ class FladderImage extends ConsumerWidget {
|
|||
key: Key(newImage.key),
|
||||
fit: StackFit.expand,
|
||||
children: [
|
||||
if (!disableBlur && useBluredPlaceHolder && newImage.hash.isNotEmpty)
|
||||
Image(
|
||||
fit: blurFit ?? fit,
|
||||
excludeFromSemantics: true,
|
||||
filterQuality: FilterQuality.low,
|
||||
image: BlurHashImage(
|
||||
newImage.hash,
|
||||
),
|
||||
if (!disableBlur && useBluredPlaceHolder && newImage.hash.isNotEmpty || blurOnly)
|
||||
BlurHash(
|
||||
hash: newImage.hash,
|
||||
optimizationMode: BlurHashOptimizationMode.approximation,
|
||||
color: Colors.transparent,
|
||||
imageFit: blurFit ?? fit,
|
||||
),
|
||||
if (!blurOnly)
|
||||
FadeInImage(
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/l10n/generated/app_localizations.dart';
|
||||
|
||||
///Only use for base translations, under normal circumstances ALWAYS use the widgets provided context
|
||||
final localizationContextProvider = StateProvider<BuildContext?>((ref) => null);
|
||||
|
||||
|
|
|
|||
|
|
@ -84,10 +84,7 @@ class _SideNavigationBarState extends ConsumerState<SideNavigationBar> {
|
|||
),
|
||||
child: (context) => widget.child,
|
||||
),
|
||||
AnimatedFadeSize(
|
||||
alignment: Alignment.topLeft,
|
||||
child: AnimatedContainer(
|
||||
duration: const Duration(milliseconds: 250),
|
||||
Container(
|
||||
color: Theme.of(context).colorScheme.surface.withValues(alpha: shouldExpand ? 0.95 : 0.85),
|
||||
width: shouldExpand ? expandedWidth : collapsedWidth,
|
||||
child: MouseRegion(
|
||||
|
|
@ -239,7 +236,6 @@ class _SideNavigationBarState extends ConsumerState<SideNavigationBar> {
|
|||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
#include <media_kit_video/media_kit_video_plugin.h>
|
||||
#include <screen_retriever_linux/screen_retriever_linux_plugin.h>
|
||||
#include <url_launcher_linux/url_launcher_plugin.h>
|
||||
#include <volume_controller/volume_controller_plugin.h>
|
||||
#include <window_manager/window_manager_plugin.h>
|
||||
|
||||
void fl_register_plugins(FlPluginRegistry* registry) {
|
||||
|
|
@ -41,6 +42,9 @@ void fl_register_plugins(FlPluginRegistry* registry) {
|
|||
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
|
||||
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
|
||||
g_autoptr(FlPluginRegistrar) volume_controller_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "VolumeControllerPlugin");
|
||||
volume_controller_plugin_register_with_registrar(volume_controller_registrar);
|
||||
g_autoptr(FlPluginRegistrar) window_manager_registrar =
|
||||
fl_plugin_registry_get_registrar_for_plugin(registry, "WindowManagerPlugin");
|
||||
window_manager_plugin_register_with_registrar(window_manager_registrar);
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ list(APPEND FLUTTER_PLUGIN_LIST
|
|||
media_kit_video
|
||||
screen_retriever_linux
|
||||
url_launcher_linux
|
||||
volume_controller
|
||||
window_manager
|
||||
)
|
||||
|
||||
|
|
|
|||
288
pubspec.lock
288
pubspec.lock
|
|
@ -50,10 +50,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: archive
|
||||
sha256: "7dcbd0f87fe5f61cb28da39a1a8b70dbc106e2fe0516f7836eb7bb2948481a12"
|
||||
sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.5"
|
||||
version: "4.0.7"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -66,18 +66,18 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: async
|
||||
sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
|
||||
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.12.0"
|
||||
version: "2.13.0"
|
||||
audio_service:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: audio_service
|
||||
sha256: "887ddf15fce31fd12aa8044c3bffd14c58929fb20e31d96284fe3aaf48315ac6"
|
||||
sha256: cb122c7c2639d2a992421ef96b67948ad88c5221da3365ccef1031393a76e044
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.18.17"
|
||||
version: "0.18.18"
|
||||
audio_service_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -130,10 +130,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: background_downloader
|
||||
sha256: c3814aa0466368a4c1c32d24bc73ded752edacf06731ead43857a3ac992ed52d
|
||||
sha256: d3016a9eb584f6cb16384c8b4a008943c39119730d60046044349b5dbbda4ccb
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "8.9.5"
|
||||
version: "9.2.2"
|
||||
boolean_selector:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -210,10 +210,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: built_value
|
||||
sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4
|
||||
sha256: "082001b5c3dc495d4a42f1d5789990505df20d8547d42507c29050af6933ee27"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "8.9.5"
|
||||
version: "8.10.1"
|
||||
cached_network_image:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -258,18 +258,18 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: checked_yaml
|
||||
sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
|
||||
sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
version: "2.0.4"
|
||||
chewie:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: chewie
|
||||
sha256: df6711bc3ba165ad19cb496e350250be5673327f79c61c9cc8a15088ed8007ed
|
||||
sha256: "4d9554a8f87cc2dc6575dfd5ad20a4375015a29edd567fd6733febe6365e2566"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.11.1"
|
||||
version: "1.11.3"
|
||||
chopper:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -330,10 +330,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: connectivity_plus
|
||||
sha256: "04bf81bb0b77de31557b58d052b24b3eee33f09a6e7a8c68a3e247c7df19ec27"
|
||||
sha256: "051849e2bd7c7b3bc5844ea0d096609ddc3a859890ec3a9ac4a65a2620cc1f99"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.1.3"
|
||||
version: "6.1.4"
|
||||
connectivity_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -442,10 +442,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: desktop_drop
|
||||
sha256: "03abf1c0443afdd1d65cf8fa589a2f01c67a11da56bbb06f6ea1de79d5628e94"
|
||||
sha256: bd21017e0415632c85f6b813c846bc8c9811742507776dcf6abf91a14d946e98
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.5.0"
|
||||
version: "0.6.0"
|
||||
diffutil_dart:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -474,26 +474,26 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: extended_image
|
||||
sha256: "85199f9233e03abc2ce2e68cbb2991648666af4a527ae4e6250935be8edfddae"
|
||||
sha256: f6cbb1d798f51262ed1a3d93b4f1f2aa0d76128df39af18ecb77fa740f88b2e0
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "9.1.0"
|
||||
version: "10.0.1"
|
||||
extended_image_library:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: extended_image_library
|
||||
sha256: e61dafd94400fff6ef7ed1523d445ff3af137f198f3228e4a3107bc5b4bec5d1
|
||||
sha256: "1f9a24d3a00c2633891c6a7b5cab2807999eb2d5b597e5133b63f49d113811fe"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.6"
|
||||
version: "5.0.1"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fake_async
|
||||
sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
|
||||
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.2"
|
||||
version: "1.3.3"
|
||||
ffi:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -514,10 +514,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: file_picker
|
||||
sha256: ab13ae8ef5580a411c458d6207b6774a6c237d77ac37011b13994879f68a8810
|
||||
sha256: "77f8e81d22d2a07d0dee2c62e1dda71dc1da73bf43bb2d45af09727406167964"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "8.3.7"
|
||||
version: "10.1.9"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -543,10 +543,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_blurhash
|
||||
sha256: "5e67678e479ac639069d7af1e133f4a4702311491188ff3e0227486430db0c06"
|
||||
sha256: e97b9aff13b9930bbaa74d0d899fec76e3f320aba3190322dcc5d32104e3d25d
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.8.2"
|
||||
version: "0.9.1"
|
||||
flutter_cache_manager:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -559,42 +559,42 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_custom_tabs
|
||||
sha256: ec5424e196f145ac32e92ddfaee07b883cd4f16f9972812fa8f67fb318b34a4c
|
||||
sha256: ac3543d7b4e0ac6ecdf3744360039ebb573656c0ce759149d228e1934d4f7535
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.1"
|
||||
version: "2.4.0"
|
||||
flutter_custom_tabs_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_custom_tabs_android
|
||||
sha256: "09bc6297fca815a721d21fa168335ad9d266ac3df483628e716d788b7caf191e"
|
||||
sha256: "925fc5e7d27372ee523962dcfcd4b77c0443549482c284dd7897b77815547621"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
version: "2.3.1"
|
||||
flutter_custom_tabs_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_custom_tabs_ios
|
||||
sha256: "4c93cba13e51e6edafd6f6984811b31fa774ef0ef58a58b93164f7eff18d5dc3"
|
||||
sha256: c61a58d30b29ccb09ea4da0daa335bbf8714bcf8798d0d9f4f58a0b83c6c421b
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
version: "2.4.0"
|
||||
flutter_custom_tabs_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_custom_tabs_platform_interface
|
||||
sha256: d6056832fceb163cabb751b3dd8a4919c03677cad7e4728de8ebcf84cfa4a074
|
||||
sha256: "54a6ff5cc7571cb266a47ade9f6f89d1980b9ed2dba18162a6d5300afc408449"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
version: "2.3.0"
|
||||
flutter_custom_tabs_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_custom_tabs_web
|
||||
sha256: f90a09501c8be7db4604da1d504f39b73c7525dc60f2ffce4cdea0f015e42eb0
|
||||
sha256: "236e035c73b6d3ef0a2f85cd8b6b815954e7559c9f9d50a15ed2e53a297b58b0"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.0"
|
||||
version: "2.3.0"
|
||||
flutter_highlight:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -655,10 +655,10 @@ packages:
|
|||
dependency: "direct dev"
|
||||
description:
|
||||
name: flutter_lints
|
||||
sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1"
|
||||
sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.0.0"
|
||||
version: "6.0.0"
|
||||
flutter_localizations:
|
||||
dependency: "direct main"
|
||||
description: flutter
|
||||
|
|
@ -668,10 +668,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: flutter_plugin_android_lifecycle
|
||||
sha256: "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3"
|
||||
sha256: f948e346c12f8d5480d2825e03de228d0eb8c3a737e4cdaa122267b89c022b5e
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.27"
|
||||
version: "2.0.28"
|
||||
flutter_riverpod:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -700,18 +700,18 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_sticky_header
|
||||
sha256: "7f76d24d119424ca0c95c146b8627a457e8de8169b0d584f766c2c545db8f8be"
|
||||
sha256: fb4fda6164ef3e5fc7ab73aba34aad253c17b7c6ecf738fa26f1a905b7d2d1e2
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.0"
|
||||
version: "0.8.0"
|
||||
flutter_svg:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_svg
|
||||
sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b
|
||||
sha256: d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.17"
|
||||
version: "2.1.0"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
|
|
@ -734,18 +734,18 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_widget_from_html
|
||||
sha256: f3967a5b42896662efdd420b5adaf8a7d3692b0f44462a07c80e3b4c173b1a02
|
||||
sha256: "0dfebf7417df2149de93926520c703db9be0c9017e60dc5cf43cebed37f4d11e"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.15.3"
|
||||
version: "0.16.0"
|
||||
flutter_widget_from_html_core:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_widget_from_html_core
|
||||
sha256: b1048fd119a14762e2361bd057da608148a895477846d6149109b2151d2f7abf
|
||||
sha256: f77ea1aa1ba29a38fcce04483f44f12382f541b9e8c2150df37166c23bbbd30f
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.15.2"
|
||||
version: "0.16.0"
|
||||
font_awesome_flutter:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -782,50 +782,50 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: fvp
|
||||
sha256: "724802f4c3f4d22cd2913356e91208096ba5aaab1db71c9e12b66bef4cf6f799"
|
||||
sha256: a2b6f305a5e559abc21b1be06ca0ffb5bb6b5b523d6d45eb8e78d53f3b89e9a2
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.31.0"
|
||||
version: "0.32.1"
|
||||
fwfh_cached_network_image:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fwfh_cached_network_image
|
||||
sha256: "8e44226801bfba27930673953afce8af44da7e92573be93f60385d9865a089dd"
|
||||
sha256: "8f4896109ff3e42424ccacf9058ba3afe5d575b58946c8ac646ac85ae882ce23"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.14.3"
|
||||
version: "0.16.0"
|
||||
fwfh_chewie:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fwfh_chewie
|
||||
sha256: "37bde9cedfb6dc5546176f7f0c56af1e814966cb33ec58f16c9565ed93ccb704"
|
||||
sha256: "1ce7c56894db19881a997813b933835dec142878431370c0eb40f1f878396a25"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.14.8"
|
||||
version: "0.16.0"
|
||||
fwfh_just_audio:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fwfh_just_audio
|
||||
sha256: "38dc2c55803bd3cef33042c473e0c40b891ad4548078424641a32032f6a1245f"
|
||||
sha256: "17816168de1fd180fd3d1fd4500e23136630a248a6889b553e2d2067e133c1a6"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.15.2"
|
||||
version: "0.16.0"
|
||||
fwfh_svg:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fwfh_svg
|
||||
sha256: "550b1014d12b5528d8bdb6e3b44b58721f3fb1f65d7a852d1623a817008bdfc4"
|
||||
sha256: "82f3eb378186fe39b3e2e01ed48a1830d34b0b9a237d951077e74ff0d99e2ac3"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.8.3"
|
||||
version: "0.16.0"
|
||||
fwfh_url_launcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: fwfh_url_launcher
|
||||
sha256: b9f5d55a5ae2c2c07243ba33f7ba49ac9544bdb2f4c16d8139df9ccbebe3449c
|
||||
sha256: "5cf1b1baa16740abaef8eb41a8e16ba430295d5ec20b880e4cb94e2924774f0a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.9.1"
|
||||
version: "0.16.0"
|
||||
fwfh_webview:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -862,18 +862,18 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: html
|
||||
sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec"
|
||||
sha256: "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.15.5"
|
||||
version: "0.15.6"
|
||||
http:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: http
|
||||
sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
|
||||
sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
version: "1.4.0"
|
||||
http_client_helper:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -926,10 +926,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: intl
|
||||
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
|
||||
sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.19.0"
|
||||
version: "0.20.2"
|
||||
io:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -998,18 +998,18 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: just_audio_web
|
||||
sha256: "8c7e779892e180cbc9ffb5a3c52f6e90e1cbbf4a63694cc450972a7edbd2bb6d"
|
||||
sha256: "6ba8a2a7e87d57d32f0f7b42856ade3d6a9fbe0f1a11fabae0a4f00bb73f0663"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.4.15"
|
||||
version: "0.4.16"
|
||||
leak_tracker:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: leak_tracker
|
||||
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
|
||||
sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "10.0.8"
|
||||
version: "10.0.9"
|
||||
leak_tracker_flutter_testing:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1030,10 +1030,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: lints
|
||||
sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7
|
||||
sha256: a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.1.1"
|
||||
version: "6.0.0"
|
||||
local_auth:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -1046,10 +1046,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: local_auth_android
|
||||
sha256: "0abe4e72f55c785b28900de52a2522c86baba0988838b5dc22241b072ecccd74"
|
||||
sha256: "63ad7ca6396290626dc0cb34725a939e4cfe965d80d36112f08d49cf13a8136e"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.48"
|
||||
version: "1.0.49"
|
||||
local_auth_darwin:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1230,10 +1230,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: overflow_view
|
||||
sha256: e75e834cd93f7abe9d4edc371a17ee92373147b9e973fdc05373ec3d3f163075
|
||||
sha256: aa39c40f8229e6dcd243e544d707457ff630bb99063d2fd0be8b31f8da902e27
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.4.0"
|
||||
version: "0.5.0"
|
||||
package_config:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1294,10 +1294,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_android
|
||||
sha256: "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12"
|
||||
sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.16"
|
||||
version: "2.2.17"
|
||||
path_provider_foundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1382,10 +1382,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: pointer_interceptor_web
|
||||
sha256: "7a7087782110f8c1827170660b09f8aa893e0e9a61431dbbe2ac3fc482e8c044"
|
||||
sha256: "460b600e71de6fcea2b3d5f662c92293c049c4319e27f0829310e5a953b3ee2a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.10.2+1"
|
||||
version: "0.10.3"
|
||||
pool:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1398,18 +1398,18 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: posix
|
||||
sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a
|
||||
sha256: f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.0.1"
|
||||
version: "6.0.2"
|
||||
provider:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: provider
|
||||
sha256: "489024f942069c2920c844ee18bb3d467c69e48955a4f32d1677f71be103e310"
|
||||
sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.1.4"
|
||||
version: "6.1.5"
|
||||
pub_semver:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1430,10 +1430,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: qs_dart
|
||||
sha256: c775dbe663cd59365050220b3499dee259b72ad6b352a3e087a15bd77e161b74
|
||||
sha256: f8d9f9f75fa6e6e72437995ccb549a27d52ec06236cfad1f4e5eceb755427649
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.3+1"
|
||||
version: "1.3.7+1"
|
||||
recase:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1510,10 +1510,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: screen_brightness
|
||||
sha256: eca7bd9d2c3c688bcad14855361cab7097839400b6b4a56f62b7ae511c709958
|
||||
sha256: "20b43489fbb12316d64633d5abb731f8d3e2c49871f65c8e434c6225d0f58fcf"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.2"
|
||||
version: "2.1.4"
|
||||
screen_brightness_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1526,10 +1526,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: screen_brightness_ios
|
||||
sha256: bfd9bfd0ac852e7aa170e7e356cc27195b2a75037b72c8c6336cf6fb2115cffb
|
||||
sha256: "2493953340ecfe8f4f13f61db50ce72533a55b0bbd58ba1402893feecf3727f5"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
version: "2.1.2"
|
||||
screen_brightness_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1538,6 +1538,14 @@ packages:
|
|||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
screen_brightness_ohos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: screen_brightness_ohos
|
||||
sha256: "61e313e46eaee3f83dd4e85a2a91f8a81be02c154bc9e60830a7c0fd76dac286"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
screen_brightness_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1606,18 +1614,18 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: share_plus
|
||||
sha256: fce43200aa03ea87b91ce4c3ac79f0cecd52e2a7a56c7a4185023c271fbfa6da
|
||||
sha256: b2961506569e28948d75ec346c28775bb111986bb69dc6a20754a457e3d97fa0
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "10.1.4"
|
||||
version: "11.0.0"
|
||||
share_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: share_plus_platform_interface
|
||||
sha256: cc012a23fc2d479854e6c80150696c4a5f5bb62cb89af4de1c505cf78d0a5d0b
|
||||
sha256: "1032d392bc5d2095a77447a805aa3f804d2ae6a4d5eef5e6ebb3bd94c1bc19ef"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.0.2"
|
||||
version: "6.0.0"
|
||||
shared_preferences:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
|
@ -1630,10 +1638,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_android
|
||||
sha256: "3ec7210872c4ba945e3244982918e502fa2bfb5230dff6832459ca0e1879b7ad"
|
||||
sha256: "20cbd561f743a342c76c151d6ddb93a9ce6005751e7aa458baad3858bfbfb6ac"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.8"
|
||||
version: "2.4.10"
|
||||
shared_preferences_foundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1947,10 +1955,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_android
|
||||
sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4"
|
||||
sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.3.15"
|
||||
version: "6.3.16"
|
||||
url_launcher_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -1987,10 +1995,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_web
|
||||
sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9"
|
||||
sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.0"
|
||||
version: "2.4.1"
|
||||
url_launcher_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -2011,10 +2019,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: value_layout_builder
|
||||
sha256: c02511ea91ca5c643b514a33a38fa52536f74aa939ec367d02938b5ede6807fa
|
||||
sha256: ab4b7d98bac8cefeb9713154d43ee0477490183f5aa23bb4ffa5103d9bbf6275
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.4.0"
|
||||
version: "0.5.0"
|
||||
vector_graphics:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -2035,10 +2043,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: vector_graphics_compiler
|
||||
sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad"
|
||||
sha256: "557a315b7d2a6dbb0aaaff84d857967ce6bdc96a63dc6ee2a57ce5a6ee5d3331"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.16"
|
||||
version: "1.1.17"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -2051,26 +2059,26 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: video_player
|
||||
sha256: "7d78f0cfaddc8c19d4cb2d3bebe1bfef11f2103b0a03e5398b303a1bf65eeb14"
|
||||
sha256: "0d55b1f1a31e5ad4c4967bfaa8ade0240b07d20ee4af1dfef5f531056512961a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.9.5"
|
||||
version: "2.10.0"
|
||||
video_player_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: video_player_android
|
||||
sha256: ae7d4f1b41e3ac6d24dd9b9d5d6831b52d74a61bdd90a7a6262a33d8bb97c29a
|
||||
sha256: "4a5135754a62dbc827a64a42ef1f8ed72c962e191c97e2d48744225c2b9ebb73"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.8.2"
|
||||
version: "2.8.7"
|
||||
video_player_avfoundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: video_player_avfoundation
|
||||
sha256: "84b4752745eeccb6e75865c9aab39b3d28eb27ba5726d352d45db8297fbd75bc"
|
||||
sha256: "9ee764e5cd2fc1e10911ae8ad588e1a19db3b6aa9a6eb53c127c42d3a3c3f22f"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.7.0"
|
||||
version: "2.7.1"
|
||||
video_player_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -2083,10 +2091,10 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: video_player_web
|
||||
sha256: "3ef40ea6d72434edbfdba4624b90fd3a80a0740d260667d91e7ecd2d79e13476"
|
||||
sha256: e8bba2e5d1e159d5048c9a491bb2a7b29c535c612bb7d10c1e21107f5bd365ba
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.4"
|
||||
version: "2.3.5"
|
||||
visibility_detector:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -2099,34 +2107,34 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: vm_service
|
||||
sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
|
||||
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "14.3.1"
|
||||
version: "15.0.0"
|
||||
volume_controller:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: volume_controller
|
||||
sha256: e82fd689bb8e1fe8e64be3fa5946ff8699058f8cf9f4c1679acdba20cda7f5bd
|
||||
sha256: d75039e69c0d90e7810bfd47e3eedf29ff8543ea7a10392792e81f9bded7edf5
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.3.3"
|
||||
version: "3.4.0"
|
||||
wakelock_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: wakelock_plus
|
||||
sha256: b90fbcc8d7bdf3b883ea9706d9d76b9978cb1dfa4351fcc8014d6ec31a493354
|
||||
sha256: a474e314c3e8fb5adef1f9ae2d247e57467ad557fa7483a2b895bc1b421c5678
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.11"
|
||||
version: "1.3.2"
|
||||
wakelock_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: wakelock_plus_platform_interface
|
||||
sha256: "70e780bc99796e1db82fe764b1e7dcb89a86f1e5b3afb1db354de50f2e41eb7a"
|
||||
sha256: e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.2"
|
||||
version: "1.2.3"
|
||||
watcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -2155,66 +2163,66 @@ packages:
|
|||
dependency: transitive
|
||||
description:
|
||||
name: web_socket
|
||||
sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83"
|
||||
sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.1.6"
|
||||
version: "1.0.1"
|
||||
web_socket_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: web_socket_channel
|
||||
sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5"
|
||||
sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.2"
|
||||
version: "3.0.3"
|
||||
webview_flutter:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter
|
||||
sha256: "889a0a678e7c793c308c68739996227c9661590605e70b1f6cf6b9a6634f7aec"
|
||||
sha256: c3e4fe614b1c814950ad07186007eff2f2e5dd2935eba7b9a9a1af8e5885f1ba
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.10.0"
|
||||
version: "4.13.0"
|
||||
webview_flutter_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter_android
|
||||
sha256: e09150b28a07933839adef0e4a088bb43e8c8d9e6b93025b01882d4067a58ab0
|
||||
sha256: f6e6afef6e234801da77170f7a1847ded8450778caf2fe13979d140484be3678
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.3.4"
|
||||
version: "4.7.0"
|
||||
webview_flutter_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter_platform_interface
|
||||
sha256: d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d
|
||||
sha256: f0dc2dc3a2b1e3a6abdd6801b9355ebfeb3b8f6cde6b9dc7c9235909c4a1f147
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.10.0"
|
||||
version: "2.13.1"
|
||||
webview_flutter_wkwebview:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter_wkwebview
|
||||
sha256: c14455137ce60a68e1ccaf4e8f2dae8cebcb3465ddaa2fcfb57584fb7c5afe4d
|
||||
sha256: a3d461fe3467014e05f3ac4962e5fdde2a4bf44c561cb53e9ae5c586600fdbc3
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.18.5"
|
||||
version: "3.22.0"
|
||||
win32:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: win32
|
||||
sha256: dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f
|
||||
sha256: "329edf97fdd893e0f1e3b9e88d6a0e627128cc17cc316a8d67fda8f1451178ba"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.12.0"
|
||||
version: "5.13.0"
|
||||
window_manager:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: window_manager
|
||||
sha256: "732896e1416297c63c9e3fb95aea72d0355f61390263982a47fd519169dc5059"
|
||||
sha256: "51d50168ab267d344b975b15390426b1243600d436770d3f13de67e55b05ec16"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.4.3"
|
||||
version: "0.5.0"
|
||||
xdg_directories:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
@ -2248,5 +2256,5 @@ packages:
|
|||
source: hosted
|
||||
version: "3.1.3"
|
||||
sdks:
|
||||
dart: ">=3.7.0 <4.0.0"
|
||||
flutter: ">=3.27.0"
|
||||
dart: ">=3.8.0 <4.0.0"
|
||||
flutter: ">=3.32.0"
|
||||
|
|
|
|||
72
pubspec.yaml
72
pubspec.yaml
|
|
@ -40,11 +40,11 @@ dependencies:
|
|||
iconsax_plus: ^1.0.0
|
||||
|
||||
# Network and HTTP
|
||||
chopper: ^8.0.4
|
||||
chopper: ^8.1.0
|
||||
cached_network_image: ^3.4.1
|
||||
http: ^1.3.0
|
||||
http: ^1.4.0
|
||||
flutter_cache_manager: ^3.4.1
|
||||
connectivity_plus: ^6.1.3
|
||||
connectivity_plus: ^6.1.4
|
||||
|
||||
# State Management
|
||||
flutter_riverpod: ^2.6.1
|
||||
|
|
@ -58,59 +58,59 @@ dependencies:
|
|||
logging: ^1.3.0
|
||||
|
||||
# Internationalization
|
||||
intl: ^0.19.0
|
||||
intl: ^0.20.2
|
||||
|
||||
# Local Storage
|
||||
shared_preferences: ^2.5.1
|
||||
shared_preferences: ^2.5.3
|
||||
path_provider: ^2.1.5
|
||||
|
||||
# Media
|
||||
media_kit: ^1.2.0 # Primary package.
|
||||
media_kit_video: ^1.2.5 # For video rendering.
|
||||
media_kit_libs_video: ^1.0.5 # Native video dependencies.
|
||||
audio_service: ^0.18.16
|
||||
fvp: ^0.31.0
|
||||
video_player: ^2.9.2
|
||||
media_kit_video: ^1.3.0 # For video rendering.
|
||||
media_kit_libs_video: ^1.0.6 # Native video dependencies.
|
||||
audio_service: ^0.18.18
|
||||
fvp: ^0.32.1
|
||||
video_player: ^2.10.0
|
||||
|
||||
# UI Components
|
||||
dynamic_color: ^1.7.0
|
||||
flutter_svg: ^2.0.17
|
||||
flutter_svg: ^2.1.0
|
||||
animations: ^2.0.11
|
||||
automatic_animated_list: ^1.1.0
|
||||
page_transition: ^2.2.1
|
||||
sticky_headers: ^0.3.0+2
|
||||
flutter_staggered_grid_view: ^0.7.0
|
||||
sliver_tools: ^0.2.12
|
||||
square_progress_indicator: ^0.0.7
|
||||
flutter_blurhash: ^0.8.2
|
||||
extended_image: ^9.1.0
|
||||
flutter_widget_from_html: ^0.15.3
|
||||
square_progress_indicator: ^0.0.8
|
||||
flutter_blurhash: ^0.9.1
|
||||
extended_image: ^10.0.1
|
||||
flutter_widget_from_html: ^0.16.0
|
||||
font_awesome_flutter: ^10.8.0
|
||||
reorderable_grid: ^1.0.10
|
||||
overflow_view: ^0.4.0
|
||||
flutter_sticky_header: ^0.7.0
|
||||
overflow_view: ^0.5.0
|
||||
flutter_sticky_header: ^0.8.0
|
||||
markdown_widget: ^2.3.2+8
|
||||
|
||||
# Navigation
|
||||
auto_route: ^9.3.0+1
|
||||
url_launcher: ^6.3.1
|
||||
flutter_custom_tabs: ^2.1.0
|
||||
flutter_custom_tabs: ^2.4.0
|
||||
|
||||
# Utility
|
||||
path: ^1.9.0
|
||||
file_picker: ^8.3.1
|
||||
path: ^1.9.1
|
||||
file_picker: ^10.1.9
|
||||
transparent_image: ^2.0.1
|
||||
universal_html: ^2.2.4
|
||||
collection: ^1.19.0
|
||||
collection: ^1.19.1
|
||||
|
||||
# Device and System
|
||||
local_auth: ^2.3.0
|
||||
package_info_plus: ^8.1.4
|
||||
wakelock_plus: ^1.2.10
|
||||
screen_brightness: ^2.1.1
|
||||
window_manager: ^0.4.3
|
||||
package_info_plus: ^8.3.0
|
||||
wakelock_plus: ^1.3.2
|
||||
screen_brightness: ^2.1.4
|
||||
window_manager: ^0.5.0
|
||||
smtc_windows: ^1.0.0
|
||||
background_downloader: ^8.9.4
|
||||
background_downloader: ^9.2.2
|
||||
screen_retriever: ^0.2.0
|
||||
|
||||
# Data
|
||||
|
|
@ -118,14 +118,14 @@ dependencies:
|
|||
isar_flutter_libs: ^4.0.0-dev.14 # contains Isar Core
|
||||
|
||||
# Other
|
||||
async: ^2.11.0
|
||||
async: ^2.13.0
|
||||
xid: ^1.2.1
|
||||
desktop_drop: ^0.5.0
|
||||
desktop_drop: ^0.6.0
|
||||
flexible_scrollbar: ^0.1.3
|
||||
flutter_typeahead: ^5.2.0
|
||||
share_plus: ^10.1.4
|
||||
archive: ^4.0.2
|
||||
dart_mappable: ^4.3.0
|
||||
share_plus: ^11.0.0
|
||||
archive: ^4.0.7
|
||||
dart_mappable: ^4.5.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
|
@ -136,17 +136,17 @@ dev_dependencies:
|
|||
# activated in the `analysis_options.yaml` file located at the root of your
|
||||
# package. See that file for information about deactivating specific lint
|
||||
# rules and activating additional ones.
|
||||
flutter_lints: ^5.0.0
|
||||
build_runner: ^2.4.14
|
||||
chopper_generator: ^8.0.4
|
||||
flutter_lints: ^6.0.0
|
||||
build_runner: ^2.4.15
|
||||
chopper_generator: ^8.1.0
|
||||
json_serializable: ^6.9.0
|
||||
custom_lint: ^0.7.0
|
||||
freezed: ^2.5.7
|
||||
swagger_dart_code_generator: ^3.0.1
|
||||
riverpod_generator: ^2.6.3
|
||||
dart_mappable_builder: ^4.3.0
|
||||
dart_mappable_builder: ^4.3.1+1
|
||||
auto_route_generator: ^9.0.0
|
||||
icons_launcher: ^3.0.0
|
||||
icons_launcher: ^3.0.1
|
||||
|
||||
flutter:
|
||||
# The following line ensures that the Material Icons font is
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue