import 'dart:async'; import 'package:bloc/bloc.dart'; import 'package:paperless_api/paperless_api.dart'; import 'package:paperless_mobile/core/repository/label_repository.dart'; import 'package:paperless_mobile/features/edit_label/cubit/edit_label_state.dart'; class EditLabelCubit extends Cubit> { final LabelRepository _repository; StreamSubscription>? _subscription; EditLabelCubit(LabelRepository repository) : _repository = repository, super(const EditLabelInitial()) { _subscription = _repository.labels .listen((labels) => emit(EditLabelState(labels: labels))); } Future create(T label) => _repository.create(label); Future update(T label) => _repository.update(label); Future delete(T label) => _repository.delete(label); @override Future close() { _subscription?.cancel(); return super.close(); } }