WIP - Redesigned login flow

This commit is contained in:
Anton Stubenbord
2023-01-05 01:38:00 +01:00
parent 2445c97d44
commit 738ef99bc5
60 changed files with 1159 additions and 755 deletions

View File

@@ -8,13 +8,14 @@ import 'package:paperless_mobile/features/edit_label/cubit/edit_label_state.dart
class EditLabelCubit<T extends Label> extends Cubit<EditLabelState<T>> {
final LabelRepository<T> _repository;
StreamSubscription<Map<int, T>>? _subscription;
StreamSubscription<Map<int, T>?>? _subscription;
EditLabelCubit(LabelRepository<T> repository)
: _repository = repository,
super(const EditLabelInitial()) {
_subscription = _repository.labels
.listen((labels) => emit(EditLabelState(labels: labels)));
_subscription = repository.values.listen(
(update) => emit(EditLabelState(labels: update ?? {})),
);
}
Future<T> create(T label) => _repository.create(label);

View File

@@ -1,3 +1,4 @@
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:paperless_api/paperless_api.dart';
@@ -5,6 +6,7 @@ import 'package:paperless_mobile/core/repository/label_repository.dart';
import 'package:paperless_mobile/features/edit_label/cubit/edit_label_cubit.dart';
import 'package:paperless_mobile/features/edit_label/view/label_form.dart';
import 'package:paperless_mobile/generated/l10n.dart';
import 'package:paperless_mobile/util.dart';
class EditLabelPage<T extends Label> extends StatelessWidget {
final T label;
@@ -91,7 +93,8 @@ class EditLabelForm<T extends Label> extends StatelessWidget {
},
child: Text(
S.of(context).genericActionDeleteLabel,
style: TextStyle(color: Theme.of(context).errorColor),
style:
TextStyle(color: Theme.of(context).colorScheme.error),
),
),
],
@@ -99,7 +102,13 @@ class EditLabelForm<T extends Label> extends StatelessWidget {
) ??
false;
if (shouldDelete) {
context.read<EditLabelCubit<T>>().delete(label);
try {
context.read<EditLabelCubit<T>>().delete(label);
} on PaperlessServerException catch (error) {
showErrorMessage(context, error);
} catch (error) {
print(error);
}
Navigator.pop(context);
}
} else {

View File

@@ -123,8 +123,6 @@ class _LabelFormState<T extends Label> extends State<LabelForm<T>> {
Navigator.pop(context, createdLabel);
} on PaperlessServerException catch (error, stackTrace) {
showErrorMessage(context, error, stackTrace);
} on DioError catch (error) {
setState(() => _errors = error.error as PaperlessValidationErrors);
}
}
}