| 'use client' | |
| import React, { createContext, useContext, useState } from 'react' | |
| type ExternalApiPanelContextType = { | |
| showExternalApiPanel: boolean | |
| setShowExternalApiPanel: (show: boolean) => void | |
| } | |
| const ExternalApiPanelContext = createContext<ExternalApiPanelContextType | undefined>(undefined) | |
| export const ExternalApiPanelProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => { | |
| const [showExternalApiPanel, setShowExternalApiPanel] = useState(false) | |
| return ( | |
| <ExternalApiPanelContext.Provider value={{ showExternalApiPanel, setShowExternalApiPanel }}> | |
| {children} | |
| </ExternalApiPanelContext.Provider> | |
| ) | |
| } | |
| export const useExternalApiPanel = () => { | |
| const context = useContext(ExternalApiPanelContext) | |
| if (context === undefined) | |
| throw new Error('useExternalApiPanel must be used within an ExternalApiPanelProvider') | |
| return context | |
| } | |