mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-14 22:12:18 -06:00
WIP - Add system notifications for document upload progress/status
This commit is contained in:
26
lib/features/tasks/cubit/task_status_cubit.dart
Normal file
26
lib/features/tasks/cubit/task_status_cubit.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:bloc/bloc.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:paperless_api/paperless_api.dart';
|
||||
part 'task_status_state.dart';
|
||||
|
||||
class TaskStatusCubit extends Cubit<TaskStatusState> {
|
||||
final PaperlessTasksApi _api;
|
||||
TaskStatusCubit(this._api) : super(const TaskStatusState());
|
||||
|
||||
void startListeningToTask(String taskId) {
|
||||
_api
|
||||
.listenForTaskChanges(taskId)
|
||||
.forEach(
|
||||
(element) => TaskStatusState(
|
||||
isListening: true,
|
||||
isAcknowledged: false,
|
||||
task: element,
|
||||
),
|
||||
)
|
||||
.whenComplete(() => emit(state.copyWith(isListening: false)));
|
||||
}
|
||||
|
||||
void acknowledgeCurrentTask() {
|
||||
emit(state.copyWith(isListening: false, isAcknowledged: true));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user