89 lines
3.2 KiB
Dart
89 lines
3.2 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
import 'package:queuedisplay/model/error_msg_model.dart';
|
|
import 'package:queuedisplay/provider/all_service_provider.dart';
|
|
|
|
import '../../app/constant.dart';
|
|
|
|
Future<String?> myErrorDialogState(BuildContext context, String header) {
|
|
return showDialog<String>(
|
|
barrierDismissible: false,
|
|
context: context,
|
|
builder: (BuildContext context) =>
|
|
HookConsumer(builder: (context, ref, child) {
|
|
return Dialog(
|
|
child: Padding(
|
|
padding: const EdgeInsets.all(20),
|
|
child: Column(
|
|
mainAxisSize: MainAxisSize.min,
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: <Widget>[
|
|
Text(
|
|
"Error",
|
|
style: Constant.subTitle(context: context),
|
|
),
|
|
const SizedBox(
|
|
height: 10,
|
|
),
|
|
SizedBox(
|
|
width: Constant.getActualX(context: context, x: 700),
|
|
child: const Divider()),
|
|
SizedBox(
|
|
height: Constant.getActualY(context: context, y: 500),
|
|
width: Constant.getActualX(context: context, x: 700),
|
|
child: ListView(
|
|
// children: [Text(jsonEncode(ref.watch(errorListMsgProvider)))],
|
|
children: ref
|
|
.watch(errorListMsgProvider)
|
|
.map((e) => Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
children: [
|
|
Text(
|
|
e.title.toString(),
|
|
style: TextStyle(color: Colors.red),
|
|
),
|
|
Text(e.msg.toString()),
|
|
// Text(jsonEncode(ref.watch(errorListMsgProvider))),
|
|
SizedBox(
|
|
height: Constant.getActualY(
|
|
context: context, y: 20),
|
|
)
|
|
],
|
|
))
|
|
.toList(),
|
|
),
|
|
),
|
|
SizedBox(
|
|
width: Constant.getActualX(context: context, x: 700),
|
|
child: const Divider()),
|
|
const SizedBox(
|
|
height: 10,
|
|
),
|
|
SizedBox(
|
|
width: Constant.getActualX(context: context, x: 700),
|
|
child: Row(
|
|
mainAxisAlignment: MainAxisAlignment.end,
|
|
children: [
|
|
TextButton(
|
|
onPressed: () {
|
|
Navigator.pop(context);
|
|
ref.read(errorListMsgProvider.notifier).state =
|
|
List.empty(growable: true);
|
|
},
|
|
child: const Text('Tutup'),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}),
|
|
);
|
|
}
|