WIP - more decoupling of blocs

This commit is contained in:
Anton Stubenbord
2022-12-12 01:29:34 +01:00
parent e2a20cea75
commit 2f31d9c053
51 changed files with 1083 additions and 800 deletions

View File

@@ -1,10 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_mobile/core/repository/saved_view_repository.dart';
import 'package:paperless_mobile/features/documents/bloc/documents_cubit.dart';
import 'package:paperless_mobile/features/documents/view/widgets/selection/bulk_delete_confirmation_dialog.dart';
import 'package:paperless_mobile/features/saved_view/cubit/saved_view_cubit.dart';
import 'package:paperless_mobile/features/saved_view/view/saved_view_selection_widget.dart';
import 'package:paperless_mobile/generated/l10n.dart';
import 'package:paperless_mobile/util.dart';
@@ -35,7 +33,7 @@ class _DocumentsPageAppBarState extends State<DocumentsPageAppBar> {
snap: true,
floating: true,
pinned: true,
flexibleSpace: _buildFlexibleArea(false),
flexibleSpace: _buildFlexibleArea(false, documentsState.filter),
leading: IconButton(
icon: const Icon(Icons.close),
onPressed: () =>
@@ -56,13 +54,12 @@ class _DocumentsPageAppBarState extends State<DocumentsPageAppBar> {
snap: true,
floating: true,
pinned: true,
flexibleSpace: _buildFlexibleArea(true),
title: BlocBuilder<DocumentsCubit, DocumentsState>(
builder: (context, state) {
return Text(
'${S.of(context).documentsPageTitle} (${_formatDocumentCount(state.count)})',
);
},
flexibleSpace: _buildFlexibleArea(
true,
documentsState.filter,
),
title: Text(
'${S.of(context).documentsPageTitle} (${_formatDocumentCount(documentsState.count)})',
),
actions: [
...widget.actions,
@@ -73,14 +70,18 @@ class _DocumentsPageAppBarState extends State<DocumentsPageAppBar> {
);
}
Widget _buildFlexibleArea(bool enabled) {
Widget _buildFlexibleArea(bool enabled, DocumentFilter filter) {
return FlexibleSpaceBar(
background: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
SavedViewSelectionWidget(height: 48, enabled: enabled),
SavedViewSelectionWidget(
height: 48,
enabled: enabled,
currentFilter: filter,
),
],
),
),