MyGiftCard.js 3.54 KB
import Image from "next/image";
import React, { Fragment, useEffect } from "react";
import { Button } from "react-bootstrap";
import { cleanImage, renderImage } from "../../services/imageHandling";
import { useDispatch, useSelector } from "react-redux";
import { getGiftCard } from "../../redux/actions/giftCardAction";
import { Tag } from "antd";

const MyGiftCard = () => {
  const dispatch = useDispatch();
  const { giftCard } = useSelector(state => state.giftCard);
  const { endUser } = useSelector(state => state.endUser);
  useEffect(() => {
    if (endUser) {
      dispatch(getGiftCard(endUser.id));
    }
  }, [endUser]);

  console.log("endUser", endUser);
  console.log("giftCard", giftCard);
  const getStatus = (status) => {
    let text;
    let color;
    switch (status) {
      case 'new':
        text = 'PENDING';
        color = 'warning';
        break;
      case 'fulfilled':
        text = 'APPROVED';
        color = 'success';
        break;
      case 'rejected':
        text = 'REJECTED';
        color = 'error';
        break;
      default:
        break;
    }
    return <Tag color={color}>{text.toUpperCase()}</Tag>;
  }
  return (
    <Fragment>
      <div className="container">
        <div className="row">
          <div className="col-12 col-lg-12 form-container content-wraaper">
            <h2 className="px-2 px-lg-0">My Gift Card</h2>
            <div className="row">
              {giftCard?.length > 0 ?
                <>
                  {giftCard.map((data, index) => (
                    <div className="col-12 col-lg-4 col-md-6 px-4 px-lg-3" key={`1${index}`}>
                      <div className="card-booking">
                        <div className="card-booking-img bgGrey">
                          <span className="image-container">
                            <Image src="/images/zango-logo.svg" layout="fill" className="image" />
                          </span>
                        </div>
                        <div className="card-booking-content details-wrapper">
                          <p className="details">Details</p>
                          <div className="d-flex flex-column flex-md-row flex-sm-row flex-lg-row align-items-start justify-content-between">
                            <div className="details-div">
                              <p>Senders Email Id</p>
                              <p>{data.attributes.senderEmail}</p>
                            </div>
                            <div className="details-div">
                              <p>Receivers Email Id</p>
                              <p>{data.attributes.receiverEmail}</p>
                            </div>
                          </div>
                          <div className="details-div d-flex align-items-end justify-content-between">
                            <div>
                              <p>Gift Amount</p>
                              <p className="m-0">${data.attributes.amount}</p>
                            </div>

                            {data.attributes.status !== null &&
                              <div>
                                {getStatus(data?.attributes?.status)}
                              </div>
                            }
                          </div>
                        </div>
                      </div>
                    </div>
                  ))}</>
                :
                <>
                  <p className="mb-5">No Item Found</p>
                </>}
            </div>
          </div>
        </div>
      </div>
    </Fragment>
  );
};

export default MyGiftCard;