"use client"; import { useContext, useEffect } from "react"; import { SidebarContext } from "./Sidebar"; import React, { forwardRef, type JSX } from "react"; import { PopoverOpenContext } from "components/Popover"; type ButtonProps = Omit; export const ActionButton = ( props: ButtonProps & { id?: string; icon: React.ReactNode; label: React.ReactNode; primary?: boolean; secondary?: boolean; nav?: boolean; className?: string; subtext?: string; }, ) => { let { id, icon, label, primary, secondary, nav, ...buttonProps } = props; let sidebar = useContext(SidebarContext); let inOpenPopover = useContext(PopoverOpenContext); useEffect(() => { if (inOpenPopover) { sidebar.setChildForceOpen(true); return () => { sidebar.setChildForceOpen(false); }; } }, [sidebar, inOpenPopover]); return ( ); };