mirror of
https://github.com/immich-app/immich.git
synced 2025-01-06 03:46:47 +01:00
chore(mobile): remove things sections (#3309)
Co-authored-by: Alex Tran <Alex.Tran@conductix.com>
This commit is contained in:
parent
f9032866e7
commit
a2568f711f
6 changed files with 2 additions and 137 deletions
|
@ -63,12 +63,3 @@ final getCuratedLocationProvider =
|
||||||
var curatedLocation = await searchService.getCuratedLocation();
|
var curatedLocation = await searchService.getCuratedLocation();
|
||||||
return curatedLocation ?? [];
|
return curatedLocation ?? [];
|
||||||
});
|
});
|
||||||
|
|
||||||
final getCuratedObjectProvider =
|
|
||||||
FutureProvider.autoDispose<List<CuratedObjectsResponseDto>>((ref) async {
|
|
||||||
final SearchService searchService = ref.watch(searchServiceProvider);
|
|
||||||
|
|
||||||
var curatedObject = await searchService.getCuratedObjects();
|
|
||||||
|
|
||||||
return curatedObject ?? [];
|
|
||||||
});
|
|
||||||
|
|
|
@ -1,55 +0,0 @@
|
||||||
import 'package:auto_route/auto_route.dart';
|
|
||||||
import 'package:easy_localization/easy_localization.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
||||||
import 'package:immich_mobile/modules/search/models/curated_content.dart';
|
|
||||||
import 'package:immich_mobile/modules/search/providers/search_page_state.provider.dart';
|
|
||||||
import 'package:immich_mobile/modules/search/ui/explore_grid.dart';
|
|
||||||
import 'package:immich_mobile/shared/ui/immich_loading_indicator.dart';
|
|
||||||
import 'package:immich_mobile/utils/capitalize.dart';
|
|
||||||
import 'package:openapi/api.dart';
|
|
||||||
|
|
||||||
class CuratedObjectPage extends HookConsumerWidget {
|
|
||||||
const CuratedObjectPage({
|
|
||||||
super.key,
|
|
||||||
});
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
|
||||||
AsyncValue<List<CuratedObjectsResponseDto>> curatedObjects =
|
|
||||||
ref.watch(getCuratedObjectProvider);
|
|
||||||
|
|
||||||
return Scaffold(
|
|
||||||
appBar: AppBar(
|
|
||||||
title: Text(
|
|
||||||
'curated_object_page_title',
|
|
||||||
style: TextStyle(
|
|
||||||
color: Theme.of(context).primaryColor,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
fontSize: 16.0,
|
|
||||||
),
|
|
||||||
).tr(),
|
|
||||||
leading: IconButton(
|
|
||||||
onPressed: () => AutoRouter.of(context).pop(),
|
|
||||||
icon: const Icon(Icons.arrow_back_ios_rounded),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: curatedObjects.when(
|
|
||||||
loading: () => const Center(child: ImmichLoadingIndicator()),
|
|
||||||
error: (err, stack) => Center(
|
|
||||||
child: Text('Error: $err'),
|
|
||||||
),
|
|
||||||
data: (curatedLocations) => ExploreGrid(
|
|
||||||
curatedContent: curatedLocations
|
|
||||||
.map(
|
|
||||||
(l) => CuratedContent(
|
|
||||||
label: l.object.capitalize(),
|
|
||||||
id: l.id,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.toList(),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -25,7 +25,6 @@ class SearchPage extends HookConsumerWidget {
|
||||||
Widget build(BuildContext context, WidgetRef ref) {
|
Widget build(BuildContext context, WidgetRef ref) {
|
||||||
final isSearchEnabled = ref.watch(searchPageStateProvider).isSearchEnabled;
|
final isSearchEnabled = ref.watch(searchPageStateProvider).isSearchEnabled;
|
||||||
final curatedLocation = ref.watch(getCuratedLocationProvider);
|
final curatedLocation = ref.watch(getCuratedLocationProvider);
|
||||||
final curatedObjects = ref.watch(getCuratedObjectProvider);
|
|
||||||
final curatedPeople = ref.watch(getCuratedPeopleProvider);
|
final curatedPeople = ref.watch(getCuratedPeopleProvider);
|
||||||
var isDarkTheme = Theme.of(context).brightness == Brightness.dark;
|
var isDarkTheme = Theme.of(context).brightness == Brightness.dark;
|
||||||
double imageSize = MediaQuery.of(context).size.width / 3;
|
double imageSize = MediaQuery.of(context).size.width / 3;
|
||||||
|
@ -128,40 +127,6 @@ class SearchPage extends HookConsumerWidget {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
buildThings() {
|
|
||||||
return SizedBox(
|
|
||||||
height: imageSize,
|
|
||||||
child: curatedObjects.when(
|
|
||||||
loading: () => SizedBox(
|
|
||||||
height: imageSize,
|
|
||||||
child: const Center(child: ImmichLoadingIndicator()),
|
|
||||||
),
|
|
||||||
error: (err, stack) => SizedBox(
|
|
||||||
height: imageSize,
|
|
||||||
child: Center(child: Text('Error: $err')),
|
|
||||||
),
|
|
||||||
data: (objects) => CuratedRow(
|
|
||||||
content: objects
|
|
||||||
.map(
|
|
||||||
(o) => CuratedContent(
|
|
||||||
id: o.id,
|
|
||||||
label: o.object,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.toList(),
|
|
||||||
imageSize: imageSize,
|
|
||||||
onTap: (content, index) {
|
|
||||||
AutoRouter.of(context).push(
|
|
||||||
SearchResultRoute(
|
|
||||||
searchTerm: 'm:${content.label}',
|
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: ImmichSearchBar(
|
appBar: ImmichSearchBar(
|
||||||
searchFocusNode: searchFocusNode,
|
searchFocusNode: searchFocusNode,
|
||||||
|
@ -191,13 +156,6 @@ class SearchPage extends HookConsumerWidget {
|
||||||
top: 0,
|
top: 0,
|
||||||
),
|
),
|
||||||
buildPlaces(),
|
buildPlaces(),
|
||||||
SearchRowTitle(
|
|
||||||
title: "search_page_things".tr(),
|
|
||||||
onViewAllPressed: () => AutoRouter.of(context).push(
|
|
||||||
const CuratedObjectRoute(),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
buildThings(),
|
|
||||||
const SizedBox(height: 24.0),
|
const SizedBox(height: 24.0),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
|
|
|
@ -30,7 +30,6 @@ import 'package:immich_mobile/modules/search/views/all_motion_videos_page.dart';
|
||||||
import 'package:immich_mobile/modules/search/views/all_people_page.dart';
|
import 'package:immich_mobile/modules/search/views/all_people_page.dart';
|
||||||
import 'package:immich_mobile/modules/search/views/all_videos_page.dart';
|
import 'package:immich_mobile/modules/search/views/all_videos_page.dart';
|
||||||
import 'package:immich_mobile/modules/search/views/curated_location_page.dart';
|
import 'package:immich_mobile/modules/search/views/curated_location_page.dart';
|
||||||
import 'package:immich_mobile/modules/search/views/curated_object_page.dart';
|
|
||||||
import 'package:immich_mobile/modules/search/views/person_result_page.dart';
|
import 'package:immich_mobile/modules/search/views/person_result_page.dart';
|
||||||
import 'package:immich_mobile/modules/search/views/recently_added_page.dart';
|
import 'package:immich_mobile/modules/search/views/recently_added_page.dart';
|
||||||
import 'package:immich_mobile/modules/search/views/search_page.dart';
|
import 'package:immich_mobile/modules/search/views/search_page.dart';
|
||||||
|
@ -87,7 +86,6 @@ part 'router.gr.dart';
|
||||||
AutoRoute(page: BackupControllerPage, guards: [AuthGuard, DuplicateGuard]),
|
AutoRoute(page: BackupControllerPage, guards: [AuthGuard, DuplicateGuard]),
|
||||||
AutoRoute(page: SearchResultPage, guards: [AuthGuard, DuplicateGuard]),
|
AutoRoute(page: SearchResultPage, guards: [AuthGuard, DuplicateGuard]),
|
||||||
AutoRoute(page: CuratedLocationPage, guards: [AuthGuard, DuplicateGuard]),
|
AutoRoute(page: CuratedLocationPage, guards: [AuthGuard, DuplicateGuard]),
|
||||||
AutoRoute(page: CuratedObjectPage, guards: [AuthGuard, DuplicateGuard]),
|
|
||||||
AutoRoute(page: CreateAlbumPage, guards: [AuthGuard, DuplicateGuard]),
|
AutoRoute(page: CreateAlbumPage, guards: [AuthGuard, DuplicateGuard]),
|
||||||
AutoRoute(page: FavoritesPage, guards: [AuthGuard, DuplicateGuard]),
|
AutoRoute(page: FavoritesPage, guards: [AuthGuard, DuplicateGuard]),
|
||||||
AutoRoute(page: AllVideosPage, guards: [AuthGuard, DuplicateGuard]),
|
AutoRoute(page: AllVideosPage, guards: [AuthGuard, DuplicateGuard]),
|
||||||
|
|
|
@ -111,12 +111,6 @@ class _$AppRouter extends RootStackRouter {
|
||||||
child: const CuratedLocationPage(),
|
child: const CuratedLocationPage(),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
CuratedObjectRoute.name: (routeData) {
|
|
||||||
return MaterialPageX<dynamic>(
|
|
||||||
routeData: routeData,
|
|
||||||
child: const CuratedObjectPage(),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
CreateAlbumRoute.name: (routeData) {
|
CreateAlbumRoute.name: (routeData) {
|
||||||
final args = routeData.argsAs<CreateAlbumRouteArgs>();
|
final args = routeData.argsAs<CreateAlbumRouteArgs>();
|
||||||
return MaterialPageX<dynamic>(
|
return MaterialPageX<dynamic>(
|
||||||
|
@ -441,14 +435,6 @@ class _$AppRouter extends RootStackRouter {
|
||||||
duplicateGuard,
|
duplicateGuard,
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
RouteConfig(
|
|
||||||
CuratedObjectRoute.name,
|
|
||||||
path: '/curated-object-page',
|
|
||||||
guards: [
|
|
||||||
authGuard,
|
|
||||||
duplicateGuard,
|
|
||||||
],
|
|
||||||
),
|
|
||||||
RouteConfig(
|
RouteConfig(
|
||||||
CreateAlbumRoute.name,
|
CreateAlbumRoute.name,
|
||||||
path: '/create-album-page',
|
path: '/create-album-page',
|
||||||
|
@ -507,7 +493,7 @@ class _$AppRouter extends RootStackRouter {
|
||||||
),
|
),
|
||||||
RouteConfig(
|
RouteConfig(
|
||||||
AlbumViewerRoute.name,
|
AlbumViewerRoute.name,
|
||||||
path: '/',
|
path: '/album-viewer-page',
|
||||||
guards: [
|
guards: [
|
||||||
authGuard,
|
authGuard,
|
||||||
duplicateGuard,
|
duplicateGuard,
|
||||||
|
@ -839,18 +825,6 @@ class CuratedLocationRoute extends PageRouteInfo<void> {
|
||||||
static const String name = 'CuratedLocationRoute';
|
static const String name = 'CuratedLocationRoute';
|
||||||
}
|
}
|
||||||
|
|
||||||
/// generated route for
|
|
||||||
/// [CuratedObjectPage]
|
|
||||||
class CuratedObjectRoute extends PageRouteInfo<void> {
|
|
||||||
const CuratedObjectRoute()
|
|
||||||
: super(
|
|
||||||
CuratedObjectRoute.name,
|
|
||||||
path: '/curated-object-page',
|
|
||||||
);
|
|
||||||
|
|
||||||
static const String name = 'CuratedObjectRoute';
|
|
||||||
}
|
|
||||||
|
|
||||||
/// generated route for
|
/// generated route for
|
||||||
/// [CreateAlbumPage]
|
/// [CreateAlbumPage]
|
||||||
class CreateAlbumRoute extends PageRouteInfo<CreateAlbumRouteArgs> {
|
class CreateAlbumRoute extends PageRouteInfo<CreateAlbumRouteArgs> {
|
||||||
|
@ -1020,7 +994,7 @@ class AlbumViewerRoute extends PageRouteInfo<AlbumViewerRouteArgs> {
|
||||||
required int albumId,
|
required int albumId,
|
||||||
}) : super(
|
}) : super(
|
||||||
AlbumViewerRoute.name,
|
AlbumViewerRoute.name,
|
||||||
path: '/',
|
path: '/album-viewer-page',
|
||||||
args: AlbumViewerRouteArgs(
|
args: AlbumViewerRouteArgs(
|
||||||
key: key,
|
key: key,
|
||||||
albumId: albumId,
|
albumId: albumId,
|
||||||
|
|
|
@ -33,7 +33,6 @@ class TabNavigationObserver extends AutoRouterObserver {
|
||||||
if (route.name == 'SearchRoute') {
|
if (route.name == 'SearchRoute') {
|
||||||
// Refresh Location State
|
// Refresh Location State
|
||||||
ref.invalidate(getCuratedLocationProvider);
|
ref.invalidate(getCuratedLocationProvider);
|
||||||
ref.invalidate(getCuratedObjectProvider);
|
|
||||||
ref.invalidate(getCuratedPeopleProvider);
|
ref.invalidate(getCuratedPeopleProvider);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue