-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathsettings_screen_page.dart
More file actions
53 lines (46 loc) · 1.84 KB
/
settings_screen_page.dart
File metadata and controls
53 lines (46 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import 'package:flutter/material.dart';
import 'package:auto_route/auto_route.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:webtrit_phone/app/notifications/notifications.dart';
import 'package:webtrit_phone/blocs/blocs.dart';
import 'package:webtrit_phone/data/data.dart';
import 'package:webtrit_phone/features/features.dart';
import 'package:webtrit_phone/repositories/repositories.dart';
@RoutePage()
class SettingsScreenPage extends StatelessWidget {
// ignore: use_key_in_widget_constructors
const SettingsScreenPage();
@override
Widget build(BuildContext context) {
final voicemailRepository = context.read<VoicemailRepository>();
final notificationsBloc = context.read<NotificationsBloc>();
final callBloc = context.read<CallBloc>();
final settingsFeature = context.read<FeatureAccess>().settingsConfig;
final widget = SettingsScreen(sections: settingsFeature.sections);
final provider = MultiBlocProvider(
providers: [
BlocProvider(
create: (context) {
return SettingsBloc(
notificationsBloc: context.read<NotificationsBloc>(),
appBloc: context.read<AppBloc>(),
userRepository: context.read<UserRepository>(),
voicemailRepository: context.read<VoicemailRepository>(),
sessionRepository: context.read(),
appPermissions: context.read<AppPermissions>(),
);
},
),
BlocProvider(
create: (context) => VoicemailCubit(
repository: voicemailRepository,
onCallStarted: (number) => callBloc.add(CallControlEvent.started(number: number, video: false)),
onSubmitNotification: (n) => notificationsBloc.add(NotificationsSubmitted(n)),
),
)
],
child: widget,
);
return provider;
}
}