import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/material.dart'; import 'package:flutter/src/widgets/container.dart'; import 'package:flutter/src/widgets/framework.dart'; import 'package:flutter_application_1/Project/borrow/totalre.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import '../utils/colors.dart'; class Completed extends StatefulWidget { const Completed({super.key}); @override State createState() => _CompletedState(); } class _CompletedState extends State { final FirebaseAuth _auth = FirebaseAuth.instance; @override Widget build(BuildContext context) { return Scaffold( body: Column( children: [ Expanded( // Wrap with Expanded child: StreamBuilder( stream: FirebaseFirestore.instance.collection("request").snapshots(), builder: (context, snapshot) { if (snapshot.hasData) { final docs = snapshot.data!.docs; return ListView.builder( scrollDirection: Axis.vertical, itemCount: docs.length, itemBuilder: (context, index) { final document = docs[index]; String c = _auth.currentUser!.email.toString(); String ch = 'Accept'; if (c == document["EmailUserreq"] && document["Status"] == ch) { return ListTile( leading: const Icon(FontAwesomeIcons.solidCalendarCheck), title: Text(document["Name"]), subtitle: Column( children: [ Row( children: [ const Text('Status: Approve'), ], ), Row( children: [Text(document["Timerequest"])], ) ], ), trailing: TextButton( onPressed: () => showDialog( context: context, builder: (BuildContext context) => AlertDialog( shape: const RoundedRectangleBorder( borderRadius: BorderRadius.all( Radius.circular(10.0))), title: Text( document["Name"], style: Theme.of(context) .textTheme .headlineSmall! .copyWith(fontWeight: FontWeight.bold), ), content: Builder(builder: (context) { return SizedBox( height: 70, width: 70, child: Column( children: [ Row( children: const [ Spacer(), Text( 'Confirm Return Item', style: TextStyle( fontWeight: FontWeight.w900), ), Spacer(), ], ), const SizedBox( height: 10, ), Row( children: [ const Spacer(), const Text('Borrowing Day : '), Text(document["BorrowingDay"]), const Spacer(), ], ), Row( children: [ const Spacer(), const Text('Give back Day : '), Text(document["ReturnDay"]), const Spacer(), ], ), ], ), ); }), actions: [ TextButton( onPressed: () => Navigator.pop(context, 'Cancel'), child: const Text('Cancel'), ), TextButton( onPressed: () { editData(document.id); Navigator.push( context, MaterialPageRoute( builder: ((context) => totalRe( ord1: document["Name"], )), ), ); }, child: const Text('Confirm'), ), ], ), ), style: ElevatedButton.styleFrom( foregroundColor: Colors.white, backgroundColor: kGreenColor, ), child: const Text( 'Return Item', ), ), ); } return const SizedBox.shrink(); }, ); } else if (snapshot.hasError) { return Text('Error: ${snapshot.error}'); } else { return const CircularProgressIndicator(); } }, ), ), ], ), ); } Future editData(String docId) async { var data = {'Status': 'Request'}; FirebaseFirestore.instance .collection('request') .doc(docId) .update(data) .then( (value) => print('Updating done!'), onError: (e) => print('Error $e'), ); } }