import React, { useEffect, useState } from 'react'; import { Radio, Space } from 'antd'; // Make sure to import Space if using Antd import './MemberShipCard.scss'; import { useDispatch } from 'react-redux'; import { ExtractDateFormate, getSession } from '../../Services/Others'; import { getCustomerMembership, GlobalSelfBookingCustomerDtls } from '../../Features/BookingScreen/BookingData/KioskBookingData'; import { useSelector } from 'react-redux'; export default function SubscriptionCard() { const dispatch = useDispatch(); const AppId = getSession('AppId'); const CompId = getSession('CompId'); const BranchId = getSession('BranchId'); const CustDetail = useSelector(GlobalSelfBookingCustomerDtls) const [custMembership, setCustMembership] = useState([]); const [filter, setFilter] = useState('Active'); // Default to Active console.log(custMembership, 'bdsvvsvsbvsdvjd'); useEffect(() => { getMembershipData(); }, []); const getMembershipData = async () => { const Cust = CustDetail?.CustId const data = { CompId, BranchId, AppId, CustId: Cust }; const response = await dispatch(getCustomerMembership(data)).unwrap(); if (response?.data?.statusCode === 1) { const CustBooking = response?.data?.data; setCustMembership(CustBooking[0]?.MembershipDetail || []); } else { setCustMembership([]); } }; // Function to check if plan is expired const isPlanExpired = (member) => { const today = new Date(); const planEndDate = new Date(member.PlanEndDate); return planEndDate < today || member.RemainingDays <= 0; }; // Function to get status class const getStatusClass = (member) => { return isPlanExpired(member) ? 'expired' : member.MembershipStatus?.toLowerCase(); }; // Filter membership data based on selected filter const filteredMembership = custMembership.filter((member) => { if (filter === 'Active') { return !isPlanExpired(member); } else if (filter === 'Expired') { return isPlanExpired(member); } return true; }); return (
{filter === 'Active' ? 'No Active Memberships Found' : 'No Expired Memberships Found' }
Discount
Duration
{member.PlanDuration} days
Remaining
{isPlanExpired(member) ? '0 days left' : `${member.RemainingDays} days left`}
Free Hours
{member.FreeSessionHrs} hrs
Sessions Left
{isPlanExpired(member) ? '0 hrs' : `${member.RemainingSessionHrs} hrs`}