Files
elcaribe/news-app/lib/cubits/subCategoryCubit.dart

41 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:news/data/models/CategoryModel.dart';
import 'package:news/data/repositories/SubCategory/subCatRepository.dart';
abstract class SubCategoryState {}
class SubCategoryInitial extends SubCategoryState {}
class SubCategoryFetchInProgress extends SubCategoryState {}
class SubCategoryFetchSuccess extends SubCategoryState {
final List<SubCategoryModel> subCategory;
SubCategoryFetchSuccess({required this.subCategory});
}
class SubCategoryFetchFailure extends SubCategoryState {
final String errorMessage;
SubCategoryFetchFailure(this.errorMessage);
}
class SubCategoryCubit extends Cubit<SubCategoryState> {
final SubCategoryRepository _subCategoryRepository;
SubCategoryCubit(this._subCategoryRepository) : super(SubCategoryInitial());
void getSubCategory({required BuildContext context, required String catId, required String langId}) async {
try {
emit(SubCategoryFetchInProgress());
final result = await _subCategoryRepository.getSubCategory(context: context, catId: catId, langId: langId);
emit(SubCategoryFetchSuccess(subCategory: result['SubCategory']));
} catch (e) {
emit(SubCategoryFetchFailure(e.toString()));
}
}
}