// ignore_for_file: prefer_const_literals_to_create_immutables
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:flutter_application_1/Project/Admin/HomeAdmin.dart';
import 'package:flutter_application_1/Project/Admin/inforuserB.dart';
const Color aColor = Color.fromARGB(219, 58, 168, 50);
const Color cColor = Color.fromARGB(246, 255, 255, 246);
const Color bColor = Color.fromARGB(153, 28, 240, 187);
class BorrowAdmin extends StatelessWidget {
final FirebaseAuth _auth = FirebaseAuth.instance;
BorrowAdmin({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
leadingWidth: 80,
automaticallyImplyLeading: false,
backgroundColor: bColor,
title: Row(
children: [
Row(
children: [
IconButton(
onPressed: () {
Navigator.push(context,
MaterialPageRoute(builder: ((context) => const HomeAdmin())));
},
icon: const Icon(Icons.arrow_back)),
const Text('Borrwed Approval page'),
],
),
],
),
),
body: Container(
constraints: const BoxConstraints.expand(),
decoration: const BoxDecoration(
image: DecorationImage(
image: NetworkImage(
"https://i.pinimg.com/originals/77/7b/07/777b07a784b619eb9840734261133cbd.jpg"),
fit: BoxFit.cover),
),
child: Padding(
padding: const EdgeInsets.only(top: 16.0, left: 16, right: 16),
child: StreamBuilder(
stream:
FirebaseFirestore.instance.collection("request").snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return ListView.builder(
scrollDirection: Axis.vertical,
itemCount: snapshot.data!.docs.length,
itemBuilder: (context, index) {
if (snapshot.data!.docs[index]["Status"] == 'Check') {
return Padding(
padding: const EdgeInsets.all(16.0),
child: Container(
decoration: BoxDecoration(
color: cColor,
border: Border.all(color: aColor, width: 1),
borderRadius: BorderRadius.circular(12),
),
child: ListTile(
leading: IconButton(
onPressed: () {
editData(snapshot.data!.docs[index].id);
Navigator.push(
context,
MaterialPageRoute(
builder: ((context) => inB(
ema: snapshot
.data!
.docs[index]
["EmailUserreq"]
.toString(),
an: snapshot.data!
.docs[index]["Name"]
.toString(),
bd: snapshot
.data!
.docs[index]
["BorrowingDay"]
.toString(),
rd: snapshot
.data!
.docs[index]
["ReturnDay"]
.toString(),
))));
// }
},
icon: const Icon(Icons.check)),
// title: Text(snapshot.data!.docs[index]["Asset_Description"],style: TextStyle(fontSize: 13),),
subtitle: Text(
snapshot.data!.docs[index]["Name"] +
'\n' +
'BorrowingDay: ' +
snapshot.data!.docs[index]
['BorrowingDay'] +
'\n' +
'ReturnDay: ' +
snapshot.data!.docs[index]['ReturnDay'] +
'\n' +
'EmailRequest: ' +
snapshot.data!.docs[index]
['EmailUserreq'] +
'\n' +
'DateTime: ' +
snapshot.data!.docs[index]['Timerequest'],
style: const TextStyle(fontSize: 10),
),
trailing: IconButton(
onPressed: () {
editData2(snapshot.data!.docs[index].id);
},
icon: const Icon(Icons.close)),
),
),
);
}
return Column();
},
);
} else if (snapshot.hasError) {
return Text('Error: ${snapshot.error}');
} else {
return const CircularProgressIndicator();
}
},
),
),
));
}
Future<void> editData(String docId) async {
var data = {'Status': 'Accept'};
FirebaseFirestore.instance
.collection('request')
.doc(docId)
.update(data)
.then(
(value) => print('Updating done!'),
onError: (e) => print('Error $e'),
);
}
Future<void> editData2(String docId) async {
var data = {'Status': 'Decine'};
FirebaseFirestore.instance
.collection('request')
.doc(docId)
.update(data)
.then(
(value) => print('Updating done!'),
onError: (e) => print('Error $e'),
);
}
Future<void> deleteData(String docId) async {
FirebaseFirestore.instance.collection('request').doc(docId).delete().then(
(value) => print('Updating done!'),
onError: (e) => print('Error $e'),
);
}
}