UNPKG

aiwebfinances

Version:

Display pricing that covers country inflation

51 lines (42 loc) 1.4 kB
import React, { useEffect, useState } from "react"; import { fetchInflationData } from "./InflationFetcher"; type InflationCalculatorProps = { value: number; countryCode: string; }; const Aiwebfinance: React.FC<InflationCalculatorProps> = ({ value, countryCode, }) => { const [inflationRate, setInflationRate] = useState<number>(0); const [loading, setLoading] = useState<boolean>(true); const [error, setError] = useState<string | null>(null); const [returnedValue, setReturnedValue] = useState<number>(value); useEffect(() => { const getInflation = async () => { try { const rate = await fetchInflationData(countryCode); setInflationRate(rate); } catch (err) { setError("Unable to fetch inflation data."); } finally { setLoading(false); } }; getInflation(); }, [countryCode]); useEffect(() => { if (inflationRate !== null) { const inflationValue = (value / 100) * inflationRate; const finalValue = value + inflationValue; const parsedValue = parseFloat(finalValue.toFixed(2)); setReturnedValue(parsedValue); } }, [inflationRate, value]); // Recalculate when inflationRate or value changes if (loading) return null; if (error) { console.log(error); } return returnedValue; }; export default Aiwebfinance;