my orders
unknown
plain_text
4 years ago
3.0 kB
7
Indexable
import axios from "axios";
import React, { useEffect, useState } from "react";
import useAuth from "../../hooks/useAuth";
const MyOrders = () => {
const { user } = useAuth();
const [orders, setOrders] = useState([]);
const email = user.email;
// useEffect(() => {
// fetch(`http://localhost:5000/myOrders/${user?.email}`)
// .then((res) => res.json())
// .then((data) => setOrders(data));
// }, [user.email]);
useEffect(() => {
axios
.get(`http://localhost:5000/myOrders/${email}`)
.then((res) => setOrders(res.data));
}, []);
const handleDelete = (id) => {
const proceed = window.confirm("Are you sure, you want to delete ?");
if (proceed) {
axios.delete(`http://localhost:5000/deleteOrder/${id}`).then((res) => {
if (res.data.deletedCount > 0) {
const remaining = orders.filter((service) => service._id !== id);
setOrders(remaining);
}
});
}
};
if (!orders || orders.length === 0) {
return (
<div className="container text-center" style={{ marginBottom: "380px" }}>
<div>
<img
className="img-fluid"
src="https://i.ibb.co/277JQj1/nos-removebg-preview-1.png"
alt=""
/>
</div>
<h2 className="text-danger">No Result Found !</h2>
</div>
);
} else {
return (
<div className="container" style={{ marginBottom: "300px" }}>
<div className="row mt-5">
{orders.map((service) => {
return (
<div className="col-sm-6 my-4 ">
<div className=" d-sm-flex align-items-center shadow-lg h-100 rounded .justify-content-center">
<div className="w-50 d-flex justify-content-center align-items-center">
<img
src={service.img}
className="img-fluid w-75 pt-4 pt-sm-0 "
alt=""
/>
</div>
<div className="card-body">
<p>
Status:{" "}
<span
className={
service.status === "Pending"
? "text-danger"
: "text-success"
}
>
{service.status}
</span>
</p>
<h4 className="card-title">{service.name}</h4>
<button
className="btn btn-danger px-4"
onClick={() => handleDelete(service._id)}
>
Cancel
</button>
</div>
</div>
</div>
);
})}
</div>
</div>
);
}
};
export default MyOrders;
Editor is loading...