mirror of
https://github.com/immich-app/immich
synced 2025-11-07 17:27:20 +00:00
feat(mobile): Adding filters feature to mobile image editor (#13174)
* Adding filters button * Filter selection page * routing * Localization * Add Filters to this page * More Filters yay! * Final filters * Logic for saving the image * Fixes * Formmating * Finalizing, formating, and fixes * Layout fix * chores * Chore: Static code analysis * fix translation file --------- Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
parent
c5c492eb4f
commit
52c700e9b0
6 changed files with 1081 additions and 21 deletions
|
|
@ -29,6 +29,7 @@ import 'package:immich_mobile/pages/common/splash_screen.page.dart';
|
|||
import 'package:immich_mobile/pages/common/tab_controller.page.dart';
|
||||
import 'package:immich_mobile/pages/editing/edit.page.dart';
|
||||
import 'package:immich_mobile/pages/editing/crop.page.dart';
|
||||
import 'package:immich_mobile/pages/editing/filter.page.dart';
|
||||
import 'package:immich_mobile/pages/library/archive.page.dart';
|
||||
import 'package:immich_mobile/pages/library/favorite.page.dart';
|
||||
import 'package:immich_mobile/pages/library/library.page.dart';
|
||||
|
|
@ -135,6 +136,7 @@ class AppRouter extends RootStackRouter {
|
|||
),
|
||||
AutoRoute(page: EditImageRoute.page),
|
||||
AutoRoute(page: CropImageRoute.page),
|
||||
AutoRoute(page: FilterImageRoute.page),
|
||||
AutoRoute(page: FavoritesRoute.page, guards: [_authGuard, _duplicateGuard]),
|
||||
AutoRoute(page: AllVideosRoute.page, guards: [_authGuard, _duplicateGuard]),
|
||||
AutoRoute(
|
||||
|
|
|
|||
|
|
@ -755,6 +755,58 @@ class FavoritesRoute extends PageRouteInfo<void> {
|
|||
);
|
||||
}
|
||||
|
||||
/// generated route for
|
||||
/// [FilterImagePage]
|
||||
class FilterImageRoute extends PageRouteInfo<FilterImageRouteArgs> {
|
||||
FilterImageRoute({
|
||||
Key? key,
|
||||
required Image image,
|
||||
required Asset asset,
|
||||
List<PageRouteInfo>? children,
|
||||
}) : super(
|
||||
FilterImageRoute.name,
|
||||
args: FilterImageRouteArgs(
|
||||
key: key,
|
||||
image: image,
|
||||
asset: asset,
|
||||
),
|
||||
initialChildren: children,
|
||||
);
|
||||
|
||||
static const String name = 'FilterImageRoute';
|
||||
|
||||
static PageInfo page = PageInfo(
|
||||
name,
|
||||
builder: (data) {
|
||||
final args = data.argsAs<FilterImageRouteArgs>();
|
||||
return FilterImagePage(
|
||||
key: args.key,
|
||||
image: args.image,
|
||||
asset: args.asset,
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
class FilterImageRouteArgs {
|
||||
const FilterImageRouteArgs({
|
||||
this.key,
|
||||
required this.image,
|
||||
required this.asset,
|
||||
});
|
||||
|
||||
final Key? key;
|
||||
|
||||
final Image image;
|
||||
|
||||
final Asset asset;
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'FilterImageRouteArgs{key: $key, image: $image, asset: $asset}';
|
||||
}
|
||||
}
|
||||
|
||||
/// generated route for
|
||||
/// [GalleryViewerPage]
|
||||
class GalleryViewerRoute extends PageRouteInfo<GalleryViewerRouteArgs> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue