UseNewPageInput.tsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import React, { useState, FC } from 'react';
  2. import { ItemNode } from '../Sidebar/PageTree/ItemNode';
  3. import { NewPageCreateButton } from './NewPageCreateButton';
  4. import { NewPageInput } from './NewPageInput';
  5. import { SimpleItemToolProps } from './SimpleItem';
  6. type UseNewPageInputProps = SimpleItemToolProps & {children: ItemNode[], stateHandlers};
  7. export const useNewPageInput = () => {
  8. const [isNewPageInputShown, setNewPageInputShown] = useState(false);
  9. const NewPageCreateButtonWrapper: FC<UseNewPageInputProps> = (props) => {
  10. return (
  11. <NewPageCreateButton
  12. page={props.page}
  13. currentChildren={props.children}
  14. stateHandlers={props.stateHandlers}
  15. setNewPageInputShown={setNewPageInputShown}
  16. />
  17. );
  18. };
  19. const NewPageInputWrapper = (props) => {
  20. return (
  21. <NewPageInput
  22. page={props.page}
  23. isEnableActions={props.isEnableActions}
  24. currentChildren={props.chilren}
  25. stateHandlers={props.stateHandlers}
  26. isNewPageInputShown={isNewPageInputShown}
  27. setNewPageInputShown={setNewPageInputShown}
  28. />
  29. );
  30. };
  31. return {
  32. NewPageInputWrapper,
  33. NewPageCreateButtonWrapper,
  34. };
  35. };