Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
elearning_screen.dart
Go to the documentation of this file.
1import '/core/ui/screens/views/faild_to_fetch_data_view.dart';
2import '/core/ui/widgets/custom_scaffold.dart';
3import '/features/elearning/presentation/logic/cubit/elearning_cubit.dart';
4import '/features/elearning/presentation/screens/news_updates_screen/views/videos_loaded_view.dart';
5import 'package:flutter/material.dart';
6import 'package:flutter_bloc/flutter_bloc.dart';
7
8import '../../../../authentication/presentation/logic/authentication_bloc/authentication_bloc.dart';
9
11 const ElearningScreen({super.key});
12
13 @override
14 State<ElearningScreen> createState() => _ElearningScreenState();
15}
16
17class _ElearningScreenState extends State<ElearningScreen> {
19 final authenticationState = context.read<AuthenticationBloc>().state;
20 if (authenticationState is AuthenticatedState) {
21 int? uid = authenticationState.session.uid;
22 if (uid != null) {
23 context.read<ElearningCubit>().loadVideos();
24 }
25 }
26 }
27
28 @override
29 void initState() {
31 super.initState();
32 }
33
34 @override
35 Widget build(BuildContext context) {
36 return BlocBuilder<ElearningCubit, ElearningState>(
37 builder: (context, state) {
38 return CustomScaffold(
39 title: 'NEWSCAST',
40 isLoading: state is LoadingVideosState,
41 isLeadingVisible: false,
42 body: SafeArea(child: _adaptViewToState(state)),
43 );
44 },
45 );
46 }
47
49 if (state is VideosLoadedState) {
50 return VideosLoadedView(videos: state.videos);
51 } else if (state is VideosLoadingFailureState) {
52 return FailedToFetchDataView(
54 );
55 } else {
56 return const SizedBox();
57 }
58 }
59}
final List< VideoEntity > videos
const ElearningScreen({super.key})
override State< ElearningScreen > createState()
final Widget child
override void initState()
_adaptViewToState(DashboardState state)
class ElearningScreen extends StatefulWidget _triggerEnvironmentalDashboardLoaderEvent()
const ElearningScreen({super.key})
const VideosLoadingFailureState({required this.failure})
override Widget build(BuildContext context)
final int uid
final String title