minor fix
This commit is contained in:
parent
f385f16209
commit
2d8d49a282
8 changed files with 36 additions and 32 deletions
|
@ -31,6 +31,7 @@ abstract class CollectionFilter extends Equatable implements Comparable<Collecti
|
|||
];
|
||||
|
||||
static CollectionFilter? fromJson(String jsonString) {
|
||||
try {
|
||||
final jsonMap = jsonDecode(jsonString);
|
||||
if (jsonMap is Map<String, dynamic>) {
|
||||
final type = jsonMap['type'];
|
||||
|
@ -55,6 +56,9 @@ abstract class CollectionFilter extends Equatable implements Comparable<Collecti
|
|||
return TypeFilter.fromMap(jsonMap);
|
||||
}
|
||||
}
|
||||
} catch (error, stack) {
|
||||
debugPrint('failed to parse filter from json=$jsonString error=$error\n$stack');
|
||||
}
|
||||
debugPrint('failed to parse filter from json=$jsonString');
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ class CollectionLens with ChangeNotifier {
|
|||
|
||||
CollectionLens({
|
||||
required this.source,
|
||||
Iterable<CollectionFilter?>? filters,
|
||||
Set<CollectionFilter?>? filters,
|
||||
this.id,
|
||||
this.listenToSource = true,
|
||||
this.fixedSelection,
|
||||
|
|
|
@ -123,7 +123,7 @@ class _CoverSelectionDialogState extends State<CoverSelectionDialog> {
|
|||
builder: (context) => ItemPickDialog(
|
||||
collection: CollectionLens(
|
||||
source: context.read<CollectionSource>(),
|
||||
filters: [filter],
|
||||
filters: {filter},
|
||||
),
|
||||
),
|
||||
fullscreenDialog: true,
|
||||
|
|
|
@ -50,7 +50,7 @@ class CollectionNavTile extends StatelessWidget {
|
|||
builder: (context) => CollectionPage(
|
||||
collection: CollectionLens(
|
||||
source: context.read<CollectionSource>(),
|
||||
filters: [filter],
|
||||
filters: {filter},
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
@ -70,7 +70,7 @@ class FilterNavigationPage<T extends CollectionFilter> extends StatelessWidget {
|
|||
builder: (context) => CollectionPage(
|
||||
collection: CollectionLens(
|
||||
source: source,
|
||||
filters: [filter],
|
||||
filters: {filter},
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
@ -41,7 +41,7 @@ class HomePage extends StatefulWidget {
|
|||
class _HomePageState extends State<HomePage> {
|
||||
AvesEntry? _viewerEntry;
|
||||
String? _shortcutRouteName, _shortcutSearchQuery;
|
||||
List<String>? _shortcutFilters;
|
||||
Set<String>? _shortcutFilters;
|
||||
|
||||
static const allowedShortcutRoutes = [CollectionPage.routeName, AlbumListPage.routeName, SearchPage.routeName];
|
||||
|
||||
|
@ -108,7 +108,7 @@ class _HomePageState extends State<HomePage> {
|
|||
_shortcutRouteName = extraRoute;
|
||||
}
|
||||
final extraFilters = intentData['filters'];
|
||||
_shortcutFilters = extraFilters != null ? (extraFilters as List).cast<String>() : null;
|
||||
_shortcutFilters = extraFilters != null ? (extraFilters as List).cast<String>().toSet() : null;
|
||||
}
|
||||
}
|
||||
context.read<ValueNotifier<AppMode>>().value = appMode;
|
||||
|
@ -152,12 +152,12 @@ class _HomePageState extends State<HomePage> {
|
|||
}
|
||||
|
||||
String routeName;
|
||||
Iterable<CollectionFilter?>? filters;
|
||||
Set<CollectionFilter?>? filters;
|
||||
if (appMode == AppMode.pickExternal) {
|
||||
routeName = CollectionPage.routeName;
|
||||
} else {
|
||||
routeName = _shortcutRouteName ?? settings.homePage.routeName;
|
||||
filters = (_shortcutFilters ?? []).map(CollectionFilter.fromJson);
|
||||
filters = (_shortcutFilters ?? {}).map(CollectionFilter.fromJson).toSet();
|
||||
}
|
||||
final source = context.read<CollectionSource>();
|
||||
switch (routeName) {
|
||||
|
|
|
@ -259,7 +259,7 @@ class CollectionSearchDelegate {
|
|||
builder: (context) => CollectionPage(
|
||||
collection: CollectionLens(
|
||||
source: source,
|
||||
filters: [filter],
|
||||
filters: {filter},
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
@ -295,7 +295,7 @@ class StatsPage extends StatelessWidget {
|
|||
builder: (context) => CollectionPage(
|
||||
collection: CollectionLens(
|
||||
source: source,
|
||||
filters: [filter],
|
||||
filters: {filter},
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
Loading…
Reference in a new issue