feat: bugfixes, finished go_router migration, implemented better visibility of states

This commit is contained in:
Anton Stubenbord
2023-10-06 01:17:08 +02:00
parent ad23df4f89
commit a2c5ced3b7
102 changed files with 1512 additions and 3090 deletions

View File

@@ -16,6 +16,8 @@ class DocumentSearchCubit extends Cubit<DocumentSearchState>
with DocumentPagingBlocMixin {
@override
final PaperlessDocumentsApi api;
@override
final ConnectivityStatusService connectivityStatusService;
@override
final DocumentChangedNotifier notifier;
@@ -25,6 +27,7 @@ class DocumentSearchCubit extends Cubit<DocumentSearchState>
this.api,
this.notifier,
this._userAppState,
this.connectivityStatusService,
) : super(
DocumentSearchState(
searchHistory: _userAppState.documentSearchHistory),
@@ -120,9 +123,4 @@ class DocumentSearchCubit extends Cubit<DocumentSearchState>
@override
Future<void> onFilterUpdated(DocumentFilter filter) async {}
@override
// TODO: implement connectivityStatusService
ConnectivityStatusService get connectivityStatusService =>
throw UnimplementedError();
}

View File

@@ -8,6 +8,8 @@ import 'package:paperless_mobile/features/document_search/cubit/document_search_
import 'package:paperless_mobile/features/document_search/view/document_search_page.dart';
import 'package:paperless_mobile/features/settings/view/manage_accounts_page.dart';
import 'package:paperless_mobile/features/settings/view/widgets/user_avatar.dart';
import 'package:paperless_mobile/features/sharing/cubit/receive_share_cubit.dart';
import 'package:paperless_mobile/features/tasks/model/pending_tasks_notifier.dart';
import 'package:paperless_mobile/generated/l10n/app_localizations.dart';
import 'package:provider/provider.dart';
@@ -51,7 +53,21 @@ class _DocumentSearchBarState extends State<DocumentSearchBar> {
crossAxisAlignment: CrossAxisAlignment.center,
children: [
IconButton(
icon: const Icon(Icons.menu),
icon: ListenableBuilder(
listenable:
context.read<ConsumptionChangeNotifier>(),
builder: (context, child) {
return Badge(
isLabelVisible: context
.read<ConsumptionChangeNotifier>()
.pendingFiles
.isNotEmpty,
child: const Icon(Icons.menu),
backgroundColor: Colors.red,
smallSize: 8,
);
},
),
onPressed: Scaffold.of(context).openDrawer,
),
Flexible(
@@ -81,6 +97,7 @@ class _DocumentSearchBarState extends State<DocumentSearchBar> {
context.read(),
Hive.box<LocalUserAppState>(HiveBoxes.localUserAppState)
.get(context.read<LocalUserAccount>().id)!,
context.read(),
),
child: const DocumentSearchPage(),
);
@@ -95,10 +112,7 @@ class _DocumentSearchBarState extends State<DocumentSearchBar> {
onPressed: () {
showDialog(
context: context,
builder: (_) => Provider.value(
value: context.read<LocalUserAccount>(),
child: const ManageAccountsPage(),
),
builder: (_) => const ManageAccountsPage(),
);
},
);

View File

@@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:hive_flutter/adapters.dart';
import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_mobile/core/config/hive/hive_config.dart';
@@ -9,7 +8,6 @@ import 'package:paperless_mobile/features/settings/view/manage_accounts_page.dar
import 'package:paperless_mobile/features/settings/view/widgets/global_settings_builder.dart';
import 'package:paperless_mobile/features/settings/view/widgets/user_avatar.dart';
import 'package:provider/provider.dart';
import 'package:sliver_tools/sliver_tools.dart';
class SliverSearchBar extends StatelessWidget {
final bool floating;
@@ -24,10 +22,8 @@ class SliverSearchBar extends StatelessWidget {
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
if (context.watch<LocalUserAccount>().paperlessUser.canViewDocuments) {
return SliverAppBar(
return const SliverAppBar(
titleSpacing: 8,
automaticallyImplyLeading: false,
title: DocumentSearchBar(),