file-tree-create-form.tsx 766 B

123456789101112131415161718192021222324252627282930
  1. import { createContext, FC, useContext, useState } from 'react'
  2. const FileTreeCreateFormContext = createContext<
  3. { valid: boolean; setValid: (value: boolean) => void } | undefined
  4. >(undefined)
  5. export const useFileTreeCreateForm = () => {
  6. const context = useContext(FileTreeCreateFormContext)
  7. if (!context) {
  8. throw new Error(
  9. 'useFileTreeCreateForm is only available inside FileTreeCreateFormProvider'
  10. )
  11. }
  12. return context
  13. }
  14. const FileTreeCreateFormProvider: FC = ({ children }) => {
  15. // is the form valid
  16. const [valid, setValid] = useState(false)
  17. return (
  18. <FileTreeCreateFormContext.Provider value={{ valid, setValid }}>
  19. {children}
  20. </FileTreeCreateFormContext.Provider>
  21. )
  22. }
  23. export default FileTreeCreateFormProvider