mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
32 lines
725 B
TypeScript
32 lines
725 B
TypeScript
'use client';
|
|
import React, { useState } from 'react'
|
|
|
|
|
|
export const EditorProviderContext = React.createContext(null) as any;
|
|
|
|
type EditorProviderProps = {
|
|
children: React.ReactNode
|
|
options: EditorProviderState
|
|
}
|
|
|
|
type EditorProviderState = {
|
|
isEditable: boolean
|
|
}
|
|
|
|
function EditorOptionsProvider({ children, options }: EditorProviderProps) {
|
|
const [editorOptions, setEditorOptions] = useState<EditorProviderState>(options);
|
|
|
|
return (
|
|
<EditorProviderContext.Provider value={editorOptions}>
|
|
{children}
|
|
</EditorProviderContext.Provider>
|
|
)
|
|
}
|
|
|
|
export default EditorOptionsProvider
|
|
|
|
export function useEditorProvider() {
|
|
return React.useContext(EditorProviderContext);
|
|
}
|
|
|
|
|