-
Notifications
You must be signed in to change notification settings - Fork 10
/
study_close_dialog_confirm.dart
63 lines (60 loc) · 2.26 KB
/
study_close_dialog_confirm.dart
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
54
55
56
57
58
59
60
61
62
63
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:reactive_forms/reactive_forms.dart';
import 'package:studyu_designer_v2/common_views/dialog.dart';
import 'package:studyu_designer_v2/common_views/form_buttons.dart';
import 'package:studyu_designer_v2/common_views/primary_button.dart';
import 'package:studyu_designer_v2/features/study/settings/study_settings_form_controller.dart';
import 'package:studyu_designer_v2/features/study/study_controller.dart';
import 'package:studyu_designer_v2/features/study/study_page_view.dart';
import 'package:studyu_designer_v2/localization/app_translation.dart';
class CloseConfirmationDialog extends StudyPageWidget {
const CloseConfirmationDialog(super.studyId, {super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final controller = ref.watch(studyControllerProvider(studyId).notifier);
final formViewModel = ref.watch(studySettingsFormViewModelProvider(studyId));
return ReactiveForm(
formGroup: formViewModel.form,
child: StandardDialog(
titleText: tr.dialog_study_close_title,
body: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Flexible(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
RichText(
text: TextSpan(
text: tr.dialog_study_close_description,
),
),
],
)),
],
),
],
),
actionButtons: [
const DismissButton(),
ReactiveFormConsumer(builder: (context, form, child) {
return PrimaryButton(
text: tr.dialog_close,
icon: null,
onPressedFuture: () => controller.closeStudy(),
);
}),
],
maxWidth: 650,
minWidth: 610,
minHeight: 200,
),
);
}
}