import React, { createContext, useContext, useState, ReactNode } from "react"; export enum ActivePopover { None = "None", Limit = "Limit", Scope = "Scope", ShowFooter = "ShowFooter", } interface UpgradePopoverContextType { activePopover: ActivePopover; setActivePopover: (popover: ActivePopover) => void; } const UpgradePopoverContext = createContext( null ); export const UpgradePopoverProvider: React.FC<{ children: ReactNode }> = ({ children, }) => { const [activePopover, setActivePopover] = useState( ActivePopover.None ); return ( {children} ); }; export const useUpgradePopover = () => { const context = useContext(UpgradePopoverContext); if (!context) { throw new Error( "use UpgradePopover must be used within an UpgradePopoverProvider" ); } return context; };