mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-11 06:08:04 -06:00
feat: Further migrations to go_router, add onclick to document previews
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
|
||||
import 'package:hive_flutter/adapters.dart';
|
||||
import 'package:paperless_api/paperless_api.dart';
|
||||
@@ -16,9 +17,14 @@ import 'package:paperless_mobile/features/documents/cubit/documents_cubit.dart';
|
||||
import 'package:paperless_mobile/features/home/view/model/api_version.dart';
|
||||
import 'package:paperless_mobile/features/inbox/cubit/inbox_cubit.dart';
|
||||
import 'package:paperless_mobile/features/labels/cubit/label_cubit.dart';
|
||||
import 'package:paperless_mobile/features/login/cubit/authentication_cubit.dart';
|
||||
import 'package:paperless_mobile/features/saved_view/cubit/saved_view_cubit.dart';
|
||||
import 'package:paperless_mobile/features/settings/view/widgets/global_settings_builder.dart';
|
||||
import 'package:paperless_mobile/features/tasks/cubit/task_status_cubit.dart';
|
||||
import 'package:paperless_mobile/routes/typed/branches/landing_route.dart';
|
||||
import 'package:paperless_mobile/routes/typed/top_level/login_route.dart';
|
||||
import 'package:paperless_mobile/routes/typed/top_level/switching_accounts_route.dart';
|
||||
import 'package:paperless_mobile/routes/typed/top_level/verify_identity_route.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class HomeShellWidget extends StatelessWidget {
|
||||
@@ -57,7 +63,10 @@ class HomeShellWidget extends StatelessWidget {
|
||||
.listenable(keys: [currentUserId]),
|
||||
builder: (context, box, _) {
|
||||
final currentLocalUser = box.get(currentUserId)!;
|
||||
print(currentLocalUser.paperlessUser.canViewDocuments);
|
||||
print(currentLocalUser.paperlessUser.canViewTags);
|
||||
return MultiProvider(
|
||||
key: ValueKey(currentUserId),
|
||||
providers: [
|
||||
Provider.value(value: currentLocalUser),
|
||||
Provider.value(value: apiVersion),
|
||||
@@ -162,16 +171,22 @@ class HomeShellWidget extends StatelessWidget {
|
||||
create: (context) =>
|
||||
DocumentScannerCubit(context.read()),
|
||||
),
|
||||
if (currentLocalUser.paperlessUser.canViewDocuments &&
|
||||
currentLocalUser.paperlessUser.canViewTags)
|
||||
Provider(
|
||||
create: (context) => InboxCubit(
|
||||
Provider(
|
||||
create: (context) {
|
||||
final inboxCubit = InboxCubit(
|
||||
context.read(),
|
||||
context.read(),
|
||||
context.read(),
|
||||
context.read(),
|
||||
).initialize(),
|
||||
),
|
||||
);
|
||||
if (currentLocalUser
|
||||
.paperlessUser.canViewDocuments &&
|
||||
currentLocalUser.paperlessUser.canViewTags) {
|
||||
inboxCubit.initialize();
|
||||
}
|
||||
return inboxCubit;
|
||||
},
|
||||
),
|
||||
Provider(
|
||||
create: (context) => SavedViewCubit(
|
||||
context.read(),
|
||||
|
||||
@@ -46,24 +46,24 @@ class ScaffoldWithNavigationBarState extends State<ScaffoldWithNavigationBar> {
|
||||
if (widget.authenticatedUser.canViewDocuments) {
|
||||
widget.navigationShell.goBranch(index);
|
||||
} else {
|
||||
showSnackBar(
|
||||
context, "You do not have permission to access this page.");
|
||||
showSnackBar(context,
|
||||
"You do not have the required permissions to access this page.");
|
||||
}
|
||||
break;
|
||||
case _scannerIndex:
|
||||
if (widget.authenticatedUser.canCreateDocuments) {
|
||||
widget.navigationShell.goBranch(index);
|
||||
} else {
|
||||
showSnackBar(
|
||||
context, "You do not have permission to access this page.");
|
||||
showSnackBar(context,
|
||||
"You do not have the required permissions to access this page.");
|
||||
}
|
||||
break;
|
||||
case _labelsIndex:
|
||||
if (widget.authenticatedUser.canViewAnyLabel) {
|
||||
widget.navigationShell.goBranch(index);
|
||||
} else {
|
||||
showSnackBar(
|
||||
context, "You do not have permission to access this page.");
|
||||
showSnackBar(context,
|
||||
"You do not have the required permissions to access this page.");
|
||||
}
|
||||
break;
|
||||
case _inboxIndex:
|
||||
@@ -71,8 +71,8 @@ class ScaffoldWithNavigationBarState extends State<ScaffoldWithNavigationBar> {
|
||||
widget.authenticatedUser.canViewTags) {
|
||||
widget.navigationShell.goBranch(index);
|
||||
} else {
|
||||
showSnackBar(
|
||||
context, "You do not have permission to access this page.");
|
||||
showSnackBar(context,
|
||||
"You do not have the required permissions to access this page.");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -132,7 +132,7 @@ class ScaffoldWithNavigationBarState extends State<ScaffoldWithNavigationBar> {
|
||||
if (!(widget.authenticatedUser.canViewDocuments &&
|
||||
widget.authenticatedUser.canViewTags)) {
|
||||
return Icon(
|
||||
Icons.close,
|
||||
Icons.inbox_outlined,
|
||||
color: disabledColor,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user