mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-06 05:15:51 -06:00
WIP - Redesigned login flow
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user