import { useParams, Link, useNavigate } from "react-router-dom"; import { useGetCouponByIdQuery, useToggleCouponStatusMutation, } from "../../features/coupons/couponAPI"; import { ArrowLeft, Percent, Calendar, Activity } from "lucide-react"; import { formatDate } from "../../utils/formatDate"; /* ---------- Status Badge ---------- */ const StatusBadge = ({ isActive }) => ( {isActive ? "ACTIVE" : "INACTIVE"} ); /* ---------- Main Component ---------- */ const CouponDetails = () => { const { id } = useParams(); const navigate = useNavigate(); const { data: coupon, isLoading, isError, } = useGetCouponByIdQuery(id, { skip: !id }); const [toggleCouponStatus, { isLoading: toggling }] = useToggleCouponStatusMutation(); if (isLoading) { return (
{coupon.description}
{coupon.type === "PERCENTAGE" ? `${coupon.value}% OFF` : `₹${coupon.value} OFF`}
{coupon.type === "PERCENTAGE" ? `${coupon.value}%` : `₹${coupon.value}`}
Min Order: ₹{coupon.minOrderAmount}
From: {formatDate(coupon.validFrom)}
Till: {formatDate(coupon.validUntil)}
{coupon.usedCount}/{coupon.maxUses}
Remaining: {coupon.remainingUses}