@@ -90,21 +90,35 @@ class ScanDetailPage extends StatelessWidget with FailureMessageHandler {
90
90
: () {
91
91
showDialog <dynamic >(
92
92
context: context,
93
- builder: (_) => ConfirmationDialog (
94
- title: 'Konfirmasi Setuju' ,
95
- description:
96
- 'Apakah anda menyetujui tiket ini?' ,
97
- onDismiss: () {
98
- Navigator .pop (context);
99
- },
100
- onConfirm: () {
101
- context.read <ScanDetailBloc >().add (
102
- const ScanDetailEvent
103
- .approveButtonPressed (),
104
- );
105
- },
106
- confirmText: 'Setuju' ,
107
- dismissText: 'Batal' ,
93
+ builder: (_) => BlocProvider .value (
94
+ value: context.read <ScanDetailBloc >(),
95
+ child: BlocBuilder <ScanDetailBloc ,
96
+ ScanDetailState >(
97
+ builder: (context, state) {
98
+ return ConfirmationDialog (
99
+ title: 'Konfirmasi Setuju' ,
100
+ description:
101
+ 'Apakah anda menyetujui tiket ini?' ,
102
+ onDismiss: () {
103
+ Navigator .pop (context);
104
+ },
105
+ onConfirm: state.isLoading
106
+ ? null
107
+ : () {
108
+ context
109
+ .read <ScanDetailBloc >()
110
+ .add (
111
+ const ScanDetailEvent
112
+ .approveButtonPressed (),
113
+ );
114
+ },
115
+ confirmText: state.isLoading
116
+ ? 'Loading'
117
+ : 'Setuju' ,
118
+ dismissText: 'Batal' ,
119
+ );
120
+ },
121
+ ),
108
122
),
109
123
);
110
124
},
@@ -116,22 +130,36 @@ class ScanDetailPage extends StatelessWidget with FailureMessageHandler {
116
130
: () {
117
131
showDialog <dynamic >(
118
132
context: context,
119
- builder: (_) => ConfirmationDialog (
120
- title: 'Konfirmasi Pembayaran' ,
121
- description:
122
- 'Pastikan anda sudah menerima uang '
123
- 'dari pengunjung' ,
124
- onDismiss: () {
125
- Navigator .pop (context);
126
- },
127
- onConfirm: () {
128
- context.read <ScanDetailBloc >().add (
129
- const ScanDetailEvent
130
- .payNowButtonPressed (),
131
- );
132
- },
133
- confirmText: 'Konfirmasi' ,
134
- dismissText: 'Batal' ,
133
+ builder: (_) => BlocProvider .value (
134
+ value: context.read <ScanDetailBloc >(),
135
+ child: BlocBuilder <ScanDetailBloc ,
136
+ ScanDetailState >(
137
+ builder: (context, state) {
138
+ return ConfirmationDialog (
139
+ title: 'Konfirmasi Pembayaran' ,
140
+ description:
141
+ 'Pastikan anda sudah menerima uang '
142
+ 'dari pengunjung' ,
143
+ onDismiss: () {
144
+ Navigator .pop (context);
145
+ },
146
+ onConfirm: state.isLoading
147
+ ? null
148
+ : () {
149
+ context
150
+ .read <ScanDetailBloc >()
151
+ .add (
152
+ const ScanDetailEvent
153
+ .payNowButtonPressed (),
154
+ );
155
+ },
156
+ confirmText: state.isLoading
157
+ ? 'Loading'
158
+ : 'Konfirmasi' ,
159
+ dismissText: 'Batal' ,
160
+ );
161
+ },
162
+ ),
135
163
),
136
164
);
137
165
},
0 commit comments