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<Completed> createState() => _CompletedState();
}
class _CompletedState extends State<Completed> {
final FirebaseAuth _auth = FirebaseAuth.instance;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
Expanded(
// Wrap with Expanded
child: StreamBuilder<QuerySnapshot>(
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<String>(
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: <Widget>[
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<void> 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'),
);
}
}