"use client"; import { useRef, useEffect, useState } from "react"; import FooterBase from "./FooterBase"; import { cls } from "@/lib/utils"; interface FooterColumn { title: string; items: Array<{ label: string; href?: string; onClick?: () => void; }>; } interface FooterBaseRevealProps { logoSrc?: string; logoWidth?: number; logoHeight?: number; columns: FooterColumn[]; copyrightText?: string; onPrivacyClick?: () => void; ariaLabel?: string; className?: string; wrapperClassName?: string; containerClassName?: string; footerClassName?: string; footerContainerClassName?: string; logoClassName?: string; columnsClassName?: string; columnClassName?: string; columnTitleClassName?: string; columnItemClassName?: string; copyrightContainerClassName?: string; copyrightTextClassName?: string; privacyButtonClassName?: string; } const FooterBaseReveal = ({ logoSrc, logoWidth, logoHeight, columns, copyrightText, onPrivacyClick, ariaLabel, className = "", wrapperClassName = "", containerClassName = "", footerClassName, footerContainerClassName, logoClassName, columnsClassName, columnClassName, columnTitleClassName, columnItemClassName, copyrightContainerClassName, copyrightTextClassName, privacyButtonClassName, }: FooterBaseRevealProps) => { const footerRef = useRef(null); const [footerHeight, setFooterHeight] = useState(0); useEffect(() => { const updateHeight = () => { if (footerRef.current) { const height = footerRef.current.offsetHeight; setFooterHeight(height); } }; updateHeight(); const resizeObserver = new ResizeObserver(updateHeight); const currentFooter = footerRef.current; if (currentFooter) { resizeObserver.observe(currentFooter); } return () => { resizeObserver.disconnect(); }; }, []); return (
); }; FooterBaseReveal.displayName = "FooterBaseReveal"; export default FooterBaseReveal;