/* 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"; 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 {packages} = usePackages(); const {users} = useUsers(); const {groups} = useGroups(); 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