feat(mobile): Archive feature on mobile ()

* update asset to include isArchive property

* Not display archived assets on timeline

* replace share button to archive button

* Added archive page

* Add bottom nav bar

* clean up homepage

* remove deadcode

* improve on sync is archive

* show archive asset correctly

* better merge condition

* Added back renderList to re-rendering don't jump around

* Better way to handle showing archive assets

* complete ArchiveSelectionNotifier

* toggle archive

* remove deadcode

* fix unit tests

* update assets in DB when changing assets

* update asset state to reflect archived status

* allow to archive assets via multi-select from timeline

* fixed logic

* Add options to bulk unarchive

* regenerate api

* Change position of toast message

---------

Co-authored-by: Fynn Petersen-Frey <zoodyy@users.noreply.github.com>
This commit is contained in:
Alex 2023-04-17 00:02:07 -05:00 committed by GitHub
parent 635eee9e5e
commit 2e5cd986dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 523 additions and 114 deletions
mobile/lib/routing

View file

@ -240,6 +240,12 @@ class _$AppRouter extends RootStackRouter {
),
);
},
ArchiveRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
child: const ArchivePage(),
);
},
HomeRoute.name: (routeData) {
return MaterialPageX<dynamic>(
routeData: routeData,
@ -499,6 +505,14 @@ class _$AppRouter extends RootStackRouter {
AppLogDetailRoute.name,
path: '/app-log-detail-page',
),
RouteConfig(
ArchiveRoute.name,
path: '/archive-page',
guards: [
authGuard,
duplicateGuard,
],
),
];
}
@ -1022,6 +1036,18 @@ class AppLogDetailRouteArgs {
}
}
/// generated route for
/// [ArchivePage]
class ArchiveRoute extends PageRouteInfo<void> {
const ArchiveRoute()
: super(
ArchiveRoute.name,
path: '/archive-page',
);
static const String name = 'ArchiveRoute';
}
/// generated route for
/// [HomePage]
class HomeRoute extends PageRouteInfo<void> {