mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
fix(mobile): show all places don't show all places (#9193)
fix(mobile): show all places doesn't show all places
This commit is contained in:
parent
f057fe045e
commit
c0495ca23f
7 changed files with 46 additions and 15 deletions
|
|
@ -3,7 +3,7 @@ import 'package:immich_mobile/models/search/search_curated_content.model.dart';
|
|||
|
||||
import 'package:immich_mobile/modules/search/services/search.service.dart';
|
||||
|
||||
final getPlacesProvider =
|
||||
final getPreviewPlacesProvider =
|
||||
FutureProvider.autoDispose<List<SearchCuratedContent>>((ref) async {
|
||||
final SearchService searchService = ref.watch(searchServiceProvider);
|
||||
|
||||
|
|
@ -27,3 +27,25 @@ final getPlacesProvider =
|
|||
|
||||
return curatedContent;
|
||||
});
|
||||
|
||||
final getAllPlacesProvider =
|
||||
FutureProvider.autoDispose<List<SearchCuratedContent>>((ref) async {
|
||||
final SearchService searchService = ref.watch(searchServiceProvider);
|
||||
|
||||
final assetPlaces = await searchService.getAllPlaces();
|
||||
|
||||
if (assetPlaces == null) {
|
||||
return [];
|
||||
}
|
||||
|
||||
final curatedContent = assetPlaces
|
||||
.map(
|
||||
(data) => SearchCuratedContent(
|
||||
label: data.exifInfo!.city!,
|
||||
id: data.id,
|
||||
),
|
||||
)
|
||||
.toList();
|
||||
|
||||
return curatedContent;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -119,4 +119,13 @@ class SearchService {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Future<List<AssetResponseDto>?> getAllPlaces() async {
|
||||
try {
|
||||
return await _apiService.searchApi.getAssetsByCity();
|
||||
} catch (error, stackTrace) {
|
||||
_log.severe("Failed to getAllPlaces", error, stackTrace);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,13 +8,13 @@ import 'package:immich_mobile/modules/search/providers/search_page_state.provide
|
|||
import 'package:immich_mobile/modules/search/ui/explore_grid.dart';
|
||||
|
||||
@RoutePage()
|
||||
class CuratedLocationPage extends HookConsumerWidget {
|
||||
const CuratedLocationPage({super.key});
|
||||
class AllPlacesPage extends HookConsumerWidget {
|
||||
const AllPlacesPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
AsyncValue<List<SearchCuratedContent>> places =
|
||||
ref.watch(getPlacesProvider);
|
||||
ref.watch(getAllPlacesProvider);
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
|
|
@ -27,7 +27,7 @@ class SearchPage extends HookConsumerWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final places = ref.watch(getPlacesProvider);
|
||||
final places = ref.watch(getPreviewPlacesProvider);
|
||||
final curatedPeople = ref.watch(getAllPeopleProvider);
|
||||
final isMapEnabled =
|
||||
ref.watch(serverInfoProvider.select((v) => v.serverFeatures.map));
|
||||
|
|
@ -174,7 +174,7 @@ class SearchPage extends HookConsumerWidget {
|
|||
SearchRowTitle(
|
||||
title: "search_page_places".tr(),
|
||||
onViewAllPressed: () =>
|
||||
context.pushRoute(const CuratedLocationRoute()),
|
||||
context.pushRoute(const AllPlacesRoute()),
|
||||
top: 0,
|
||||
),
|
||||
const SizedBox(height: 10.0),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue