import React, { useEffect, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { useParams } from "react-router-dom"; import { useSubscription } from "../../hooks/useAuth"; import { formatFigure, frequencyLabel } from "../../utils/appUtils"; import { setSelfTenant } from "../../slices/localVariablesSlice"; import SelectedPlanSkeleton from "./SelectedPlanSkeleton"; import { error } from "pdf-lib"; const SelectPlan = ({ currentStep, setStepStatus, onNext }) => { const { frequency, planName } = useParams(); const [selectedFrequency, setSelectedFrequency] = useState( parseInt(frequency) ); const dispatch = useDispatch(); const client = useSelector( (store) => store.localVariables.selfTenant.details ); const [selectedPlan, setSelectedPlan] = useState(planName); const [currentPlan, setCurrentPlan] = useState(null); const [failPayment, setFailPayment] = useState(null); const { data: plans, isError, isLoading, error, refetch, isRefetching, } = useSubscription(selectedFrequency); const handleChange = (e) => setSelectedPlan(e.target.value); useEffect(() => { if (!plans || !selectedPlan) return; const selected = plans.find((p) => p.planName === selectedPlan); if (selected) { setCurrentPlan(selected); dispatch( setSelfTenant({ planId: selected.id, frequency: selectedFrequency }) ); } }, [plans, selectedPlan, dispatch, selectedFrequency]); const handleNextStep = () => { dispatch(setSelfTenant({ frequency: selectedFrequency })); setStepStatus((prev) => ({ ...prev, 2: "success" })); onNext(); }; return (
Select a plan that fits your team’s needs and unlock the features that drive productivity.
{error?.message}
{error?.name} {isRefetching ? ( <> {" "} Retrying... > ) : ( "Try to refetch" )}