revisi + request v 1.01 -> 1.02
This commit is contained in:
@@ -4,14 +4,17 @@ import 'dart:ui';
|
||||
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:mitra_corporate/model/auth_model.dart';
|
||||
import 'package:mitra_corporate/model/registration_model.dart';
|
||||
import 'package:mitra_corporate/model/test_model.dart';
|
||||
import 'package:mitra_corporate/model/user_mou_model.dart';
|
||||
import 'package:mitra_corporate/provider/auth_provider.dart';
|
||||
import 'package:mitra_corporate/provider/order_provider.dart';
|
||||
import 'package:mitra_corporate/screen/registrasi/registrasi_prvider.dart';
|
||||
import 'package:loading_animation_widget/loading_animation_widget.dart';
|
||||
import 'package:mitra_corporate/screen/registrasi/user_mou_provider.dart';
|
||||
import 'package:scroll_to_index/scroll_to_index.dart';
|
||||
|
||||
import '../../app/constant.dart';
|
||||
@@ -29,6 +32,7 @@ class FormEditPemeriksaan extends HookConsumerWidget {
|
||||
final selectedtest = ref.watch(selectedTestEditProvider);
|
||||
final selectedPacket = ref.watch(selectedPacketEditProvider);
|
||||
final selectedPacketOld = ref.watch(currentPacketProvider);
|
||||
final selectedMou = ref.watch(selectedMouProvider);
|
||||
// inisialisasi baca provider idTipePeriksaStateProvider
|
||||
final selectedTab = ref.watch(idTipePeriksaStateProvider);
|
||||
final AuthModel auth = ref.watch(authProvider) ?? AuthModel();
|
||||
@@ -37,17 +41,31 @@ class FormEditPemeriksaan extends HookConsumerWidget {
|
||||
final searchCtr = useTextEditingController(text: "");
|
||||
final scrollCtr = useScrollController();
|
||||
final ctr = useState(AutoScrollController());
|
||||
final listUserMou = useState<List<UserMouModel>>(List.empty());
|
||||
final userMouCtr = useTextEditingController(text: "");
|
||||
|
||||
//get pemeriksaan from api
|
||||
getPemeriksaan() {
|
||||
getPemeriksaan(String mouID) {
|
||||
ref
|
||||
.read(GetFPPProvider.notifier)
|
||||
.getData(mouID: auth.mUserMMouID ?? "0", token: auth.token ?? "0");
|
||||
.getData(mouID: mouID, token: auth.token ?? "0");
|
||||
}
|
||||
|
||||
//get pemeriksaan from api
|
||||
getUserMou() {
|
||||
ref
|
||||
.read(GetUserMouProvider.notifier)
|
||||
.getData(userID: auth.mUserID ?? "0", token: auth.token ?? "0");
|
||||
}
|
||||
|
||||
useEffect(() {
|
||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
||||
getPemeriksaan();
|
||||
// getPemeriksaan();
|
||||
getUserMou();
|
||||
if (selectedMou.userMouID != "0" && selectedMou.userMouID != null) {
|
||||
getPemeriksaan(selectedMou.userMouMouID ?? "0");
|
||||
userMouCtr.text = selectedMou.userMouName ?? "";
|
||||
}
|
||||
});
|
||||
return () {};
|
||||
}, []);
|
||||
@@ -87,6 +105,29 @@ class FormEditPemeriksaan extends HookConsumerWidget {
|
||||
},
|
||||
);
|
||||
|
||||
ref.listen(
|
||||
GetUserMouProvider,
|
||||
(pref, next) {
|
||||
if (next is GetUserMouStateInit) {
|
||||
testLoading.value = true;
|
||||
} else if (next is GetUserMouStateLoading) {
|
||||
testLoading.value = true;
|
||||
} else if (next is GetUserMouStateError) {
|
||||
testLoading.value = false;
|
||||
print(next.message);
|
||||
SanckbarWidget(context, next.message, snackbarType.error);
|
||||
Constant.autoLogout(context: context, msg: next.message);
|
||||
} else if (next is GetUserMouStateDone) {
|
||||
listUserMou.value = next.model;
|
||||
// ref.read(tempTestListProvider.notifier).state = next.model;
|
||||
print(listUserMou.value);
|
||||
|
||||
// tabController.length
|
||||
|
||||
testLoading.value = false;
|
||||
}
|
||||
},
|
||||
);
|
||||
// searchCtr.addListener(() {
|
||||
// listTest.value.firstWhere((element) => element.items)
|
||||
// },);
|
||||
@@ -96,6 +137,63 @@ class FormEditPemeriksaan extends HookConsumerWidget {
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(
|
||||
width: Constant.getActualX(context: context, x: 500),
|
||||
child: TypeAheadField(
|
||||
builder: (context, controller, focusNode) {
|
||||
return TextField(
|
||||
controller: controller,
|
||||
focusNode: focusNode,
|
||||
enabled: !testLoading.value,
|
||||
// autofocus: true,
|
||||
decoration: InputDecoration(
|
||||
hintStyle: Constant.body2_400(context: context),
|
||||
labelStyle: Constant.body2_400(context: context),
|
||||
fillColor: Constant.primaryBlue,
|
||||
labelText: 'Pilih Agreement',
|
||||
// isCollapsed: true,
|
||||
hintText: 'Pilih Agreement',
|
||||
border: OutlineInputBorder(
|
||||
borderSide: BorderSide(color: Constant.primaryBlue),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
)));
|
||||
},
|
||||
controller: userMouCtr,
|
||||
suggestionsCallback: (pattern) async {
|
||||
return listUserMou.value
|
||||
.where(
|
||||
(element) => element.userMouName!
|
||||
.toLowerCase()
|
||||
.contains(pattern.toLowerCase()),
|
||||
)
|
||||
.toList();
|
||||
},
|
||||
itemBuilder: (BuildContext context, UserMouModel value) {
|
||||
return ListTile(
|
||||
title: Text(value.userMouName ?? ""),
|
||||
);
|
||||
},
|
||||
onSelected: (UserMouModel value) {
|
||||
print(selectedtest);
|
||||
print(selectedPacket);
|
||||
|
||||
// if (selectedtest.isNotEmpty || selectedPacket.isNotEmpty) {
|
||||
// SanckbarWidget(
|
||||
// context,
|
||||
// "test dan paket yang sudah dipilih telah di reset",
|
||||
// snackbarType.warning);
|
||||
// }
|
||||
ref.read(selectedTestEditProvider.notifier).state = List.empty();
|
||||
ref.read(selectedPacketEditProvider.notifier).state =
|
||||
List.empty();
|
||||
ref.read(selectedMouProvider.notifier).state = value;
|
||||
|
||||
userMouCtr.text = value.userMouName ?? "";
|
||||
getPemeriksaan(value.userMouMouID ?? "0");
|
||||
},
|
||||
),
|
||||
),
|
||||
SizedBox(height: Constant.getActualY(context: context, y: 12)),
|
||||
SizedBox(
|
||||
width: Constant.getActualX(context: context, x: 500),
|
||||
// height: Constant.getActualY(context: context, y: 56),
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:intl/intl.dart';
|
||||
|
||||
import 'package:mitra_corporate/model/registration_model.dart';
|
||||
import 'package:mitra_corporate/model/test_model.dart';
|
||||
import 'package:mitra_corporate/model/user_mou_model.dart';
|
||||
import 'package:mitra_corporate/provider/auth_provider.dart';
|
||||
import 'package:mitra_corporate/provider/order_provider.dart';
|
||||
import 'package:mitra_corporate/provider/registrasi_provider.dart';
|
||||
@@ -31,6 +32,7 @@ class DetailEdit extends HookConsumerWidget {
|
||||
final testListAll = ref.read(tempTestListProvider);
|
||||
final selectedTest = ref.read(selectedTestEditProvider);
|
||||
final dialogAction = ref.watch(dialogOrderActionProvider);
|
||||
final selectedMou = ref.watch(selectedMouProvider);
|
||||
|
||||
final testList = useState<List<Items>>(List.empty());
|
||||
final testScrollCtr = useScrollController();
|
||||
@@ -446,6 +448,7 @@ class DetailEdit extends HookConsumerWidget {
|
||||
}
|
||||
|
||||
editOrder() {
|
||||
tempRegistrationData.userMouID = selectedMou.userMouMouID;
|
||||
print(jsonEncode(tempRegistrationData));
|
||||
// tempRegistrationData.tests!.forEach((element) {
|
||||
// if (element.date == null || element.date!.isEmpty) {
|
||||
@@ -497,6 +500,7 @@ class DetailEdit extends HookConsumerWidget {
|
||||
ref.read(currentPacketProvider.notifier).state =
|
||||
List.empty(growable: true);
|
||||
ref.read(selectedPacketEditProvider.notifier).state = List.empty();
|
||||
ref.read(selectedMouProvider.notifier).state = UserMouModel();
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -507,7 +511,13 @@ class DetailEdit extends HookConsumerWidget {
|
||||
// height: MediaQuery.of(context).size.height,
|
||||
color: Colors.white,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
"Agreement : ${selectedMou.userMouName}",
|
||||
style: Constant.h4_600(context: context),
|
||||
),
|
||||
SizedBox(height: Constant.getActualY(context: context, y: 24)),
|
||||
Row(
|
||||
children: [
|
||||
SizedBox(
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:intl/intl.dart';
|
||||
import 'package:mitra_corporate/model/registration_model.dart';
|
||||
import 'package:mitra_corporate/model/search_order_model.dart';
|
||||
import 'package:mitra_corporate/model/test_model.dart';
|
||||
import 'package:mitra_corporate/model/user_mou_model.dart';
|
||||
import 'package:mitra_corporate/provider/order_provider.dart';
|
||||
import 'package:mitra_corporate/screen/order/cancel_order_provider.dart';
|
||||
import 'package:mitra_corporate/screen/order/dialog_cancel_order.dart';
|
||||
@@ -872,6 +873,7 @@ class OrderScreen extends HookConsumerWidget {
|
||||
pekerjaan: e.value.pekerjaan,
|
||||
));
|
||||
ref.read(EditDataProvider.notifier).state = a;
|
||||
ref.read(selectedMouProvider.notifier).state = e.value.mou ?? UserMouModel();
|
||||
showDialog(context: context, barrierDismissible: false, builder: ((context) => DialogEdit())).then((value) => refresh());
|
||||
},
|
||||
icon: Icon(
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:jiffy/jiffy.dart';
|
||||
|
||||
import 'package:mitra_corporate/model/registration_model.dart';
|
||||
import 'package:mitra_corporate/model/test_model.dart';
|
||||
import 'package:mitra_corporate/model/user_mou_model.dart';
|
||||
import 'package:mitra_corporate/provider/auth_provider.dart';
|
||||
import 'package:mitra_corporate/provider/registrasi_provider.dart';
|
||||
import 'package:mitra_corporate/screen/registrasi/get_specimen_provider.dart';
|
||||
@@ -27,6 +28,7 @@ class DetailOrder extends HookConsumerWidget {
|
||||
final tempRegistrationData = ref.watch(registrationDataProvider);
|
||||
final testListAll = ref.read(tempTestListProvider);
|
||||
final selectedTest = ref.read(selectedTestProvider);
|
||||
final selectedMou = ref.read(selectedMouProvider);
|
||||
final dialogAction = ref.watch(dialogOrderActionProvider);
|
||||
|
||||
final testList = useState<List<Items>>(List.empty());
|
||||
@@ -423,6 +425,7 @@ class DetailOrder extends HookConsumerWidget {
|
||||
}
|
||||
|
||||
addOrder() {
|
||||
tempRegistrationData.userMouID = selectedMou.userMouMouID;
|
||||
print(jsonEncode(tempRegistrationData));
|
||||
for (var element in tempRegistrationData.tests!) {
|
||||
if (element.date == null || element.date!.isEmpty) {
|
||||
@@ -471,6 +474,7 @@ class DetailOrder extends HookConsumerWidget {
|
||||
|
||||
ref.read(registrasiProvider.state).update((state) => 3);
|
||||
print(jsonEncode(tempRegistrationData));
|
||||
ref.read(selectedMouProvider.notifier).state = UserMouModel();
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -481,7 +485,13 @@ class DetailOrder extends HookConsumerWidget {
|
||||
// height: MediaQuery.of(context).size.height,
|
||||
color: Colors.white,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
"Agreement : ${selectedMou.userMouName}",
|
||||
style: Constant.h4_600(context: context),
|
||||
),
|
||||
SizedBox(height: Constant.getActualY(context: context, y: 24)),
|
||||
Row(
|
||||
children: [
|
||||
SizedBox(
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:mitra_corporate/model/auth_model.dart';
|
||||
import 'package:mitra_corporate/model/registration_model.dart';
|
||||
import 'package:mitra_corporate/model/test_model.dart';
|
||||
import 'package:mitra_corporate/model/user_mou_model.dart';
|
||||
import 'package:mitra_corporate/provider/auth_provider.dart';
|
||||
import 'package:mitra_corporate/screen/registrasi/registrasi_prvider.dart';
|
||||
import 'package:loading_animation_widget/loading_animation_widget.dart';
|
||||
import 'package:mitra_corporate/screen/registrasi/user_mou_provider.dart';
|
||||
import 'package:scroll_to_index/scroll_to_index.dart';
|
||||
|
||||
import '../../app/constant.dart';
|
||||
@@ -48,25 +52,40 @@ class FormPemeriksaan extends HookConsumerWidget {
|
||||
final tempRegistrationData = ref.watch(registrationDataProvider);
|
||||
final selectedtest = ref.watch(selectedTestProvider);
|
||||
final selectedPacket = ref.watch(selectedPacketProvider);
|
||||
final selectedMou = ref.watch(selectedMouProvider);
|
||||
// inisialisasi baca provider idTipePeriksaStateProvider
|
||||
final selectedTab = ref.watch(idTipePeriksaStateProvider);
|
||||
final AuthModel auth = ref.watch(authProvider) ?? AuthModel();
|
||||
final listTest = useState<List<TestModel>>(List.empty());
|
||||
final listUserMou = useState<List<UserMouModel>>(List.empty());
|
||||
|
||||
final userMouCtr = useTextEditingController(text: "");
|
||||
final testLoading = useState(false);
|
||||
final searchCtr = useTextEditingController(text: "");
|
||||
final scrollCtr = useScrollController();
|
||||
final ctr = useState(AutoScrollController());
|
||||
|
||||
//get pemeriksaan from api
|
||||
getPemeriksaan() {
|
||||
getPemeriksaan(String mouID) {
|
||||
ref
|
||||
.read(GetFPPProvider.notifier)
|
||||
.getData(mouID: auth.mUserMMouID ?? "0", token: auth.token ?? "0");
|
||||
.getData(mouID: mouID, token: auth.token ?? "0");
|
||||
}
|
||||
|
||||
//get pemeriksaan from api
|
||||
getUserMou() {
|
||||
ref
|
||||
.read(GetUserMouProvider.notifier)
|
||||
.getData(userID: auth.mUserID ?? "0", token: auth.token ?? "0");
|
||||
}
|
||||
|
||||
useEffect(() {
|
||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
||||
getPemeriksaan();
|
||||
getUserMou();
|
||||
if (selectedMou.userMouID != "0" && selectedMou.userMouID != null) {
|
||||
getPemeriksaan(selectedMou.userMouMouID ?? "0");
|
||||
userMouCtr.text = selectedMou.userMouName ?? "";
|
||||
}
|
||||
});
|
||||
return () {};
|
||||
}, []);
|
||||
@@ -117,6 +136,29 @@ class FormPemeriksaan extends HookConsumerWidget {
|
||||
}
|
||||
},
|
||||
);
|
||||
ref.listen(
|
||||
GetUserMouProvider,
|
||||
(pref, next) {
|
||||
if (next is GetUserMouStateInit) {
|
||||
testLoading.value = true;
|
||||
} else if (next is GetUserMouStateLoading) {
|
||||
testLoading.value = true;
|
||||
} else if (next is GetUserMouStateError) {
|
||||
testLoading.value = false;
|
||||
print(next.message);
|
||||
SanckbarWidget(context, next.message, snackbarType.error);
|
||||
Constant.autoLogout(context: context, msg: next.message);
|
||||
} else if (next is GetUserMouStateDone) {
|
||||
listUserMou.value = next.model;
|
||||
// ref.read(tempTestListProvider.notifier).state = next.model;
|
||||
print(listUserMou.value);
|
||||
|
||||
// tabController.length
|
||||
|
||||
testLoading.value = false;
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
// searchCtr.addListener(() {
|
||||
// listTest.value.firstWhere((element) => element.items)
|
||||
@@ -127,6 +169,88 @@ class FormPemeriksaan extends HookConsumerWidget {
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(
|
||||
width: Constant.getActualX(context: context, x: 500),
|
||||
// height: Constant.getActualY(context: context, y: 56),
|
||||
|
||||
// child: Autocomplete<UserMouModel>(
|
||||
// optionsViewBuilder: (context, onSelected, options) {
|
||||
// return ListView.builder(
|
||||
// itemCount: options.length,
|
||||
// itemBuilder: (context, index) {
|
||||
// return Text(options.elementAt(index).userMouName ?? "");
|
||||
// },
|
||||
// );
|
||||
// },
|
||||
// optionsBuilder: (TextEditingValue textEditingValue) {
|
||||
// if (textEditingValue.text == '') {
|
||||
// return const Iterable<UserMouModel>.empty();
|
||||
// }
|
||||
// return listUserMou.value.where((UserMouModel option) {
|
||||
// return option.userMouName!
|
||||
// .toLowerCase()
|
||||
// .contains(textEditingValue.text.toLowerCase());
|
||||
// });
|
||||
// },
|
||||
// displayStringForOption: (option) => option.userMouName ?? "",
|
||||
// onSelected: (UserMouModel option) {
|
||||
// selectedUserMou.value = option;
|
||||
// },
|
||||
// ),
|
||||
child: TypeAheadField(
|
||||
builder: (context, controller, focusNode) {
|
||||
return TextField(
|
||||
controller: controller,
|
||||
focusNode: focusNode,
|
||||
enabled: !testLoading.value,
|
||||
// autofocus: true,
|
||||
decoration: InputDecoration(
|
||||
hintStyle: Constant.body2_400(context: context),
|
||||
labelStyle: Constant.body2_400(context: context),
|
||||
fillColor: Constant.primaryBlue,
|
||||
labelText: 'Pilih Agreement',
|
||||
// isCollapsed: true,
|
||||
hintText: 'Pilih Agreement',
|
||||
border: OutlineInputBorder(
|
||||
borderSide: BorderSide(color: Constant.primaryBlue),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
)));
|
||||
},
|
||||
controller: userMouCtr,
|
||||
suggestionsCallback: (pattern) async {
|
||||
return listUserMou.value
|
||||
.where(
|
||||
(element) => element.userMouName!
|
||||
.toLowerCase()
|
||||
.contains(pattern.toLowerCase()),
|
||||
)
|
||||
.toList();
|
||||
},
|
||||
itemBuilder: (BuildContext context, UserMouModel value) {
|
||||
return ListTile(
|
||||
title: Text(value.userMouName ?? ""),
|
||||
);
|
||||
},
|
||||
onSelected: (UserMouModel value) {
|
||||
print(selectedtest);
|
||||
print(selectedPacket);
|
||||
|
||||
// if (selectedtest.isNotEmpty || selectedPacket.isNotEmpty) {
|
||||
// SanckbarWidget(
|
||||
// context,
|
||||
// "test dan paket yang sudah dipilih telah di reset",
|
||||
// snackbarType.warning);
|
||||
// }
|
||||
ref.read(selectedTestProvider.notifier).state = List.empty();
|
||||
ref.read(selectedPacketProvider.notifier).state = List.empty();
|
||||
ref.read(selectedMouProvider.notifier).state = value;
|
||||
|
||||
userMouCtr.text = value.userMouName ?? "";
|
||||
getPemeriksaan(value.userMouMouID ?? "0");
|
||||
},
|
||||
),
|
||||
),
|
||||
SizedBox(height: Constant.getActualY(context: context, y: 12)),
|
||||
SizedBox(
|
||||
width: Constant.getActualX(context: context, x: 500),
|
||||
// height: Constant.getActualY(context: context, y: 56),
|
||||
|
||||
66
lib/screen/registrasi/user_mou_provider.dart
Normal file
66
lib/screen/registrasi/user_mou_provider.dart
Normal file
@@ -0,0 +1,66 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:mitra_corporate/model/test_model.dart';
|
||||
import 'package:mitra_corporate/model/user_mou_model.dart';
|
||||
import 'package:mitra_corporate/repository/registration_repository.dart';
|
||||
|
||||
import '../../provider/dio_provider.dart';
|
||||
import '../../repository/base_repository.dart';
|
||||
|
||||
abstract class GetUserMouState extends Equatable {
|
||||
final DateTime date;
|
||||
const GetUserMouState(this.date);
|
||||
@override
|
||||
List<Object?> get props => [date];
|
||||
}
|
||||
|
||||
class GetUserMouStateInit extends GetUserMouState {
|
||||
GetUserMouStateInit() : super(DateTime.now());
|
||||
}
|
||||
|
||||
class GetUserMouStateLoading extends GetUserMouState {
|
||||
GetUserMouStateLoading() : super(DateTime.now());
|
||||
}
|
||||
|
||||
class GetUserMouStateError extends GetUserMouState {
|
||||
final String message;
|
||||
GetUserMouStateError({
|
||||
required this.message,
|
||||
}) : super(DateTime.now());
|
||||
}
|
||||
|
||||
class GetUserMouStateDone extends GetUserMouState {
|
||||
final List<UserMouModel> model;
|
||||
GetUserMouStateDone({
|
||||
required this.model,
|
||||
}) : super(DateTime.now());
|
||||
}
|
||||
|
||||
//notifier
|
||||
class GetUserMouNotifier extends StateNotifier<GetUserMouState> {
|
||||
final Ref ref;
|
||||
GetUserMouNotifier({
|
||||
required this.ref,
|
||||
}) : super(GetUserMouStateInit());
|
||||
|
||||
void getData({required String userID, required String token}) async {
|
||||
try {
|
||||
state = GetUserMouStateLoading();
|
||||
final dio = ref.read(dioProvider);
|
||||
final resp = await RegistrationRepository(dio: dio)
|
||||
.getUserMou(userID: userID, token: token);
|
||||
state = GetUserMouStateDone(model: resp);
|
||||
} catch (e) {
|
||||
if (e is BaseRepositoryException) {
|
||||
state = GetUserMouStateError(message: e.message.toString());
|
||||
} else {
|
||||
state = GetUserMouStateError(message: e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//provider
|
||||
final GetUserMouProvider =
|
||||
StateNotifierProvider<GetUserMouNotifier, GetUserMouState>(
|
||||
(ref) => GetUserMouNotifier(ref: ref));
|
||||
Reference in New Issue
Block a user