From 0f408cc0c4bb2e864926083ed2f2c49f7e8ec738 Mon Sep 17 00:00:00 2001 From: franzap <_@franzap.com> Date: Sat, 12 Oct 2024 14:52:19 -0300 Subject: [PATCH] Fix curation sets --- lib/models/app_curation_set.dart | 7 +++---- lib/screens/app_detail_screen.dart | 6 ++++-- lib/widgets/categories_container.dart | 7 ++++++- lib/widgets/latest_releases_container.dart | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/lib/models/app_curation_set.dart b/lib/models/app_curation_set.dart index ae7bbc5..cd1a4fc 100644 --- a/lib/models/app_curation_set.dart +++ b/lib/models/app_curation_set.dart @@ -24,10 +24,9 @@ mixin AppCurationSetAdapter on Adapter { @override DeserializedData deserialize(Object? data, {String? key}) { final list = data is Iterable ? data : [data as Map]; - for (final e in list) { - final map = e as Map; - final aValues = (map['tags'] as Iterable).where((t) => t[0] == 'a'); - map['apps'] = aValues.map((e) => e[1].split(':')[2]); + for (final Map map in list) { + final tagMap = tagsToMap(map['tags']); + map['apps'] = tagMap['a']; } return super.deserialize(data); } diff --git a/lib/screens/app_detail_screen.dart b/lib/screens/app_detail_screen.dart index 782e7ab..221cfc6 100644 --- a/lib/screens/app_detail_screen.dart +++ b/lib/screens/app_detail_screen.dart @@ -33,8 +33,10 @@ class AppDetailScreen extends HookConsumerWidget { // TODO: Workaround for bug in watchAll (when remote=true) // TODO: Just fetch the signer, no need to refetch again?? - useFuture(useMemoized(() => - ref.apps.findOne(model.id!, remote: true, params: {'includes': true}))); + useFuture(useMemoized(() { + return ref.apps + .findOne(model.identifier!, remote: true, params: {'includes': true}); + })); final app = state.model ?? model; diff --git a/lib/widgets/categories_container.dart b/lib/widgets/categories_container.dart index 5762f5c..7aa5b19 100644 --- a/lib/widgets/categories_container.dart +++ b/lib/widgets/categories_container.dart @@ -4,6 +4,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_layout_grid/flutter_layout_grid.dart'; import 'package:gap/gap.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:purplebase/purplebase.dart'; import 'package:zapstore/main.data.dart'; import 'package:zapstore/models/app.dart'; import 'package:zapstore/widgets/app_card.dart'; @@ -21,7 +22,11 @@ class AppCategoriesNotifier .findAll(params: {'#d': appSets.map((s) => s.appIds).flattened}); } - final curationSet = ref.appCurationSets.findOneLocalById(arg.name)!; + final curationSet = ref.appCurationSets.findOneLocalById(( + 30267, + '78ce6faa72264387284e647ba6938995735ec8c7d5c5a65737e55130f026307d', + arg.name + ).formatted)!; return ref.apps.appAdapter.findWhereIdInLocal(curationSet.appIds); } } diff --git a/lib/widgets/latest_releases_container.dart b/lib/widgets/latest_releases_container.dart index 667434f..15754c6 100644 --- a/lib/widgets/latest_releases_container.dart +++ b/lib/widgets/latest_releases_container.dart @@ -38,7 +38,7 @@ class LatestReleasesContainer extends HookConsumerWidget { class LatestReleasesAppNotifier extends AutoDisposeAsyncNotifier> { @override Future> build() async { - final timer = Timer.periodic(Duration(minutes: 10), (_) => fetch()); + final timer = Timer.periodic(Duration(minutes: 1), (_) => fetch()); ref.onDispose(timer.cancel); fetch(); // .catchError((e) {