| '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 |
| } |
|
|