fix bugs and set progress and toast for my items server events

This commit is contained in:
fhkhd
2024-01-28 17:41:17 +03:30
parent fd93bf894f
commit d02cb43a7a
4 changed files with 132 additions and 63 deletions
@@ -11,11 +11,14 @@ import 'package:cssd/widgets/MyItemsScreens/Detail/cancel_transfer_button.dart';
import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_data_box.dart';
import 'package:cssd/widgets/MyItemsScreens/Detail/transfer_destroy_button.dart';
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:provider/provider.dart';
class ItemsTransferScreen extends StatefulWidget {
final bool? isAdmin;
final ItemDetailObject? items;
const ItemsTransferScreen({
super.key,
this.isAdmin,
@@ -85,7 +88,12 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
child: Scaffold(
appBar: AppBar(
titleSpacing: -10,
title: Text('Item Details', style: TextStyle(color: Colors.white,),),
title: Text(
'Item Details',
style: TextStyle(
color: Colors.white,
),
),
backgroundColor: Colors.black,
leading: IconButton(
icon: Icon(
@@ -192,7 +200,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
),
content: SizedBox(
width: _deviceBlockSize,
height: 300,
height: 320,
child: Column(
children: [
Text(
@@ -228,27 +236,45 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
SizedBox(
height: 20.0,
),
TransferDestroyButton(
deviceBlockSize: _deviceBlockSize,
firstColor: kDarkBlue,
secondColor: kDarkBlueSub,
onTap: () {
Provider.of<MyItemProvider>(
context,
listen: false,
).transferItems(
itemData!.id,
Provider.of<UsersProvider>(
context,
listen: false)
.saveUserId!,
Consumer<MyItemProvider>(
builder:
(context, myItemProvider, _) {
return TransferDestroyButton(
deviceBlockSize:
_deviceBlockSize,
firstColor: kDarkBlue,
secondColor: kDarkBlueSub,
onTap: () async {
myItemProvider
.setLoadingButton();
await Provider.of<
MyItemProvider>(
context,
listen: false,
).transferItems(
itemData!.id,
await Provider.of<
UsersProvider>(
context,
listen: false)
.saveUserId!,
);
Navigator.of(context).pop();
Navigator.of(context).pop();
Navigator.of(context).pop();
myItemProvider
.resetLoadingButton();
Fluttertoast.showToast(
msg: "The item is transferred.",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
);
},
text: 'Transfer',
isLoadingButton: myItemProvider
.isloadingButton,
);
Navigator.of(context).pop();
Navigator.of(context)
.popAndPushNamed(Routes
.myItemsResultScreen);
},
text: 'Transfer',
),
SizedBox(
height: 5.0,