"use client"; import { FC, useEffect, useRef } from "react"; import { formatYearMonth } from "../lib/format"; import { YearMonth } from "../lib/db-types"; import { formatCurrency } from "../lib/formatStrings"; export interface MonthCardProps { yearMonth: YearMonth, children?: React.ReactNode, monthlyExpense:number, expanded?:boolean, onToggle: (yearMonth:YearMonth) => void } export const MonthCard:FC = ({ yearMonth, children, monthlyExpense, expanded, onToggle }) => { const elRef = useRef(null); // Setting the `month` will activate the accordion belonging to that month // If the accordion is already active, it will collapse it const handleChange = (event:any) => onToggle(yearMonth); useEffect(() => { if(expanded && elRef.current) { // if the element i selected > scroll it into view elRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }, [expanded]); return(
{`${formatYearMonth(yearMonth)}`} { monthlyExpense>0 ?

Total monthly expenditure: { formatCurrency(monthlyExpense) }

: null }
{children}
) };