Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
elearning_cubit.dart
Go to the documentation of this file.
1import '/core/common/use_cases/use_cases.dart';
2import '/features/elearning/domain/entities/video_entity.dart';
3import '/features/elearning/domain/usecases/load_videos_usecase.dart.dart';
4import 'package:bloc/bloc.dart';
5import 'package:dartz/dartz.dart';
6import 'package:equatable/equatable.dart';
7
8import '../../../../../core/errors/failures.dart';
9import '../../../../../core/services/service_locator.dart';
10
11part 'elearning_state.dart';
12
13class ElearningCubit extends Cubit<ElearningState> {
15 ElearningCubit() : super(ElearningInitial());
16
17 Future<void> loadVideos() async {
18 emit(LoadingVideosState());
19 final Either<Failure, List<VideoEntity>> result =
20 await _loadVideosUseCase.call(NoParams());
21 result.fold(
23 (vidoes) {
24 vidoes.sort((a, b) => a.id!.compareTo(b.id!));
25 emit(VideosLoadedState(videos: vidoes));
26 },
27 );
28 }
29}
ElearningCubit() Future< void > loadVideos() async
sealed class DocumentState extends Equatable failure
const VideosLoadingFailureState({required this.failure})
final sl