/* eslint-disable @next/next/no-img-element */ import Layout from "@/components/High/Layout"; import PayPalPayment from "@/components/PayPalPayment"; import useGroups from "@/hooks/useGroups"; import usePackages from "@/hooks/usePackages"; import useUsers from "@/hooks/useUsers"; import {User} from "@/interfaces/user"; import clsx from "clsx"; import {capitalize} from "lodash"; import {useState} from "react"; import getSymbolFromCurrency from "currency-symbol-map"; import useInvites from "@/hooks/useInvites"; import {BsArrowRepeat} from "react-icons/bs"; import InviteCard from "@/components/Medium/InviteCard"; import {useRouter} from "next/router"; import {PayPalScriptProvider} from "@paypal/react-paypal-js"; import { usePaypalTracking } from "@/hooks/usePaypalTracking"; interface Props { user: User; hasExpired?: boolean; clientID: string; reload: () => void; } export default function PaymentDue({user, hasExpired = false, clientID, reload}: Props) { const [isLoading, setIsLoading] = useState(false); const router = useRouter(); const {packages} = usePackages(); const {users} = useUsers(); const {groups} = useGroups(); const {invites, isLoading: isInvitesLoading, reload: reloadInvites} = useInvites({to: user?.id}); const trackingId = usePaypalTracking(); const isIndividual = () => { if (user?.type === "developer") return true; if (user?.type !== "student") return false; const userGroups = groups.filter((g) => g.participants.includes(user?.id)); if (userGroups.length === 0) return true; const userGroupsAdminTypes = userGroups.map((g) => users?.find((u) => u.id === g.admin)?.type).filter((t) => !!t); return userGroupsAdminTypes.every((t) => t !== "corporate"); }; return ( <> {isLoading && (
EnCoach - {p.duration}{" "}
{capitalize(
p.duration === 1 ? p.duration_unit.slice(0, p.duration_unit.length - 1) : p.duration_unit,
)}
EnCoach - {user.corporateInformation?.monthlyDuration} Months