Fix destroy bug in list of items.dart

This commit is contained in:
hanie.khodkari
2025-06-03 18:00:50 +03:30
parent bb6dfa354f
commit 860a2fd0df
3 changed files with 57 additions and 23 deletions
+1
View File
@@ -202,6 +202,7 @@ class ItemProvider extends ChangeNotifier {
'Authorization': User.token,
});
print(response.statusCode);
print(response.body);
if (response.statusCode == 200) {
+8
View File
@@ -71,6 +71,14 @@ class MyItemProvider extends ChangeNotifier {
notifyListeners();
}
Future<bool> removeItems(String id) async {
myItems!.removeWhere((item) {
return item.id.toString() == id;
});
notifyListeners();
return true;
}
// void searchHospitalItems(String value) {
// hospitalItems = [];
// searchBoxValue = value;
@@ -537,8 +537,9 @@ class ItemDetailsDataBox extends StatelessWidget {
SizedBox(
height: 20.0,
),
Consumer<ItemProvider>(
builder: (context, itemProvider, child) {
Consumer2<ItemProvider, MyItemProvider>(
builder: (context, itemProvider,
myItemProvider, child) {
return TransferDestroyButton(
deviceBlockSize: _deviceBlockSize,
firstColor: Colors.black,
@@ -552,14 +553,13 @@ class ItemDetailsDataBox extends StatelessWidget {
listen: false)
.removeItems(datas.id)
.then(
(value) {
(value) async {
print("11111");
Navigator.of(context).pop();
Navigator.of(context).pop();
Navigator.pushReplacementNamed(
context,
Routes.myItemsResultScreen,
);
itemProvider.resetLoadingButton();
myItemProvider
.removeItems(datas.id);
Fluttertoast.showToast(
msg: "The item is destroyed.",
toastLength: Toast.LENGTH_SHORT,
@@ -626,26 +626,51 @@ class ItemDetailsDataBox extends StatelessWidget {
SizedBox(
height: 20.0,
),
TransferDestroyButton(
deviceBlockSize: _deviceBlockSize,
firstColor: Colors.black,
secondColor: Colors.black87,
onTap: () {
Provider.of<ItemProvider>(context,
listen: false)
.removeItems(datas.id)
.then(
(value) {
Navigator.of(context).pop();
Navigator
.pushReplacementNamed(
context,
Routes.myItemsResultScreen,
Consumer2<ItemProvider,
MyItemProvider>(
builder: (context, itemProvider,
myItemProvider, child) {
return TransferDestroyButton(
deviceBlockSize:
_deviceBlockSize,
firstColor: Colors.black,
secondColor: Colors.black87,
isLoadingButton: itemProvider
.isloadingButton,
onTap: () async {
itemProvider
.setLoadingButton();
await Provider.of<
ItemProvider>(
context,
listen: false)
.removeItems(datas.id)
.then(
(value) async {
print("22222");
Navigator.of(context)
.pop();
Navigator.of(context)
.pop();
itemProvider
.resetLoadingButton();
myItemProvider
.removeItems(
datas.id);
Fluttertoast.showToast(
msg:
"The item is destroyed.",
toastLength:
Toast.LENGTH_SHORT,
gravity:
ToastGravity.BOTTOM,
);
},
);
},
text: 'Destroy',
);
},
text: 'Destroy',
),
SizedBox(
height: 5.0,